Bring in GSoC code: SysV IPC in userspace
[dragonfly.git] / lib / libc / sys / Makefile.inc
1 #       @(#)Makefile.inc        8.3 (Berkeley) 10/24/94
2 # $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.75.2.7 2003/04/22 17:31:18 trhodes Exp $
3
4 # sys sources
5 .PATH: ${.CURDIR}/../libc/${MACHINE_ARCH}/sys ${.CURDIR}/../libc/sys
6
7 CMAPS+= ${.CURDIR}/sys/Symbol.map
8
9 # Include the generated makefile containing the *complete* list
10 # of syscall names in MIASM.
11 .include "${.CURDIR}/../../sys/sys/syscall.mk"
12
13 # Include machine dependent definitions.
14 #
15 # MDASM names override the default syscall names in MIASM.
16 # NOASM will prevent the default syscall code from being generated.
17 #
18 .include "${.CURDIR}/../libc/${MACHINE_ARCH}/sys/Makefile.inc"
19
20 SRCS+= fork.c
21
22 # Sources common to both syscall interfaces:
23 SRCS+=  ftruncate.c lseek.c mmap.c truncate.c
24 SRCS+=  pread.c pwrite.c preadv.c pwritev.c
25
26 # Add machine dependent asm sources:
27 SRCS+=${MDASM}
28
29 # Add stack dependant asm sources:
30 SRCS+=          stack_protector.c
31
32 # Look through the complete list of syscalls (MIASM) for names that are
33 # not defined with machine dependent implementations (MDASM) and are
34 # not declared for no generation of default code (NOASM).
35 .for _asm in ${MIASM}
36 .if (${MDASM:R:M${_asm:R}} == "")
37 .if (${NOASM:R:M${_asm:R}} == "")
38 ASM+=$(_asm)
39 .endif
40 .endif
41 .endfor
42
43 OBJS+=  ${ASM} ${PSEUDO}
44
45 SASM=   ${ASM:S/.o/.S/}
46
47 SPSEUDO= ${PSEUDO:S/.o/.S/}
48
49 SRCS+=  ${SASM} ${SPSEUDO}
50
51 # Generated files
52 CLEANFILES+=    ${SASM} ${SPSEUDO}
53
54 # Generate the syscalls source-files
55 ${SASM}:
56         printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' > ${.TARGET}
57
58 ${SPSEUDO}:
59         printf '#include "SYS.h"\nPSEUDO(${.PREFIX:S/_//})\n' \
60             > ${.TARGET}
61
62 .if ${LIB} == "c"
63 MAN+=   _exit.2 accept.2 access.2 acct.2 adjtime.2 \
64         bind.2 brk.2 \
65         sys_checkpoint.2 chdir.2 chflags.2 \
66         chmod.2 chown.2 chroot.2 clock_gettime.2 close.2 closefrom.2 \
67         connect.2 dup.2 execve.2 extattr.2 extexit.2 \
68         fcntl.2 fhopen.2 flock.2 fork.2 fsync.2 \
69         getdirentries.2 getdtablesize.2 \
70         getfh.2 getfsstat.2 getgid.2 getgroups.2 getitimer.2 getlogin.2 \
71         getpeername.2 getpgrp.2 getpid.2 getpriority.2 getrlimit.2 \
72         getrusage.2 getsid.2 getsockname.2 \
73         getsockopt.2 gettimeofday.2 getuid.2 \
74         intro.2 ioctl.2 ioprio_get.2 issetugid.2 jail.2 jail_attach.2 kill.2 \
75         kldfind.2 kldfirstmod.2 kldload.2 kldnext.2 kldstat.2 kldsym.2 \
76         kldunload.2 ktrace.2 kqueue.2 link.2 listen.2 lseek.2 \
77         lwp_create.2 lwp_gettid.2 lwp_kill.2 \
78         madvise.2 mincore.2 minherit.2 mkdir.2 mkfifo.2 mknod.2 mlock.2 \
79         mlockall.2 mmap.2 \
80         modfind.2 modnext.2 modstat.2 \
81         mount.2 mountctl.2 mprotect.2 \
82         msgctl.2 msgget.2 msgrcv.2 msgsnd.3 \
83         msync.2 munmap.2 nanosleep.2 \
84         nfssvc.2 ntp_adjtime.2 ntp_gettime.2 \
85         open.2 pathconf.2 pipe.2 poll.2 profil.2 pselect.2 ptrace.2 quotactl.2 \
86         read.2 readlink.2 reboot.2 recv.2 rename.2 revoke.2 rfork.2 rmdir.2 \
87         rtprio.2 select.2 semctl.2 semget.2 semop.2 send.2 sendfile.2 \
88         setgroups.2 setpgid.2 setregid.2 setresuid.2 setreuid.2 setsid.2 \
89         setuid.2 shmat.2 shmctl.2 shmget.2 shutdown.2 \
90         sigaction.2 sigaltstack.2 sigpending.2 sigprocmask.2 sigreturn.2 \
91         sigstack.2 sigsuspend.2 socket.2 socketpair.2 stat.2 statfs.2 \
92         statvfs.2 swapon.2 symlink.2 sync.2 sysarch.2 syscall.2 \
93         truncate.2 tls.2 umask.2 umtx.2 undelete.2 \
94         unlink.2 unlinkat.2 utimes.2 utrace.2 usched_set.2 \
95         uuidgen.2 \
96         varsym.2 vfork.2 vquotactl.2 wait.2 write.2
97
98 .if !defined(NO_P1003_1B)
99 MAN+=   sched_get_priority_max.2 sched_setparam.2 \
100         sched_setscheduler.2 sched_yield.2
101 .endif
102
103 MLINKS+=access.2 eaccess.2 \
104         access.2 faccessat.2
105 MLINKS+=brk.2 sbrk.2
106 MLINKS+=chdir.2 fchdir.2
107 MLINKS+=chflags.2 fchflags.2 chflags.2 lchflags.2
108 MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2 chmod.2 fchmodat.2
109 MLINKS+=chown.2 fchown.2 chown.2 lchown.2 chown.2 fchownat.2
110 MLINKS+=chroot.2 chroot_kernel.2
111 MLINKS+=clock_gettime.2 clock_getres.2 clock_gettime.2 clock_settime.2
112 MLINKS+=dup.2 dup2.2
113 MLINKS+=extattr.2 extattr_delete_file.2 \
114         extattr.2 extattr_get_file.2 \
115         extattr.2 extattr_set_file.2
116 MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2 fhopen.2 fhstatvfs.2
117 MLINKS+=getdirentries.2 _DIRENT_DIRSIZ.2 \
118         getdirentries.2 _DIRENT_NEXT.2 \
119         getdirentries.2 getdents.2
120 MLINKS+=getfsstat.2 getvfsstat.2
121 MLINKS+=getgid.2 getegid.2
122 MLINKS+=getitimer.2 setitimer.2
123 MLINKS+=getlogin.2 getlogin_r.3 \
124         getlogin.2 setlogin.2
125 MLINKS+=getpgrp.2 getpgid.2
126 MLINKS+=getpid.2 getppid.2
127 MLINKS+=getpriority.2 setpriority.2
128 MLINKS+=getrlimit.2 setrlimit.2
129 MLINKS+=getsockopt.2 setsockopt.2
130 MLINKS+=gettimeofday.2 settimeofday.2
131 MLINKS+=getuid.2 geteuid.2
132 MLINKS+=intro.2 errno.2
133 MLINKS+=ioprio_get.2 ioprio_set.2
134 MLINKS+=kqueue.2 EV_SET.2 \
135         kqueue.2 kevent.2
136 MLINKS+=link.2 linkat.2
137 MLINKS+=lseek.2 seek.2
138 MLINKS+=madvise.2 mcontrol.2 \
139         madvise.2 posix_madvise.3
140 MLINKS+=mkdir.2 mkdirat.2
141 MLINKS+=mkfifo.2 mkfifoat.2
142 MLINKS+=mknod.2 mknodat.2
143 MLINKS+=mlock.2 munlock.2
144 MLINKS+=mlockall.2 munlockall.2
145 MLINKS+=modnext.2 modfnext.2
146 MLINKS+=mount.2 unmount.2
147 MLINKS+=msgctl.2 msgctl.3
148 MLINKS+=msgget.2 msgget.3
149 MLINKS+=msgrcv.2 msgrcv.3
150 MLINKS+=msgsnd.2 msgsnd.3
151 MLINKS+=open.2 openat.2
152 MLINKS+=pathconf.2 fpathconf.2 pathconf.2 lpathconf.2
153 MLINKS+=read.2 pread.2 read.2 preadv.2 read.2 readv.2
154 MLINKS+=readlink.2 readlinkat.2
155 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2
156 MLINKS+=rename.2 renameat.2
157 MLINKS+=rtprio.2 lwp_rtprio.2
158 .if !defined(NO_P1003_1B)
159 MLINKS+=sched_get_priority_max.2 sched_get_priority_min.2 \
160         sched_get_priority_max.2 sched_rr_get_interval.2
161 MLINKS+=sched_setparam.2 sched_getparam.2
162 MLINKS+=sched_setscheduler.2 sched_getscheduler.2
163 .endif
164 MLINKS+=select.2 FD_CLR.2 \
165         select.2 FD_ISSET.2 \
166         select.2 FD_SET.2 \
167         select.2 FD_ZERO.2
168 MLINKS+=semctl.2 semctl.3
169 MLINKS+=semget.2 semget.3
170 MLINKS+=semop.2 semop.3
171 MLINKS+=send.2 sendmsg.2 send.2 sendto.2
172 MLINKS+=setpgid.2 setpgrp.2
173 MLINKS+=setresuid.2 getresgid.2 setresuid.2 getresuid.2 setresuid.2 setresgid.2
174 MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2
175 MLINKS+=shmat.2 shmat.3 \
176         shmat.2 shmdt.2
177 MLINKS+=shmctl.2 shmctl.3
178 MLINKS+=shmget.2 shmget.3
179 MLINKS+=stat.2 fstat.2 stat.2 fstatat.2 stat.2 lstat.2
180 MLINKS+=statfs.2 fstatfs.2
181 MLINKS+=statvfs.2 fstatvfs.2
182 MLINKS+=symlink.2 symlinkat.2
183 MLINKS+=syscall.2 __syscall.2
184 MLINKS+=swapon.2 swapoff.2
185 MLINKS+=tls.2 set_tls_area.2 tls.2 get_tls_area.2
186 MLINKS+=truncate.2 ftruncate.2
187 MLINKS+=umtx.2 umtx_sleep.2 umtx.2 umtx_wakeup.2
188 MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2
189 MLINKS+=varsym.2 varsym_get.2 \
190         varsym.2 varsym_list.2 \
191         varsym.2 varsym_set.2
192 MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2
193 MLINKS+=write.2 pwrite.2 write.2 pwritev.2 write.2 writev.2
194 .endif