1 1.74 thorpej # $NetBSD: Makefile.inc,v 1.74 1997/11/05 05:46:19 thorpej Exp $ 2 1.32 cgd # @(#)Makefile.inc 8.1 (Berkeley) 6/17/93 3 1.1 cgd 4 1.1 cgd # sys sources 5 1.15 cgd .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/sys ${.CURDIR}/sys 6 1.1 cgd 7 1.1 cgd # modules with non-default implementations on at least one architecture: 8 1.45 mycroft SRCS+= Ovfork.S brk.S cerror.S exect.S fork.S pipe.S ptrace.S \ 9 1.23 cgd sbrk.S setlogin.S sigpending.S sigprocmask.S sigreturn.S \ 10 1.15 cgd sigsuspend.S syscall.S 11 1.1 cgd 12 1.32 cgd # glue to provide compatibility between GCC 1.X and 2.X and for compat 13 1.32 cgd # with old syscall interfaces. 14 1.71 thorpej SRCS+= ftruncate.c lseek.c mmap.c semctl.c truncate.c stat.c msync.c swapon.c \ 15 1.71 thorpej getdirentries.c 16 1.53 jtc 17 1.53 jtc # "stub" POSIX.1b interfaces which return -1 and set errno to ENOSYS, so 18 1.53 jtc # we can avoid bumping libc's minor number as functions are added to the 19 1.53 jtc # kernel. 20 1.53 jtc SRCS+= timer_create.c timer_delete.c timer_gettime.c timer_settime.c \ 21 1.62 mikel timer_getoverrun.c 22 1.17 cgd 23 1.1 cgd # modules with default implementations on all architectures: 24 1.25 cgd ASM= accept.o access.o acct.o adjtime.o bind.o chdir.o chflags.o chmod.o \ 25 1.43 jtc chown.o chroot.o \ 26 1.46 jtc clock_getres.o clock_gettime.o clock_settime.o \ 27 1.43 jtc close.o connect.o dup.o dup2.o execve.o fchdir.o \ 28 1.71 thorpej fchflags.o fchmod.o fchown.o fcntl.o flock.o fpathconf.o \ 29 1.71 thorpej __fstat13.o fstatfs.o fsync.o futimes.o \ 30 1.71 thorpej getdents.o getfh.o getfsstat.o \ 31 1.41 jtc getgroups.o getitimer.o __getlogin.o getpeername.o getpgid.o \ 32 1.43 jtc getpgrp.o getpriority.o getrlimit.o getrusage.o \ 33 1.43 jtc getsockname.o getsockopt.o gettimeofday.o ioctl.o kill.o \ 34 1.71 thorpej ktrace.o lchmod.o lchown.o __lstat13.o \ 35 1.65 enami lfs_bmapv.o lfs_markv.o lfs_segclean.o lfs_segwait.o link.o \ 36 1.71 thorpej listen.o lutimes.o madvise.o mincore.o minherit.o \ 37 1.64 chuck mkdir.o mkfifo.o mknod.o mlock.o \ 38 1.72 thorpej mount.o mprotect.o msgctl.o msgget.o msgrcv.o msgsnd.o __msync13.o \ 39 1.52 jtc munlock.o munmap.o nanosleep.o nfssvc.o ntp_adjtime.o ntp_gettime.o \ 40 1.46 jtc open.o pathconf.o poll.o \ 41 1.39 mycroft profil.o quotactl.o \ 42 1.45 mycroft read.o readlink.o readv.o reboot.o \ 43 1.45 mycroft recvfrom.o recvmsg.o rename.o revoke.o \ 44 1.33 cgd rmdir.o select.o semconfig.o semget.o semop.o sendmsg.o sendto.o \ 45 1.33 cgd setegid.o seteuid.o setgid.o setgroups.o setitimer.o setpgid.o \ 46 1.37 mycroft setpriority.o setregid.o setreuid.o \ 47 1.37 mycroft setrlimit.o setsid.o setsockopt.o settimeofday.o \ 48 1.33 cgd setuid.o shmat.o shmctl.o shmdt.o shmget.o shutdown.o sigaction.o \ 49 1.71 thorpej sigaltstack.o socket.o socketpair.o __stat13.o statfs.o swapctl.o \ 50 1.43 jtc symlink.o sysarch.o umask.o undelete.o unlink.o unmount.o \ 51 1.33 cgd utimes.o vadvise.o wait4.o write.o writev.o __semctl.o __syscall.o \ 52 1.33 cgd __sysctl.o 53 1.17 cgd 54 1.6 mycroft PASM= ${ASM:.o=.po} 55 1.10 pk SASM= ${ASM:.o=.so} 56 1.1 cgd 57 1.43 jtc NOERR= getegid.o geteuid.o getgid.o getpid.o getppid.o getuid.o sync.o 58 1.43 jtc PNOERR= ${NOERR:.o=.po} 59 1.43 jtc SNOERR= ${NOERR:.o=.so} 60 1.43 jtc 61 1.54 kleink PSEUDONOERR= _exit.o 62 1.54 kleink PPSEUDONOERR= ${PSEUDONOERR:.o=.po} 63 1.54 kleink SPSEUDONOERR= ${PSEUDONOERR:.o=.so} 64 1.1 cgd 65 1.54 kleink OBJS+= ${ASM} ${NOERR} ${PSEUDONOERR} 66 1.1 cgd 67 1.55 kleink ${PASM}: ${.CURDIR}/arch/${MACHINE_ARCH}/SYS.h \ 68 1.59 cjs ${DESTDIR}/usr/include/sys/syscall.h 69 1.6 mycroft @echo creating ${.TARGET} 70 1.1 cgd @printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \ 71 1.73 lukem ${CPP} -DPROF ${CPPFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o 72 1.34 christos @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 73 1.34 christos @rm -f ${.TARGET}.o 74 1.5 mycroft 75 1.55 kleink ${SASM}: ${.CURDIR}/arch/${MACHINE_ARCH}/SYS.h \ 76 1.59 cjs ${DESTDIR}/usr/include/sys/syscall.h 77 1.10 pk @echo creating ${.TARGET} 78 1.10 pk @printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \ 79 1.73 lukem ${CPP} ${CPPPICFLAGS} ${CPPFLAGS:M-[ID]*} ${AINC} | \ 80 1.56 jonathan ${AS} ${APICFLAGS} -o ${.TARGET} 81 1.10 pk 82 1.55 kleink ${ASM}: ${.CURDIR}/arch/${MACHINE_ARCH}/SYS.h \ 83 1.59 cjs ${DESTDIR}/usr/include/sys/syscall.h 84 1.6 mycroft @echo creating ${.TARGET} 85 1.1 cgd @printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \ 86 1.73 lukem ${CPP} ${CPPFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o 87 1.43 jtc @${LD} -x -r ${.TARGET}.o -o ${.TARGET} 88 1.43 jtc @rm -f ${.TARGET}.o 89 1.43 jtc 90 1.55 kleink ${PNOERR}: ${.CURDIR}/arch/${MACHINE_ARCH}/SYS.h \ 91 1.59 cjs ${DESTDIR}/usr/include/sys/syscall.h 92 1.43 jtc @echo creating ${.TARGET} 93 1.43 jtc @printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' | \ 94 1.73 lukem ${CPP} -DPROF ${CPPFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o 95 1.43 jtc @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 96 1.43 jtc @rm -f ${.TARGET}.o 97 1.43 jtc 98 1.55 kleink ${SNOERR}: ${.CURDIR}/arch/${MACHINE_ARCH}/SYS.h \ 99 1.59 cjs ${DESTDIR}/usr/include/sys/syscall.h 100 1.43 jtc @echo creating ${.TARGET} 101 1.43 jtc @printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' | \ 102 1.73 lukem ${CPP} ${CPPPICFLAGS} ${CPPFLAGS:M-[ID]*} ${AINC} | \ 103 1.56 jonathan ${AS} ${APICFLAGS} -o ${.TARGET} 104 1.43 jtc 105 1.55 kleink ${NOERR}: ${.CURDIR}/arch/${MACHINE_ARCH}/SYS.h \ 106 1.59 cjs ${DESTDIR}/usr/include/sys/syscall.h 107 1.43 jtc @echo creating ${.TARGET} 108 1.43 jtc @printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' | \ 109 1.73 lukem ${CPP} ${CPPFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o 110 1.34 christos @${LD} -x -r ${.TARGET}.o -o ${.TARGET} 111 1.34 christos @rm -f ${.TARGET}.o 112 1.5 mycroft 113 1.54 kleink ${PPSEUDONOERR}: ${.CURDIR}/arch/${MACHINE_ARCH}/SYS.h \ 114 1.59 cjs ${DESTDIR}/usr/include/sys/syscall.h 115 1.6 mycroft @echo creating ${.TARGET} 116 1.54 kleink @printf '#include "SYS.h"\n \ 117 1.54 kleink PSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \ 118 1.73 lukem ${CPP} -DPROF ${CPPFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o 119 1.34 christos @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 120 1.34 christos @rm -f ${.TARGET}.o 121 1.10 pk 122 1.54 kleink ${SPSEUDONOERR}: ${.CURDIR}/arch/${MACHINE_ARCH}/SYS.h \ 123 1.59 cjs ${DESTDIR}/usr/include/sys/syscall.h 124 1.10 pk @echo creating ${.TARGET} 125 1.54 kleink @printf '#include "SYS.h"\n \ 126 1.54 kleink PSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \ 127 1.73 lukem ${CPP} ${CPPPICFLAGS} ${CPPFLAGS:M-[ID]*} ${AINC} | \ 128 1.56 jonathan ${AS} ${APICFLAGS} -o ${.TARGET} 129 1.56 jonathan 130 1.1 cgd 131 1.54 kleink ${PSEUDONOERR}: ${.CURDIR}/arch/${MACHINE_ARCH}/SYS.h \ 132 1.59 cjs ${DESTDIR}/usr/include/sys/syscall.h 133 1.6 mycroft @echo creating ${.TARGET} 134 1.54 kleink @printf '#include "SYS.h"\n \ 135 1.54 kleink PSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \ 136 1.73 lukem ${CPP} ${CPPFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o 137 1.34 christos @${LD} -X -r ${.TARGET}.o -o ${.TARGET} 138 1.34 christos @rm -f ${.TARGET}.o 139 1.47 cgd 140 1.74 thorpej # Lint stubs for all automatically-generated assembly stubs (GENERATED) 141 1.74 thorpej LSRCS+= LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c 142 1.74 thorpej DPSRCS+= LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c 143 1.74 thorpej 144 1.74 thorpej CLEANFILES+= LintSysNormal.c LintSysNoerr.c LintSysPseudo.c 145 1.74 thorpej 146 1.74 thorpej LintSysNormal.c: ${.CURDIR}/sys/makelintstub \ 147 1.74 thorpej ${DESTDIR}/usr/include/sys/syscall.h 148 1.74 thorpej @echo creating ${.TARGET} 149 1.74 thorpej @${.CURDIR}/sys/makelintstub -o ${.TARGET} \ 150 1.74 thorpej -s ${DESTDIR}/usr/include/sys/syscall.h ${ASM} 151 1.74 thorpej 152 1.74 thorpej LintSysNoerr.c: ${.CURDIR}/sys/makelintstub \ 153 1.74 thorpej ${DESTDIR}/usr/include/sys/syscall.h 154 1.74 thorpej @echo creating ${.TARGET} 155 1.74 thorpej @${.CURDIR}/sys/makelintstub -o ${.TARGET} -n \ 156 1.74 thorpej -s ${DESTDIR}/usr/include/sys/syscall.h ${NOERR} 157 1.74 thorpej 158 1.74 thorpej LintSysPseudoNoerr.c: ${.CURDIR}/sys/makelintstub \ 159 1.74 thorpej ${DESTDIR}/usr/include/sys/syscall.h 160 1.47 cgd @echo creating ${.TARGET} 161 1.74 thorpej @${.CURDIR}/sys/makelintstub -o ${.TARGET} -p \ 162 1.74 thorpej -s ${DESTDIR}/usr/include/sys/syscall.h ${PSEUDONOERR} 163 1.1 cgd 164 1.32 cgd MAN+= accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 chflags.2 \ 165 1.32 cgd chmod.2 chown.2 chroot.2 close.2 connect.2 dup.2 execve.2 _exit.2 \ 166 1.70 christos fcntl.2 flock.2 fork.2 fsync.2 getdents.2 getdirentries.3 getfh.2 \ 167 1.67 fvdl getfsstat.2 getgid.2 getgroups.2 getitimer.2 getlogin.2 getpeername.2 \ 168 1.67 fvdl getpgrp.2 getpid.2 getpriority.2 getrlimit.2 getrusage.2 getsockname.2 \ 169 1.48 mikel getsockopt.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 kill.2 ktrace.2 \ 170 1.64 chuck link.2 listen.2 lseek.2 mkdir.2 \ 171 1.64 chuck mkfifo.2 mknod.2 madvise.2 mincore.2 minherit.2 \ 172 1.48 mikel mlock.2 mmap.2 mount.2 mprotect.2 msgctl.2 msgget.2 msgrcv.2 \ 173 1.52 jtc msgsnd.2 msync.2 munmap.2 nanosleep.2 nfssvc.2 open.2 pathconf.2 \ 174 1.52 jtc pipe.2 poll.2 \ 175 1.40 mycroft profil.2 ptrace.2 quotactl.2 read.2 readlink.2 reboot.2 recv.2 \ 176 1.51 mikel rename.2 revoke.2 rmdir.2 select.2 semctl.2 semget.2 semop.2 \ 177 1.48 mikel send.2 setgroups.2 setpgid.2 setregid.2 setreuid.2 setsid.2 setuid.2 \ 178 1.48 mikel shmat.2 shmctl.2 shmget.2 \ 179 1.48 mikel shutdown.2 sigaction.2 sigaltstack.2 sigpending.2 \ 180 1.32 cgd sigprocmask.2 sigreturn.2 sigstack.2 sigsuspend.2 socket.2 \ 181 1.70 christos socketpair.2 stat.2 statfs.2 swapctl.2 swapon.3 symlink.2 sync.2 \ 182 1.70 christos sysarch.2 syscall.2 truncate.2 umask.2 unlink.2 utimes.2 vfork.2 \ 183 1.70 christos wait.2 write.2 184 1.35 jtc 185 1.1 cgd MLINKS+=brk.2 sbrk.2 186 1.1 cgd MLINKS+=dup.2 dup2.2 187 1.1 cgd MLINKS+=chdir.2 fchdir.2 188 1.1 cgd MLINKS+=chflags.2 fchflags.2 189 1.65 enami MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2 190 1.65 enami MLINKS+=chown.2 fchown.2 chown.2 lchown.2 191 1.1 cgd MLINKS+=getgid.2 getegid.2 192 1.1 cgd MLINKS+=getitimer.2 setitimer.2 193 1.1 cgd MLINKS+=getlogin.2 setlogin.2 194 1.48 mikel MLINKS+=getpgrp.2 getpgid.2 195 1.1 cgd MLINKS+=getpid.2 getppid.2 196 1.1 cgd MLINKS+=getpriority.2 setpriority.2 197 1.1 cgd MLINKS+=getrlimit.2 setrlimit.2 198 1.1 cgd MLINKS+=getsockopt.2 setsockopt.2 199 1.1 cgd MLINKS+=gettimeofday.2 settimeofday.2 200 1.1 cgd MLINKS+=getuid.2 geteuid.2 201 1.1 cgd MLINKS+=intro.2 errno.2 202 1.1 cgd MLINKS+=lseek.2 seek.2 203 1.23 cgd MLINKS+=mlock.2 munlock.2 204 1.1 cgd MLINKS+=mount.2 unmount.2 205 1.23 cgd MLINKS+=pathconf.2 fpathconf.2 206 1.1 cgd MLINKS+=read.2 readv.2 207 1.1 cgd MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 208 1.1 cgd MLINKS+=send.2 sendmsg.2 send.2 sendto.2 209 1.14 mycroft MLINKS+=setpgid.2 setpgrp.2 210 1.19 cgd MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2 211 1.48 mikel MLINKS+=shmat.2 shmdt.2 212 1.1 cgd MLINKS+=stat.2 fstat.2 stat.2 lstat.2 213 1.1 cgd MLINKS+=statfs.2 fstatfs.2 214 1.32 cgd MLINKS+=syscall.2 __syscall.2 215 1.1 cgd MLINKS+=truncate.2 ftruncate.2 216 1.65 enami MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2 217 1.1 cgd MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2 218 1.1 cgd MLINKS+=write.2 writev.2 219