blob: 8a5098394de75637e6b0b3914a4fc5d7179d9366 (
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
|
#
# $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 utsname
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 semdestroy \
semgetvalue seminit semopen sempost semtimedwait semtrywait \
semunlink semwait
TIME_C_PIECES= time posixtimespecsubtract posixtimespectointerval \
posixintervaltotimespec clockgetcpuclockid clockgetenableattr \
clockgetres clockgettime clocksetenableattr clocksettime nanosleep
# 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) sleep sysconf \
$(TIME_C_PIECES) $(TIMER_C_PIECES) types $(ENOSYS_C_PIECES) \
$(BUILD_FOR_NOW_C_PIECES)
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
|