1# $OpenBSD: Makefile.inc,v 1.123 2014/11/14 00:24:28 guenther Exp $ 2# $NetBSD: Makefile.inc,v 1.35 1995/10/16 23:49:07 jtc Exp $ 3# @(#)Makefile.inc 8.1 (Berkeley) 6/17/93 4 5# sys sources 6.PATH: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/sys ${LIBCSRCDIR}/sys 7 8# modules with non-default implementations on at least one architecture: 9SRCS+= Ovfork.S brk.S cerror.S exect.S fork.S \ 10 sbrk.S sigpending.S sigprocmask.S sigreturn.S \ 11 sigsuspend.S syscall.S tfork_thread.S 12 13# glue to offer userland wrappers for some syscalls 14SRCS+= posix_madvise.c 15 16# glue to provide compatibility between GCC 1.X and 2.X and for compat 17# with old syscall interfaces. 18SRCS+= ftruncate.c lseek.c mquery.c mmap.c ptrace.c semctl.c truncate.c \ 19 timer_create.c timer_delete.c timer_getoverrun.c timer_gettime.c \ 20 timer_settime.c pread.c preadv.c pwrite.c pwritev.c 21 22# stack protector helper functions 23SRCS+= stack_protector.c 24 25# modules with default implementations on all architectures, unless overridden 26# below: 27ASM= __get_tcb.o __getcwd.o __semctl.o __set_tcb.o __syscall.o \ 28 __sysctl.o __threxit.o __thrsigdivert.o __thrsleep.o \ 29 __thrwakeup.o accept.o accept4.o access.o acct.o adjfreq.o adjtime.o \ 30 bind.o chdir.o chflags.o chmod.o chown.o chroot.o \ 31 clock_getres.o clock_gettime.o clock_settime.o close.o \ 32 closefrom.o connect.o dup.o dup2.o dup3.o execve.o faccessat.o \ 33 fchdir.o fchflags.o fchmod.o fchmodat.o fchown.o \ 34 fchownat.o fcntl.o fhopen.o fhstat.o fhstatfs.o \ 35 flock.o fpathconf.o fstat.o fstatat.o fstatfs.o \ 36 fsync.o futimens.o futimes.o getentropy.o getdents.o getdtablecount.o \ 37 getegid.o geteuid.o getfh.o getfsstat.o getgid.o \ 38 getgroups.o getitimer.o getpeername.o getpgid.o getpgrp.o \ 39 getpid.o getppid.o getpriority.o getresgid.o getresuid.o \ 40 getrlimit.o getrtable.o getrusage.o getsid.o getsockname.o \ 41 getsockopt.o getthrid.o gettimeofday.o getuid.o ioctl.o \ 42 issetugid.o kevent.o kill.o kqueue.o ktrace.o lchown.o \ 43 link.o linkat.o listen.o lstat.o madvise.o mincore.o \ 44 minherit.o mkdir.o mkdirat.o mkfifo.o mkfifoat.o \ 45 mknod.o mknodat.o mlock.o mlockall.o mount.o mprotect.o \ 46 msgctl.o msgget.o msgrcv.o msgsnd.o msync.o munlock.o \ 47 munlockall.o munmap.o nanosleep.o nfssvc.o \ 48 open.o openat.o pathconf.o pipe.o pipe2.o \ 49 poll.o ppoll.o profil.o pselect.o \ 50 quotactl.o read.o readlink.o readlinkat.o readv.o reboot.o \ 51 recvfrom.o recvmsg.o rename.o renameat.o revoke.o rmdir.o \ 52 sched_yield.o select.o semget.o semop.o sendmsg.o sendsyslog.o sendto.o \ 53 setegid.o seteuid.o setgid.o setgroups.o setitimer.o \ 54 setpgid.o setpriority.o setregid.o setresgid.o setresuid.o \ 55 setreuid.o setrlimit.o setrtable.o setsid.o setsockopt.o \ 56 settimeofday.o setuid.o shmat.o shmctl.o shmdt.o \ 57 shmget.o shutdown.o sigaction.o sigaltstack.o socket.o \ 58 socketpair.o stat.o statfs.o swapctl.o symlink.o \ 59 symlinkat.o sync.o sysarch.o umask.o unlink.o unlinkat.o \ 60 unmount.o utimensat.o utimes.o utrace.o wait4.o write.o writev.o 61 62SRCS+= ${SRCS_${MACHINE_CPU}} 63.for i in ${SRCS_${MACHINE_CPU}} 64ASM:= ${ASM:N${i:R}.o} 65.endfor 66 67GASM= ${ASM:.o=.go} 68PASM= ${ASM:.o=.po} 69SASM= ${ASM:.o=.so} 70DASM= ${ASM:.o=.do} 71 72PSEUDO= _getlogin.o _setlogin.o _ptrace.o 73GPSEUDO=${PSEUDO:.o=.go} 74PPSEUDO=${PSEUDO:.o=.po} 75SPSEUDO=${PSEUDO:.o=.so} 76DPSEUDO=${PSEUDO:.o=.do} 77 78PSEUDO_NOERR= _exit.o 79GPSEUDO_NOERR=${PSEUDO_NOERR:.o=.go} 80PPSEUDO_NOERR=${PSEUDO_NOERR:.o=.po} 81SPSEUDO_NOERR=${PSEUDO_NOERR:.o=.so} 82DPSEUDO_NOERR=${PSEUDO_NOERR:.o=.do} 83 84OBJS+= ${ASM} ${PSEUDO} ${PSEUDO_NOERR} 85 86${GASM}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 87 @echo creating ${.TARGET} 88 @printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \ 89 ${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} -x assembler-with-cpp - \ 90 -o ${.TARGET}.o 91 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 92 @rm -f ${.TARGET}.o 93 94${PASM}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 95 @echo creating ${.TARGET} 96 @printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \ 97 ${COMPILE.S} -DPROF ${CFLAGS:M-[ID]*} ${AINC} \ 98 -x assembler-with-cpp - -o ${.TARGET}.o 99 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 100 @rm -f ${.TARGET}.o 101 102${SASM}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 103 @echo creating ${.TARGET} 104 @printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \ 105 ${COMPILE.S} ${PICFLAG} ${CFLAGS:M-[ID]*} ${AINC} \ 106 -x assembler-with-cpp - -o ${.TARGET} 107 108${DASM}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 109 @echo creating ${.TARGET} 110 @printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \ 111 ${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} -x assembler-with-cpp - \ 112 ${DIST_CFLAGS} -o ${.TARGET}.o 113 @${LD} -x -r ${.TARGET}.o -o ${.TARGET} 114 @rm -f ${.TARGET}.o 115 116${ASM}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 117 @echo creating ${.TARGET} 118 @printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \ 119 ${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} -x assembler-with-cpp - \ 120 -o ${.TARGET}.o 121 @${LD} -x -r ${.TARGET}.o -o ${.TARGET} 122 @rm -f ${.TARGET}.o 123 124${GPSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 125 @echo creating ${.TARGET} 126 @printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \ 127 ${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} -x assembler-with-cpp - \ 128 -o ${.TARGET}.o 129 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 130 @rm -f ${.TARGET}.o 131 132${PPSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 133 @echo creating ${.TARGET} 134 @printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \ 135 ${COMPILE.S} -DPROF ${CFLAGS:M-[ID]*} ${AINC} \ 136 -x assembler-with-cpp - -o ${.TARGET}.o 137 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 138 @rm -f ${.TARGET}.o 139 140${SPSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 141 @echo creating ${.TARGET} 142 @printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \ 143 ${COMPILE.S} ${PICFLAG} ${CFLAGS:M-[ID]*} ${AINC} \ 144 -x assembler-with-cpp - -o ${.TARGET} 145 146${DPSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 147 @echo creating ${.TARGET} 148 @printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \ 149 ${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} -x assembler-with-cpp - \ 150 ${DIST_CFLAGS} -o ${.TARGET}.o 151 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 152 @rm -f ${.TARGET}.o 153 154${PSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 155 @echo creating ${.TARGET} 156 @printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \ 157 ${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} -x assembler-with-cpp - \ 158 -o ${.TARGET}.o 159 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 160 @rm -f ${.TARGET}.o 161 162${GPSEUDO_NOERR}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 163 @echo creating ${.TARGET} 164 @printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \ 165 ${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} -x assembler-with-cpp - \ 166 -o ${.TARGET}.o 167 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 168 @rm -f ${.TARGET}.o 169 170${PPSEUDO_NOERR}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 171 @echo creating ${.TARGET} 172 @printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \ 173 ${COMPILE.S} -DPROF ${CFLAGS:M-[ID]*} ${AINC} \ 174 -x assembler-with-cpp - -o ${.TARGET}.o 175 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 176 @rm -f ${.TARGET}.o 177 178${SPSEUDO_NOERR}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 179 @echo creating ${.TARGET} 180 @printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \ 181 ${COMPILE.S} ${PICFLAG} ${CFLAGS:M-[ID]*} ${AINC} \ 182 -x assembler-with-cpp - -o ${.TARGET} 183 184${DPSEUDO_NOERR}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 185 @echo creating ${.TARGET} 186 @printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \ 187 ${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} -x assembler-with-cpp - \ 188 ${DIST_CFLAGS} -o ${.TARGET}.o 189 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 190 @rm -f ${.TARGET}.o 191 192${PSEUDO_NOERR}: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/SYS.h /usr/include/sys/syscall.h 193 @echo creating ${.TARGET} 194 @printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \ 195 ${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} -x assembler-with-cpp - \ 196 -o ${.TARGET}.o 197 @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 198 @rm -f ${.TARGET}.o 199 200MAN+= __get_tcb.2 __thrsigdivert.2 __thrsleep.2 _exit.2 accept.2 \ 201 access.2 acct.2 adjfreq.2 adjtime.2 bind.2 brk.2 chdir.2 \ 202 chflags.2 chmod.2 chown.2 chroot.2 clock_gettime.2 close.2 \ 203 closefrom.2 connect.2 dup.2 execve.2 fcntl.2 fhopen.2 flock.2 \ 204 fork.2 fsync.2 getentropy.2 getdents.2 getdtablecount.2 \ 205 getfh.2 getfsstat.2 getgid.2 getgroups.2 getitimer.2 getlogin.2 \ 206 getpeername.2 getpgrp.2 getpid.2 getpriority.2 getrlimit.2 \ 207 getrtable.2 getrusage.2 getsid.2 getsockname.2 getsockopt.2 \ 208 getthrid.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \ 209 kill.2 kqueue.2 ktrace.2 link.2 listen.2 lseek.2 madvise.2 \ 210 mincore.2 minherit.2 mkdir.2 mkfifo.2 mknod.2 mlock.2 \ 211 mlockall.2 mmap.2 mount.2 mprotect.2 mquery.2 msgctl.2 \ 212 msgget.2 msgrcv.2 msgsnd.2 msync.2 munmap.2 nanosleep.2 \ 213 nfssvc.2 open.2 pathconf.2 pipe.2 poll.2 profil.2 \ 214 ptrace.2 quotactl.2 read.2 readlink.2 reboot.2 recv.2 \ 215 rename.2 revoke.2 rmdir.2 sched_yield.2 select.2 semctl.2 semget.2 \ 216 semop.2 send.2 setgroups.2 setpgid.2 setregid.2 \ 217 setresuid.2 setreuid.2 setsid.2 sendsyslog.2 setuid.2 shmat.2 \ 218 shmctl.2 shmget.2 shutdown.2 sigaction.2 sigaltstack.2 sigpending.2 \ 219 sigprocmask.2 sigreturn.2 sigsuspend.2 socket.2 \ 220 socketpair.2 stat.2 statfs.2 swapctl.2 symlink.2 \ 221 sync.2 sysarch.2 syscall.2 truncate.2 umask.2 unlink.2 \ 222 utimes.2 utrace.2 vfork.2 wait.2 write.2 223 224MLINKS+=__get_tcb.2 __set_tcb.2 225MLINKS+=__thrsleep.2 __thrwakeup.2 226MLINKS+=_exit.2 _Exit.2 227MLINKS+=accept.2 accept4.2 228MLINKS+=access.2 faccessat.2 229MLINKS+=brk.2 sbrk.2 230MLINKS+=chdir.2 fchdir.2 231MLINKS+=chflags.2 fchflags.2 232MLINKS+=chmod.2 fchmod.2 chmod.2 fchmodat.2 233MLINKS+=chown.2 fchown.2 chown.2 fchownat.2 chown.2 lchown.2 234MLINKS+=clock_gettime.2 clock_getres.2 235MLINKS+=clock_gettime.2 clock_settime.2 236MLINKS+=dup.2 dup2.2 237MLINKS+=dup.2 dup3.2 238MLINKS+=execve.2 exect.2 239MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2 240MLINKS+=fsync.2 fdatasync.2 241MLINKS+=getgid.2 getegid.2 242MLINKS+=getitimer.2 setitimer.2 243MLINKS+=getitimer.2 timeradd.3 244MLINKS+=getitimer.2 timerclear.3 245MLINKS+=getitimer.2 timercmp.3 246MLINKS+=getitimer.2 timerisset.3 247MLINKS+=getitimer.2 timersub.3 248MLINKS+=getlogin.2 getlogin_r.2 getlogin.2 setlogin.2 249MLINKS+=getpgrp.2 getpgid.2 250MLINKS+=getpid.2 getppid.2 251MLINKS+=getpriority.2 setpriority.2 252MLINKS+=getrlimit.2 setrlimit.2 253MLINKS+=getrtable.2 setrtable.2 254MLINKS+=getsockopt.2 setsockopt.2 255MLINKS+=gettimeofday.2 settimeofday.2 256MLINKS+=getuid.2 geteuid.2 257MLINKS+=intro.2 errno.2 258MLINKS+=kqueue.2 kevent.2 kqueue.2 EV_SET.2 259MLINKS+=link.2 linkat.2 260MLINKS+=madvise.2 posix_madvise.2 261MLINKS+=mkdir.2 mkdirat.2 262MLINKS+=mkfifo.2 mkfifoat.2 263MLINKS+=mknod.2 mknodat.2 264MLINKS+=mlock.2 munlock.2 265MLINKS+=mlockall.2 munlockall.2 266MLINKS+=mount.2 unmount.2 267MLINKS+=open.2 openat.2 268MLINKS+=pathconf.2 fpathconf.2 269MLINKS+=pipe.2 pipe2.2 270MLINKS+=poll.2 ppoll.2 271MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2 272MLINKS+=readlink.2 readlinkat.2 273MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 274MLINKS+=rename.2 renameat.2 275MLINKS+=select.2 pselect.2 276MLINKS+=select.2 FD_ISSET.3 select.2 FD_ZERO.3 277MLINKS+=select.2 FD_SET.3 select.2 FD_CLR.3 278MLINKS+=send.2 sendmsg.2 send.2 sendto.2 279MLINKS+=setpgid.2 setpgrp.2 280MLINKS+=setresuid.2 getresgid.2 setresuid.2 getresuid.2 281MLINKS+=setresuid.2 setresgid.2 282MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2 283MLINKS+=shmat.2 shmdt.2 284MLINKS+=stat.2 S_ISBLK.2 stat.2 S_ISCHR.2 stat.2 S_ISDIR.2 285MLINKS+=stat.2 S_ISFIFO.2 stat.2 S_ISLNK.2 stat.2 S_ISREG.2 stat.2 S_ISSOCK.2 286MLINKS+=stat.2 fstat.2 stat.2 fstatat.2 stat.2 lstat.2 287MLINKS+=statfs.2 fstatfs.2 288MLINKS+=symlink.2 symlinkat.2 289MLINKS+=syscall.2 __syscall.2 290MLINKS+=truncate.2 ftruncate.2 291MLINKS+=unlink.2 unlinkat.2 292MLINKS+=utimes.2 futimens.2 utimes.2 futimes.2 utimes.2 utimensat.2 293MLINKS+=wait.2 WEXITSTATUS.2 wait.2 WCOREDUMP.2 wait.2 WSTOPSIG.2 294MLINKS+=wait.2 WIFCONTINUED.2 wait.2 WIFEXITED.2 295MLINKS+=wait.2 WIFSIGNALED.2 wait.2 WIFSTOPPED.2 wait.2 WTERMSIG.2 296MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2 297MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2 298