1 # $NetBSD: Makefile.inc,v 1.156 2005/02/26 18:04:19 matt Exp $ 2 # @(#)Makefile.inc 8.3 (Berkeley) 10/24/94 3 4 # sys sources 5 .PATH: ${ARCHDIR}/sys ${.CURDIR}/sys 6 7 # modules with non-default implementations on at least one architecture: 8 SRCS+= Ovfork.S __clone.S __vfork14.S brk.S exect.S fork.S msgctl.S pipe.S \ 9 getcontext.S \ 10 ptrace.S sbrk.S __semctl.S shmat.S shmctl.S sigaction.S \ 11 sigpending.S sigprocmask.S sigreturn.S __sigreturn14.S sigsuspend.S \ 12 syscall.S __syscall.S __clone.S cerror.S 13 14 _LSRC= Lint_Ovfork.c Lint___clone.c Lint___vfork14.c Lint_brk.c Lint_clone.c \ 15 Lint_getcontext.c \ 16 Lint_exect.c Lint_fork.c Lint_pipe.c Lint_ptrace.c Lint_sbrk.c \ 17 Lint_setlogin.c Lint_syscall.c Lint___syscall.c \ 18 LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c 19 20 .if ${MKLINT} != "no" 21 LSRCS+= ${_LSRC} 22 DPSRCS+= ${_LSRC:MLintSys*.c} 23 CLEANFILES+= ${_LSRC:MLintSys*.c} 24 .endif 25 26 # glue to offer userland wrappers for some syscalls 27 SRCS+= sigtimedwait.c sigwait.c sigwaitinfo.c statvfs.c 28 29 # glue to provide compatibility between GCC 1.X and 2.X and for compat 30 # with old syscall interfaces. 31 SRCS+= adjtime.c clock_settime.c ftruncate.c getdirentries.c lseek.c mmap.c \ 32 msync.c ntp_adjtime.c pread.c preadv.c pwrite.c pwritev.c semctl.c \ 33 settimeofday.c sigaltstack.c stat.c statfs.c swapon.c truncate.c 34 35 # glue to syscalls that may pass structs or unions, which cannot be 36 # handled portably and easily by the syscall interface. The glue 37 # converts structs and unions to pointers to them. 38 SRCS+= __semctl13.c 39 40 # namespace purity wrappers 41 SRCS+= _brk.c _fork.c _getcontext.c _pipe.c _sbrk.c 42 43 # modules with default implementations on all architectures: 44 ASM= access.S acct.S \ 45 bind.S \ 46 chdir.S chflags.S chmod.S chown.S chroot.S clock_getres.S \ 47 clock_gettime.S \ 48 dup.S dup2.S \ 49 extattrctl.S \ 50 extattr_delete_fd.S extattr_delete_file.S \ 51 extattr_delete_link.S extattr_get_fd.S extattr_get_file.S \ 52 extattr_get_link.S extattr_list_fd.S extattr_list_file.S \ 53 extattr_list_link.S extattr_set_fd.S extattr_set_file.S \ 54 extattr_set_link.S \ 55 fchdir.S fchflags.S fchmod.S fchown.S fchroot.S \ 56 fhopen.S fhstat.S fhstatvfs1.S fktrace.S \ 57 flock.S fpathconf.S __fstat13.S fstatvfs1.S futimes.S \ 58 __getcwd.S getdents.S getfh.S getvfsstat.S getgroups.S getitimer.S \ 59 __getlogin.S getpeername.S getpgid.S getpgrp.S \ 60 getpriority.S getrlimit.S getrusage.S getsid.S getsockname.S \ 61 getsockopt.S gettimeofday.S \ 62 ioctl.S \ 63 kevent.S kqueue.S ktrace.S \ 64 _ksem_close.S _ksem_destroy.S _ksem_getvalue.S _ksem_init.S \ 65 _ksem_post.S _ksem_trywait.S _ksem_unlink.S _ksem_wait.S \ 66 _ksem_open.S \ 67 lchflags.S lchmod.S lchown.S lfs_bmapv.S lfs_markv.S lfs_segclean.S \ 68 lfs_segwait.S link.S listen.S __lstat13.S lutimes.S \ 69 _lwp_create.S _lwp_exit.S _lwp_self.S _lwp_wait.S \ 70 _lwp_suspend.S _lwp_continue.S _lwp_wakeup.S \ 71 _lwp_getprivate.S _lwp_setprivate.S \ 72 madvise.S mincore.S minherit.S mkdir.S mkfifo.S mknod.S \ 73 mlock.S mlockall.S mount.S mprotect.S __msgctl13.S msgget.S \ 74 munlock.S munlockall.S munmap.S \ 75 nfssvc.S ntp_gettime.S \ 76 pathconf.S pmc_get_info.S pmc_control.S pollts.S __posix_chown.S \ 77 __posix_fchown.S __posix_lchown.S __posix_rename.S profil.S \ 78 pselect.S \ 79 quotactl.S \ 80 rasctl.S readlink.S reboot.S recvfrom.S recvmsg.S rename.S revoke.S \ 81 rmdir.S \ 82 sa_register.S sa_stacks.S sa_enable.S sa_setconcurrency.S sa_yield.S \ 83 sa_preempt.S semconfig.S semget.S semop.S ____semctl13.S \ 84 sendmsg.S sendto.S setegid.S setcontext.S seteuid.S setgid.S \ 85 setgroups.S setitimer.S __setlogin.S setpgid.S setpriority.S \ 86 setregid.S setreuid.S setrlimit.S setsid.S setsockopt.S \ 87 setuid.S __shmctl13.S shmdt.S shmget.S shutdown.S \ 88 __sigaltstack14.S __sigpending14.S __sigaction_sigtramp.S \ 89 __sigtimedwait.S socket.S socketpair.S __stat13.S statvfs1.S \ 90 swapctl.S symlink.S __sysctl.S \ 91 timer_create.S timer_delete.S timer_gettime.S timer_getoverrun.S \ 92 timer_settime.S \ 93 umask.S undelete.S unlink.S unmount.S utimes.S utrace.S uuidgen.S \ 94 vadvise.S 95 96 WEAKASM= accept.S close.S connect.S execve.S \ 97 fcntl.S fdatasync.S fsync.S fsync_range.S \ 98 kill.S msgrcv.S msgsnd.S __msync13.S \ 99 nanosleep.S open.S poll.S read.S readv.S \ 100 select.S __sigprocmask14.S __sigsuspend14.S sysarch.S \ 101 wait4.S write.S writev.S 102 103 NOERR= getegid.S geteuid.S getgid.S getpid.S getppid.S getuid.S \ 104 issetugid.S sync.S 105 106 PSEUDONOERR= _exit.S 107 108 SRCS+= ${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR} 109 CLEANFILES+= ${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR} 110 111 ASMDEPS= ${.CURDIR}/sys/Makefile.inc ${ARCHDIR}/SYS.h \ 112 ${DESTDIR}/usr/include/sys/syscall.h 113 114 ${ASM}: ${ASMDEPS} 115 ${_MKTARGET_CREATE} 116 printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >${.TARGET} 117 118 ${WEAKASM}: ${ASMDEPS} 119 ${_MKTARGET_CREATE} 120 printf '#include "SYS.h"\nWSYSCALL(${.PREFIX},_sys_${.PREFIX})\nWEAK_ALIAS(_${.PREFIX},_sys_${.PREFIX})\n' >${.TARGET} 121 122 ${NOERR}: ${ASMDEPS} 123 ${_MKTARGET_CREATE} 124 printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' >${.TARGET} 125 126 ${PSEUDONOERR}: ${ASMDEPS} 127 ${_MKTARGET_CREATE} 128 printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' >${.TARGET} 129 130 LintSysNormal.c: ${.CURDIR}/sys/makelintstub \ 131 ${DESTDIR}/usr/include/sys/syscall.h 132 ${_MKTARGET_CREATE} 133 CPP=${CPP:Q} ${HOST_SH} ${.CURDIR}/sys/makelintstub -o ${.TARGET} \ 134 -s ${DESTDIR}/usr/include/sys/syscall.h ${ASM} ${WEAKASM} 135 136 LintSysNoerr.c: ${.CURDIR}/sys/makelintstub \ 137 ${DESTDIR}/usr/include/sys/syscall.h 138 ${_MKTARGET_CREATE} 139 CPP=${CPP:Q} ${HOST_SH} ${.CURDIR}/sys/makelintstub -o ${.TARGET} -n \ 140 -s ${DESTDIR}/usr/include/sys/syscall.h ${NOERR} 141 142 LintSysPseudoNoerr.c: ${.CURDIR}/sys/makelintstub \ 143 ${DESTDIR}/usr/include/sys/syscall.h 144 ${_MKTARGET_CREATE} 145 CPP=${CPP:Q} ${HOST_SH} ${.CURDIR}/sys/makelintstub -o ${.TARGET} -p \ 146 -s ${DESTDIR}/usr/include/sys/syscall.h ${PSEUDONOERR} 147 148 MAN+= accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 \ 149 chflags.2 chmod.2 chown.2 chroot.2 clock_settime.2 clone.2 close.2 \ 150 connect.2 dup.2 execve.2 _exit.2 extattr_get_file.2 \ 151 fcntl.2 fdatasync.2 fhopen.2 \ 152 flock.2 fork.2 fsync.2 getcontext.2 getdents.2 getdirentries.3 \ 153 getfh.2 getvfsstat.2 getgid.2 getgroups.2 \ 154 getitimer.2 getlogin.2 getpeername.2 getpgrp.2 getpid.2 \ 155 getpriority.2 getrlimit.2 getrusage.2 getsid.2 getsockname.2 \ 156 getsockopt.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \ 157 kill.2 kqueue.2 ktrace.2 \ 158 lfs_bmapv.2 lfs_markv.2 lfs_segclean.2 lfs_segwait.2 \ 159 link.2 listen.2 lseek.2 _lwp_create.2 _lwp_exit.2 _lwp_self.2 \ 160 _lwp_suspend.2 _lwp_wakeup.2 _lwp_wait.2 _lwp_getprivate.2 \ 161 mkdir.2 mkfifo.2 mknod.2 \ 162 madvise.2 mincore.2 minherit.2 mlock.2 mlockall.2 mmap.2 mount.2 \ 163 mprotect.2 msgctl.2 msgget.2 msgrcv.2 msgsnd.2 msync.2 \ 164 munmap.2 nanosleep.2 nfssvc.2 ntp_adjtime.2 open.2 pathconf.2 pipe.2 \ 165 pmc_control.2 poll.2 profil.2 ptrace.2 quotactl.2 rasctl.2 \ 166 read.2 readlink.2 \ 167 reboot.2 recv.2 rename.2 revoke.2 rmdir.2 \ 168 sa_register.2 sa_stacks.2 sa_enable.2 sa_setconcurrency.2 sa_yield.2 \ 169 select.2 semctl.2 \ 170 semget.2 semop.2 send.2 setgroups.2 setpgid.2 setregid.2 \ 171 setreuid.2 setsid.2 setuid.2 shmat.2 shmctl.2 shmget.2 \ 172 shutdown.2 sigaction.2 sigaltstack.2 sigpending.2 \ 173 sigprocmask.2 sigstack.2 sigsuspend.2 sigtimedwait.2 \ 174 socket.2 \ 175 socketpair.2 stat.2 statvfs.2 swapctl.2 swapon.3 symlink.2 \ 176 sync.2 sysarch.2 syscall.2 timer_create.2 timer_delete.2 \ 177 timer_settime.2 truncate.2 umask.2 undelete.2 \ 178 unlink.2 utimes.2 utrace.2 uuidgen.2 vfork.2 wait.2 write.2 179 180 MLINKS+=_exit.2 _Exit.2 181 MLINKS+=brk.2 sbrk.2 182 MLINKS+=clone.2 __clone.2 183 MLINKS+=dup.2 dup2.2 184 MLINKS+=chdir.2 fchdir.2 185 MLINKS+=chflags.2 fchflags.2 chflags.2 lchflags.2 186 MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2 187 MLINKS+=chown.2 fchown.2 chown.2 lchown.2 188 MLINKS+=chroot.2 fchroot.2 189 MLINKS+=clock_settime.2 clock_gettime.2 190 MLINKS+=clock_settime.2 clock_getres.2 191 MLINKS+=extattr_get_file.2 extattr_set_file.2 \ 192 extattr_get_file.2 extattr_delete_file.2 \ 193 extattr_get_file.2 extattr_list_file.2 \ 194 extattr_get_file.2 extattr_get_fd.2 \ 195 extattr_get_file.2 extattr_set_fd.2 \ 196 extattr_get_file.2 extattr_delete_fd.2 \ 197 extattr_get_file.2 extattr_list_fd.2 \ 198 extattr_get_file.2 extattr_get_link.2 \ 199 extattr_get_file.2 extattr_set_link.2 \ 200 extattr_get_file.2 extattr_delete_link.2 \ 201 extattr_get_file.2 extattr_list_link.2 202 MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatvfs.2 fhopen.2 fhstatvfs1.2 203 MLINKS+=fsync.2 fsync_range.2 204 MLINKS+=getcontext.2 setcontext.2 205 MLINKS+=getgid.2 getegid.2 206 MLINKS+=getitimer.2 setitimer.2 207 MLINKS+=getlogin.2 setlogin.2 208 MLINKS+=getpgrp.2 getpgid.2 209 MLINKS+=getpid.2 getppid.2 210 MLINKS+=getpriority.2 setpriority.2 211 MLINKS+=getrlimit.2 setrlimit.2 212 MLINKS+=getsockopt.2 setsockopt.2 213 MLINKS+=gettimeofday.2 settimeofday.2 214 MLINKS+=getuid.2 geteuid.2 215 MLINKS+=intro.2 errno.2 216 MLINKS+=kqueue.2 kevent.2 217 MLINKS+=ktrace.2 fktrace.2 218 MLINKS+=lseek.2 seek.2 219 MLINKS+=_lwp_suspend.2 _lwp_continue.2 220 MLINKS+=_lwp_getprivate.2 _lwp_setprivate.2 221 MLINKS+=mlock.2 munlock.2 222 MLINKS+=mlockall.2 munlockall.2 223 MLINKS+=mount.2 unmount.2 224 MLINKS+=ntp_adjtime.2 ntp_gettime.2 225 MLINKS+=pathconf.2 fpathconf.2 226 MLINKS+=pmc_control.2 pmc_get_info.2 227 MLINKS+=poll.2 pollts.2 228 MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2 229 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 230 MLINKS+=select.2 pselect.2 231 MLINKS+=send.2 sendmsg.2 send.2 sendto.2 232 MLINKS+=setpgid.2 setpgrp.2 233 MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2 234 MLINKS+=shmat.2 shmdt.2 235 MLINKS+=timer_settime.2 timer_gettime.2 timer_settime.2 timer_getoverrun.2 236 MLINKS+=sigtimedwait.2 sigwaitinfo.2 237 MLINKS+=sigtimedwait.2 sigwait.2 238 MLINKS+=stat.2 fstat.2 stat.2 lstat.2 239 MLINKS+=statvfs.2 fstatvfs.2 240 MLINKS+=statvfs.2 statvfs1.2 241 MLINKS+=statvfs.2 fstatvfs1.2 242 MLINKS+=syscall.2 __syscall.2 243 MLINKS+=truncate.2 ftruncate.2 244 MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2 245 MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2 246 MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2 247