make()
{
    COMMON_FILES="\
	dcethread_create.c \
	dcethread_join.c \
	dcethread_detach.c \
	dcethread_interrupt.c \
	dcethread_pause.c \
	dcethread_cond_wait.c \
	dcethread_atfork.c \
	dcethread_kill.c \
	dcethread_exit.c \
	dcethread_read.c \
	dcethread_write.c \
	dcethread_send.c \
	dcethread_sendto.c \
	dcethread_sendmsg.c \
	dcethread_recv.c \
	dcethread_recvfrom.c \
	dcethread_recvmsg.c \
	dcethread_select.c \
	dcethread_checkinterrupt.c"

    TEST_FILES="$COMMON_FILES dcethread-test.c test-exception.c"

    API_FILES="\
        $COMMON_FILES \
	dcethread-private.c \
        dcethread-debug.c \
        dcethread-util.c \
        dcethread-exception.c \
	dcethread_get_expiration.c \
	dcethread_delay.c \
	dcethread_lock_global.c \
	dcethread_unlock_global.c \
	dcethread_ismultithreaded.c \
	dcethread_mutexattr_getkind.c \
	dcethread_mutexattr_setkind.c \
	dcethread_signal_to_interrupt.c \
	dcethread_attr_create.c \
	dcethread_attr_delete.c \
	dcethread_attr_setprio.c \
	dcethread_attr_getprio.c \
	dcethread_attr_setsched.c \
	dcethread_attr_getsched.c \
	dcethread_attr_setinheritsched.c \
	dcethread_attr_getinheritsched.c \
	dcethread_attr_setstacksize.c \
	dcethread_attr_getstacksize.c \
	dcethread_setprio.c \
	dcethread_getprio.c \
	dcethread_mutexattr_create.c \
	dcethread_mutexattr_delete.c \
	dcethread_mutex_init.c \
	dcethread_mutex_destroy.c \
	dcethread_mutex_lock.c \
	dcethread_mutex_unlock.c \
	dcethread_mutex_trylock.c \
	dcethread_condattr_create.c \
	dcethread_condattr_delete.c \
	dcethread_cond_init.c \
	dcethread_cond_destroy.c \
	dcethread_cond_broadcast.c \
	dcethread_cond_signal.c \
	dcethread_cond_timedwait.c \
	dcethread_once.c \
	dcethread_keycreate.c \
	dcethread_setspecific.c \
	dcethread_getspecific.c \
	dcethread_enableasync.c \
	dcethread_enableinterrupt.c \
	dcethread_yield.c \
	dcethread_equal.c \
	dcethread_self.c \
	dcethread_exc_init.c \
	dcethread_exc_setstatus.c \
	dcethread_exc_getstatus.c \
	dcethread_exc_matches.c \
	dcethread_exc_raise.c \
	dcethread_frame_push.c \
	dcethread_frame_pop.c"

    mk_group \
        GROUP="dcethread" \
        SOURCES="$API_FILES" \
        INCLUDEDIRS=". ../include" \
        LIBDEPS="$LIB_PTHREAD $LIB_RT" \
        CPPFLAGS="-DAPI" \
        CFLAGS="-Wall -Werror"

    mk_have_moonunit && mk_moonunit \
        DLO="dcethread_mu" \
        SOURCES="$TEST_FILES" \
        GROUPS="dcethread" \
        INCLUDEDIRS=". ../include" \
        CPPFLAGS="-DTEST" \
        CFLAGS="-Wall -Werror"
}
