summaryrefslogtreecommitdiffstats
path: root/c/src/exec/posix/src/Makefile.in
blob: f6898b8be21fc00ba981e2bf9b98ceab289c9b2d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#
#  $Id$
#

@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ..
subdir = src

RTEMS_ROOT = @RTEMS_ROOT@
PROJECT_ROOT = @PROJECT_ROOT@

VPATH = @srcdir@

# following are semi-implemented and untested
# C_PIECES=aio cancel devctl intr utsname

# These are really in the stand but not really functional
BUILD_FOR_NOW_C_PIECES = aio

ENOSYS_C_PIECES = execl execle execlp execv execve execvp fork pthreadatfork \
    wait waitpid

CANCEL_C_PIECES= cancel cancelrun cleanuppop cleanuppush setcancelstate \
    setcanceltype testcancel

CONDITION_VARIABLE_C_PIECES= cond condattrdestroy condattrgetpshared \
    condattrinit condattrsetpshared condbroadcast conddefaultattributes \
    conddestroy condinit condmp condsignal condsignalsupp condtimedwait \
    condwait condwaitsupp

ID_C_PIECES= getegid geteuid getgid getgroups getlogin getpgrp getpid getppid \
    getuid setpgid setsid

KEY_C_PIECES= key keycreate keydelete keygetspecific keyrundestructors \
    keysetspecific

MESSAGE_QUEUE_C_PIECES= mqueue mqueueclose mqueuecreatesupp mqueuedeletesupp \
    mqueuegetattr mqueuenametoid mqueuenotify mqueueopen mqueuereceive \
    mqueuerecvsupp mqueuesend mqueuesendsupp mqueuesetattr \
    mqueuetimedreceive mqueuetimedsend mqueueunlink \

MUTEX_C_PIECES= mutex mutexattrdestroy mutexattrgetprioceiling \
    mutexattrgetprotocol mutexattrgetpshared mutexattrinit \
    mutexattrsetprioceiling mutexattrsetprotocol mutexattrsetpshared \
    mutexdefaultattributes mutexdestroy mutexfromcorestatus \
    mutexgetprioceiling mutexinit mutexlock mutexlocksupp mutexmp \
    mutexsetprioceiling mutextimedlock mutextrylock mutexunlock

PTHREAD_C_PIECES = pthread pthreadsetcputime pthreadgetcputime \
    pthreadgetcpuclockid pthreadonce pthreadequal pthreadself pthreadexit \
    pthreaddetach pthreadjoin pthreadcreate pthreadattrsetdetachstate \
    pthreadattrgetdetachstate pthreadattrgetstackaddr \
    pthreadattrsetstackaddr pthreadattrgetstacksize pthreadattrsetstacksize \
    pthreadattrinit pthreadattrdestroy pthreadsetschedparam \
    pthreadgetschedparam pthreadattrsetschedparam pthreadattrgetschedparam \
    pthreadattrgetschedpolicy pthreadattrsetschedpolicy \
    pthreadattrgetinheritsched pthreadattrsetinheritsched \
    pthreadattrgetscope pthreadattrsetscope

PSIGNAL_C_PIECES = psignal alarm kill killinfo pause \
    psignalclearprocesssignals psignalsetprocesssignals \
    psignalchecksignal psignalclearsignals \
    psignalunblockthread pthreadkill \
    pthreadsigmask sigaction sigaddset sigdelset sigemptyset sigfillset \
    sigismember sigpending sigprocmask sigqueue sigsuspend sigtimedwait \
    sigwait sigwaitinfo signal_2

SEMAPHORE_C_PIECES= semaphore semaphorecreatesupp semaphoredeletesupp \
    semaphoremp semaphorenametoid semaphorewaitsupp semclose semdestroy \
    semgetvalue seminit semopen sempost semtimedwait semtrywait \
    semunlink semwait

TIME_C_PIECES= time posixtimespecsubtract posixtimespectointerval \
    posixintervaltotimespec clockgetcpuclockid clockgetenableattr \
    clockgetres clockgettime clocksetenableattr clocksettime nanosleep \
    sleep

# the timer manager needs to be split further but only after its
# dependence on the Classic API Timer Manager is removed.
TIMER_C_PIECES=ptimer ptimer1

C_PIECES = adasupp $(CANCEL_C_PIECES) $(CONDITION_VARIABLE_C_PIECES) \
    $(ID_C_PIECES) $(KEY_C_PIECES) $(MESSAGE_QUEUE_C_PIECES) \
    $(MUTEX_C_PIECES) $(PTHREAD_C_PIECES) \
    $(PSIGNAL_C_PIECES) sched $(SEMAPHORE_C_PIECES) sysconf \
    $(TIME_C_PIECES) $(TIMER_C_PIECES) types $(ENOSYS_C_PIECES) \
    $(BUILD_FOR_NOW_C_PIECES) utsname

C_FILES = $(C_PIECES:%=%.c)
C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)

SRCS = $(C_FILES) $(CC_FILES)
OBJS = $(C_O_FILES) $(CC_O_FILES)

include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/lib.cfg

INSTALL_CHANGE = @INSTALL_CHANGE@

#
# Add local stuff here using +=
#

DEFINES += -D__RTEMS_INSIDE__
CPPFLAGS +=
CFLAGS += $(CFLAGS_OS_V)

#
# Add your list of files to delete here.  The config files
#  already know how to delete some stuff, so you may want
#  to just run 'make clean' first to see what gets missed.
#  'make clobber' already includes 'make clean'
#

CLEAN_ADDITIONS +=
CLOBBER_ADDITIONS +=

all: ${ARCH} $(SRCS) ${OBJS}

# temporary so we can see how many things are left to implement
not: 
	grep -i NOT_IMPL $(C_FILES) | grep -v MP_NOT_IMPL
	@echo
	@echo
	@echo
	@echo `grep -i NOT_IMPL $(C_FILES) | grep -v MP_NOT_IMPL | wc -l ` places marked not implemented
	@echo `wc -l $(C_FILES) | grep total` lines of C code to test

Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	cd $(top_builddir) \
	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status