tools/llvm: Do not build with symbols
[minix3.git] / lib / libc / sys / Makefile.inc
blob33459b55f5fbee0ae9a7a304db2957baec8e3dc3
1 #       $NetBSD: Makefile.inc,v 1.221 2013/11/09 13:05:59 njoly Exp $
2 #       @(#)Makefile.inc        8.3 (Berkeley) 10/24/94
4 .if defined(__MINIX)
5 .PATH: ${.CURDIR}/sys
6 .else
7 # sys sources
8 .PATH: ${ARCHDIR}/sys ${.CURDIR}/sys
10 # modules with non-default implementations on at least one architecture:
11 SRCS+=  __clone.S __vfork14.S brk.S exect.S fork.S pipe.S \
12         getcontext.S \
13         ptrace.S sbrk.S shmat.S \
14         syscall.S __syscall.S __clone.S cerror.S
16 # other sources shared with the kernel, used in syscalls
17 SRCS+=  cpuset.c
19 _LSRC+= Lint___clone.c Lint___vfork14.c Lint_brk.c Lint_clone.c \
20         Lint_getcontext.c Lint_exect.c Lint_pipe.c Lint_ptrace.c \
21         Lint_sbrk.c Lint___sigaction14.c Lint_syscall.c Lint___syscall.c \
22         LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c
24 .if ${MKLINT} != "no"
25 LSRCS+=         ${_LSRC}
26 DPSRCS+=        ${_LSRC:MLintSys*.c}
27 CLEANFILES+=    ${_LSRC:MLintSys*.c}
28 .endif
30 # glue to offer userland wrappers for some syscalls
31 SRCS+=  posix_fadvise.c posix_madvise.c sched.c sigqueue.c sigtimedwait.c \
32         sigwait.c sigwaitinfo.c statvfs.c swapon.c semctl.c 
34 # glue to provide compatibility between GCC 1.X and 2.X and for compat
35 # with old syscall interfaces.
36 GLUE+= ftruncate.c lseek.c mmap.c pread.c preadv.c pwrite.c \
37         pwritev.c truncate.c ntp_adjtime.c mknodat.c
39 GLUE50+= adjtime.c clock_settime.c settimeofday.c
41 # 'glue' files might .c or .S depending on the architecture
42 .for glue in ${GLUE}
43 . if exists(${glue:.c=.S})
44 # Build the ASM glue file
45 SRCS+=${glue:.c=.S}
46 . else
47 .  if exists(__${glue:.c=.S})
48 SRCS+=__${glue:.c=.S} ${glue}
49 .  else
50 # Build the C glue file
51 SRCS+= ${glue}
52 # and an asm entry for __<syscall>
53 ASM_GLUE+= tmp_${glue:.c=.S}
54 .  endif
55 . endif
56 .endfor
58 # 'glue' files might .c or .S depending on the architecture
59 .for glue in ${GLUE50}
60 . if exists(${glue:.c=.S})
61 # Build the ASM glue file
62 SRCS+=${glue:.c=.S}
63 . else
64 .  if exists(__${glue:.c=}50.S)
65 SRCS+=__${glue:.c=}50.S ${glue}
66 .  else
67 # Build the C glue file
68 SRCS+= ${glue}
69 # and an asm entry for __<syscall>
70 ASM_GLUE+= tmp___${glue:.c=}50.S
71 .  endif
72 . endif
73 .endfor
75 # namespace purity wrappers
76 SRCS+=  _brk.c _fork.c _getcontext.c _pipe.c _sbrk.c
78 # modules with default implementations on all architectures:
79 ASM=    access.S acct.S \
80         bind.S \
81         chdir.S chflags.S chmod.S chown.S chroot.S clock_nanosleep.S \
82                 __clock_getres50.S __clock_gettime50.S \
83         dup.S dup2.S dup3.S \
84         extattrctl.S \
85                 extattr_delete_fd.S extattr_delete_file.S \
86                 extattr_delete_link.S extattr_get_fd.S extattr_get_file.S \
87                 extattr_get_link.S extattr_list_fd.S extattr_list_file.S \
88                 extattr_list_link.S extattr_set_fd.S extattr_set_file.S \
89                 extattr_set_link.S \
90         setxattr.S getxattr.S listxattr.S removexattr.S \
91                 lsetxattr.S lgetxattr.S llistxattr.S lremovexattr.S \
92                 fsetxattr.S fgetxattr.S flistxattr.S fremovexattr.S \
93         faccessat.S fchdir.S fchflags.S fchmod.S fchmodat.S fchown.S \
94                 fchownat.S fchroot.S fexecve.S __fhopen40.S __fhstat50.S \
95                 __fhstatvfs140.S fktrace.S flock.S fpathconf.S __fstat50.S \
96                 fstatvfs1.S fstatat.S  __futimes50.S futimens.S \
97         __getcwd.S __getdents30.S __getfh30.S getvfsstat.S getgroups.S\
98                 __getitimer50.S __getlogin.S getpeername.S getpgid.S getpgrp.S \
99                 getpriority.S getrlimit.S __getrusage50.S getsid.S \
100                 getsockname.S getsockopt.S __gettimeofday50.S \
101         ioctl.S \
102         kqueue.S kqueue1.S ktrace.S \
103                 _ksem_close.S _ksem_destroy.S _ksem_getvalue.S _ksem_init.S \
104                 _ksem_post.S _ksem_timedwait.S _ksem_trywait.S _ksem_unlink.S \
105                 _ksem_wait.S _ksem_open.S \
106         lchflags.S lchmod.S lchown.S lfs_bmapv.S lfs_markv.S lfs_segclean.S \
107                 __lfs_segwait50.S link.S linkat.S listen.S __lstat50.S \
108                 __lutimes50.S _lwp_create.S _lwp_exit.S _lwp_kill.S \
109                 _lwp_self.S _lwp_wait.S _lwp_unpark.S \
110                 _lwp_unpark_all.S _lwp_suspend.S _lwp_continue.S \
111                 _lwp_wakeup.S _lwp_detach.S _lwp_setprivate.S \
112                 _lwp_setname.S _lwp_getname.S _lwp_ctl.S \
113         madvise.S mincore.S minherit.S mkdir.S mkdirat.S mkfifo.S mkfifoat.S \
114                 __mknod50.S mlock.S mlockall.S modctl.S __mount50.S \
115                 mprotect.S __msgctl50.S msgget.S munlock.S munlockall.S \
116                 munmap.S \
117         nfssvc.S __ntp_gettime50.S \
118         openat.S \
119         paccept.S pathconf.S pipe2.S pmc_get_info.S pmc_control.S \
120                 __posix_chown.S __posix_fchown.S __posix_lchown.S \
121                 __posix_rename.S profil.S \
122         __quotactl.S \
123         rasctl.S readlinkat.S reboot.S recvfrom.S recvmmsg.S recvmsg.S rename.S \
124                 renameat.S revoke.S rmdir.S \
125         semconfig.S semget.S semop.S \
126                 sendmmsg.S sendmsg.S sendto.S setegid.S seteuid.S \
127                 setgid.S setgroups.S __setitimer50.S __setlogin.S setpgid.S \
128                 setpriority.S \
129                 setregid.S setreuid.S setrlimit.S setsid.S setsockopt.S \
130                 setuid.S __shmctl50.S shmdt.S shmget.S shutdown.S \
131                 sigqueueinfo.S \
132                 __sigaltstack14.S __sigpending14.S __sigaction_sigtramp.S \
133                 ____sigtimedwait50.S __socket30.S socketpair.S __stat50.S \
134                 statvfs1.S swapctl.S symlink.S symlinkat.S __sysctl.S \
135         timer_create.S timer_delete.S __timer_gettime50.S timer_getoverrun.S \
136                 ____semctl50.S __timer_settime50.S \
137         umask.S undelete.S unlink.S unlinkat.S unmount.S __utimes50.S \
138                 utimensat.S utrace.S uuidgen.S vadvise.S
140 # sa compat syscalls
141 SAASM+= sa_register.S sa_stacks.S sa_enable.S sa_setconcurrency.S sa_yield.S \
142                 sa_preempt.S
144 # modules with potentially non default implementations
145 ASM_MD= _lwp_getprivate.S mremap.S 
147 .for f in ${ASM_MD}
148 . if !exists(${f})
149    ASM+=        tmp_${f}
150 . else
151    SRCS+=       ${f}
152 . endif
153 .endfor
155 WEAKASM= accept.S __aio_suspend50.S close.S connect.S execve.S \
156         fcntl.S fdatasync.S fsync.S fsync_range.S __kevent50.S \
157         kill.S mq_receive.S mq_send.S __mq_timedreceive50.S __mq_timedsend50.S \
158         msgrcv.S msgsnd.S __msync13.S  __nanosleep50.S open.S poll.S \
159         __pollts50.S __pselect50.S read.S readlink.S \
160         readv.S _sched_setparam.S _sched_getparam.S _sched_setaffinity.S \
161         _sched_getaffinity.S sched_yield.S \
162         __select50.S setcontext.S __sigprocmask14.S __sigsuspend14.S sysarch.S \
163         __wait450.S write.S writev.S
165 NOERR=  getegid.S geteuid.S getgid.S getpid.S getppid.S getuid.S \
166         issetugid.S posix_spawn.S sync.S __posix_fadvise50.S
168 PSEUDONOERR=    _exit.S
170 SRCS+=          ${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR} ${ASM_GLUE}
171 CLEANFILES+=    ${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR} ${ASM_GLUE}
173 ASMDEPS=        ${.CURDIR}/sys/Makefile.inc ${ARCHDIR}/SYS.h \
174                 ${DESTDIR}/usr/include/sys/syscall.h
176 _LINTASM=       ${ASM:Nsa_*.S} ${WEAKASM:Nsa_*.S}
178 ${ASM}: ${ASMDEPS}
179         ${_MKTARGET_CREATE}
180         printf '#include "SYS.h"\nRSYSCALL(${.PREFIX:S/tmp_//})\n' >${.TARGET}
182 ${ASM_GLUE}: ${ASMDEPS}
183         ${_MKTARGET_CREATE}
184         printf '#include "SYS.h"\nPSEUDO(${.PREFIX:S/tmp_/__/},${.PREFIX:S/tmp_//})\n' >${.TARGET}
186 ${WEAKASM}: ${ASMDEPS}
187         ${_MKTARGET_CREATE}
188         printf '#include "SYS.h"\nWSYSCALL(${.PREFIX},_sys_${.PREFIX})\nWEAK_ALIAS(_${.PREFIX},_sys_${.PREFIX})\n' >${.TARGET}
190 ${SAASM}: ${ASMDEPS}
191         ${_MKTARGET_CREATE}
192         printf '#include "SYS.h"\n_SYSCALL(${.PREFIX:S/tmp_//},${.PREFIX:S/tmp_//:S/sa_/compat_60_sa_/})\n' >${.TARGET}
194 ${NOERR}: ${ASMDEPS}
195         ${_MKTARGET_CREATE}
196         printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' >${.TARGET}
198 ${PSEUDONOERR}: ${ASMDEPS}
199         ${_MKTARGET_CREATE}
200         printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' >${.TARGET}
201         # add an _Exit alias to _exit
202         printf 'STRONG_ALIAS(${.PREFIX:S/e/E/},${.PREFIX})\n' >>${.TARGET}
204 LintSysNormal.c: ${LIBCDIR}/sys/makelintstub \
205     ${DESTDIR}/usr/include/sys/syscall.h ${_LINTASM}
206         ${_MKTARGET_CREATE}
207         CPP=${CPP:Q} ${HOST_SH} ${LIBCDIR}/sys/makelintstub -o ${.TARGET} \
208             -s ${DESTDIR}/usr/include/sys/syscall.h ${_LINTASM:S/tmp_//}
210 LintSysNoerr.c: ${LIBCDIR}/sys/makelintstub \
211     ${DESTDIR}/usr/include/sys/syscall.h
212         ${_MKTARGET_CREATE}
213         CPP=${CPP:Q} ${HOST_SH} ${LIBCDIR}/sys/makelintstub -o ${.TARGET} -n \
214             -s ${DESTDIR}/usr/include/sys/syscall.h ${NOERR}
216 LintSysPseudoNoerr.c: ${LIBCDIR}/sys/makelintstub \
217     ${DESTDIR}/usr/include/sys/syscall.h
218         ${_MKTARGET_CREATE}
219         CPP=${CPP:Q} ${HOST_SH} ${LIBCDIR}/sys/makelintstub -o ${.TARGET} -p \
220             -s ${DESTDIR}/usr/include/sys/syscall.h ${PSEUDONOERR}
221 .endif # !defined(__MINIX)
223 .if !defined(__MINIX)
224 MAN+=   accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 \
225         chflags.2 chmod.2 chown.2 chroot.2 clock_settime.2 clone.2 close.2 \
226         connect.2 dup.2 execve.2 _exit.2 extattr_get_file.2 \
227         fcntl.2 fdatasync.2 fhopen.2 \
228         flock.2 fork.2 fsync.2 getcontext.2 getdents.2 \
229         getfh.2 getvfsstat.2 getgid.2 getgroups.2 \
230         getitimer.2 getlogin.2 getpeername.2 getpgrp.2 getpid.2 \
231         getpriority.2 getrlimit.2 getrusage.2 getsid.2 getsockname.2 \
232         getsockopt.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \
233         kill.2 kqueue.2 ktrace.2 \
234         lfs_bmapv.2 lfs_markv.2 lfs_segclean.2 lfs_segwait.2 \
235         link.2 listen.2 lseek.2 \
236         _lwp_create.2 _lwp_ctl.2 _lwp_detach.2 _lwp_exit.2 \
237         _lwp_self.2 _lwp_setname.2 \
238         _lwp_suspend.2 _lwp_wakeup.2 _lwp_wait.2 _lwp_kill.2 \
239         _lwp_getname.2 _lwp_getprivate.2 \
240         _lwp_park.2 _lwp_unpark.2 _lwp_unpark_all.2 \
241         mkdir.2 mkfifo.2 mknod.2 \
242         madvise.2 mincore.2 minherit.2 mlock.2 mlockall.2 mmap.2 modctl.2 \
243         mount.2 \
244         mprotect.2 mremap.2 msgctl.2 msgget.2 msgrcv.2 msgsnd.2 msync.2 \
245         munmap.2 nanosleep.2 nfssvc.2 ntp_adjtime.2 open.2 pathconf.2 pipe.2 
246 .else
247 MAN+=   adjtime.2 clock_settime.2 getvfsstat.2 pipe.2 getrusage.2 reboot.2
248 .endif # !defined(__MINIX)
249 .if !defined(__MINIX)
250 MAN+=   pmc_control.2 poll.2 posix_fadvise.2 profil.2 ptrace.2 __quotactl.2 \
251         rasctl.2 read.2 readlink.2 \
252         reboot.2 recv.2 rename.2 revoke.2 rmdir.2 \
253         select.2 semctl.2 \
254         semget.2 semop.2 send.2 setgroups.2 setpgid.2 setregid.2 \
255         setreuid.2 setsid.2 setuid.2 shmat.2 shmctl.2 shmget.2 \
256         shutdown.2 sigaction.2 sigaltstack.2 sigpending.2 \
257         sigprocmask.2 sigqueue.2 sigstack.2 sigsuspend.2 sigtimedwait.2 \
258         socket.2 \
259         socketpair.2 stat.2 statvfs.2 swapctl.2 swapon.3 symlink.2 \
260         sync.2 sysarch.2 syscall.2 timer_create.2 timer_delete.2 \
261         timer_settime.2 truncate.2 umask.2 undelete.2 \
262         unlink.2 utimes.2 utrace.2 uuidgen.2 vfork.2 wait.2 write.2
264 MLINKS+=_exit.2 _Exit.2
265 MLINKS+=brk.2 sbrk.2
266 MLINKS+=clone.2 __clone.2
267 MLINKS+=dup.2 dup2.2
268 MLINKS+=dup.2 dup3.2
269 MLINKS+=chdir.2 fchdir.2
270 MLINKS+=chflags.2 fchflags.2 chflags.2 lchflags.2
271 MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2
272 MLINKS+=chown.2 fchown.2 chown.2 lchown.2
273 MLINKS+=chroot.2 fchroot.2
274 .else
275 MLINKS+=clock_settime.2 clock_gettime.2
276 MLINKS+=clock_settime.2 clock_getres.2
277 .endif # !defined(__MINIX)
278 .if !defined(__MINIX)
279 MLINKS+=extattr_get_file.2 extattr_set_file.2 \
280         extattr_get_file.2 extattr_delete_file.2 \
281         extattr_get_file.2 extattr_list_file.2 \
282         extattr_get_file.2 extattr_get_fd.2 \
283         extattr_get_file.2 extattr_set_fd.2 \
284         extattr_get_file.2 extattr_delete_fd.2 \
285         extattr_get_file.2 extattr_list_fd.2 \
286         extattr_get_file.2 extattr_get_link.2 \
287         extattr_get_file.2 extattr_set_link.2 \
288         extattr_get_file.2 extattr_delete_link.2 \
289         extattr_get_file.2 extattr_list_link.2
290 MLINKS+=access.2 faccessat.2
291 MLINKS+=chmod.2 fchmodat.2
292 MLINKS+=chown.2 fchownat.2
293 MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatvfs.2 fhopen.2 fhstatvfs1.2
294 MLINKS+=stat.2 fstatat.2
295 MLINKS+=fsync.2 fsync_range.2
296 MLINKS+=getcontext.2 setcontext.2
297 MLINKS+=getgid.2 getegid.2
298 MLINKS+=getitimer.2 setitimer.2
299 MLINKS+=getlogin.2 setlogin.2
300 MLINKS+=getlogin.2 getlogin_r.2
301 MLINKS+=getpgrp.2 getpgid.2
302 MLINKS+=getpid.2 getppid.2
303 MLINKS+=getpriority.2 setpriority.2
304 MLINKS+=getrlimit.2 setrlimit.2
305 MLINKS+=getsockopt.2 setsockopt.2
306 MLINKS+=gettimeofday.2 settimeofday.2
307 MLINKS+=getuid.2 geteuid.2
308 MLINKS+=intro.2 errno.2
309 MLINKS+=kqueue.2 kevent.2
310 MLINKS+=ktrace.2 fktrace.2
311 MLINKS+=lseek.2 seek.2
312 MLINKS+=link.2 linkat.2
313 MLINKS+=_lwp_suspend.2 _lwp_continue.2
314 MLINKS+=_lwp_getprivate.2 _lwp_setprivate.2
315 MLINKS+=madvise.2 posix_madvise.2
316 MLINKS+=mlock.2 munlock.2
317 MLINKS+=mlockall.2 munlockall.2
318 MLINKS+=mkdir.2 mkdirat.2
319 MLINKS+=mkfifo.2 mkfifoat.2
320 MLINKS+=mknod.2 mknodat.2
321 MLINKS+=mount.2 unmount.2
322 MLINKS+=open.2 openat.2
323 MLINKS+=ntp_adjtime.2 ntp_gettime.2
324 MLINKS+=pathconf.2 fpathconf.2
325 MLINKS+=pmc_control.2 pmc_get_info.2
326 MLINKS+=poll.2 pollts.2
327 MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2
328 MLINKS+=readlink.2 readlinkat.2
329 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 recv.2 recvmmsg.2
330 MLINKS+=rename.2 renameat.2
331 MLINKS+=select.2 pselect.2
332 MLINKS+=send.2 sendmsg.2 send.2 sendto.2 send.2 sendmmsg.2
333 MLINKS+=setpgid.2 setpgrp.2
334 MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2
335 MLINKS+=shmat.2 shmdt.2
336 MLINKS+=symlink.2 symlinkat.2
337 MLINKS+=timer_settime.2 timer_gettime.2 timer_settime.2 timer_getoverrun.2
338 MLINKS+=sigqueue.2 sigqueueinfo.2
339 MLINKS+=sigtimedwait.2 sigwaitinfo.2
340 MLINKS+=sigtimedwait.2 sigwait.2
341 MLINKS+=stat.2 fstat.2 stat.2 lstat.2
342 MLINKS+=statvfs.2 fstatvfs.2
343 MLINKS+=statvfs.2 statvfs1.2
344 MLINKS+=statvfs.2 fstatvfs1.2
345 MLINKS+=syscall.2 __syscall.2
346 MLINKS+=truncate.2 ftruncate.2
347 MLINKS+=unlink.2 unlinkat.2
348 MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2
349 MLINKS+=utimes.2 utimens.2 utimes.2 futimens.2 utimes.2 lutimens.2
350 MLINKS+=utimes.2 utimensat.2
351 MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2
352 MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2
353 .else
354 MLINKS+=pipe.2 pipe2.2
355 MAN+=   statvfs.2
356 MLINKS+=statvfs.2 fstatvfs.2
357 MLINKS+=statvfs.2 statvfs1.2
358 MLINKS+=statvfs.2 fstatvfs1.2
359 .endif # !defined(__MINIX)
360 .if !defined(__MINIX)
361 MLINKS+=accept.2 paccept.2
362 MLINKS+=nanosleep.2 clock_nanosleep.2
363 .endif # !defined(__MINIX)