Home | History | Annotate | Line # | Download | only in sys
Makefile.inc revision 1.111.2.1
      1 #	$NetBSD: Makefile.inc,v 1.111.2.1 2001/03/05 23:34:39 nathanw 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 __vfork14.S brk.S exect.S fork.S msgctl.S pipe.S ptrace.S \
      9 	getcontext.S \
     10 	sbrk.S __semctl.S setlogin.S shmat.S shmctl.S sigaction.S \
     11 	sigpending.S sigprocmask.S sigreturn.S __sigreturn14.S sigsuspend.S \
     12 	syscall.S __syscall.S
     13 SRCS+=	cerror.S
     14 
     15 LSRCS+=	Lint_Ovfork.c Lint___vfork14.c Lint_brk.c Lint_exect.c Lint_fork.c \
     16 	Lint_pipe.c Lint_ptrace.c Lint_sbrk.c Lint_setlogin.c \
     17 	Lint_getcontext.c \
     18 	Lint___sigreturn14.c Lint_syscall.c Lint___syscall.c
     19 DPSRCS+= Lint_Ovfork.c Lint___vfork14.c Lint_brk.c Lint_exect.c Lint_fork.c \
     20 	Lint_getcontext.c \
     21 	Lint_pipe.c Lint_ptrace.c Lint_sbrk.c Lint_setlogin.c \
     22 	Lint___sigreturn14.c Lint_syscall.c Lint___syscall.c
     23 
     24 # glue to provide compatibility between GCC 1.X and 2.X and for compat
     25 # with old syscall interfaces.
     26 SRCS+=	ftruncate.c getdirentries.c lseek.c mmap.c msync.c \
     27 	pread.c preadv.c pwrite.c pwritev.c semctl.c \
     28 	sigaltstack.c stat.c swapon.c truncate.c
     29 
     30 # glue to syscalls that may pass structs or unions, which cannot be
     31 # handled portably and easily by the syscall interface. The glue
     32 # converts structs and unions to pointers to them.
     33 SRCS+=	__semctl13.c
     34 
     35 # "stub" POSIX.1b interfaces which return -1 and set errno to ENOSYS, so
     36 # we can avoid bumping libc's minor number as functions are added to the
     37 # kernel.
     38 SRCS+=	timer_create.c timer_delete.c timer_gettime.c timer_settime.c \
     39 	timer_getoverrun.c
     40 
     41 # namespace purity wrappers
     42 SRCS+=	_brk.c _fork.c _getcontext.c _pipe.c _sbrk.c
     43 
     44 
     45 # modules with default implementations on all architectures:
     46 ASM=	accept.o access.o acct.o adjtime.o bind.o chdir.o chflags.o \
     47 	chmod.o chown.o chroot.o clock_getres.o clock_gettime.o \
     48 	clock_settime.o close.o connect.o dup.o dup2.o execve.o \
     49 	fchdir.o fchflags.o fchmod.o fchown.o fchroot.o fcntl.o \
     50 	fdatasync.o fhopen.o fhstat.o fhstatfs.o \
     51 	fktrace.o flock.o fpathconf.o __fstat13.o fstatfs.o \
     52 	fsync.o futimes.o __getcwd.o \
     53 	getdents.o getfh.o getfsstat.o getgroups.o getitimer.o \
     54 	__getlogin.o getpeername.o getpgid.o getpgrp.o \
     55 	getpriority.o getrlimit.o getrusage.o getsid.o getsockname.o \
     56 	getsockopt.o gettimeofday.o ioctl.o kill.o ktrace.o \
     57 	lchflags.o lchmod.o lchown.o __lstat13.o lfs_bmapv.o lfs_markv.o \
     58 	lfs_segclean.o lfs_segwait.o link.o listen.o lutimes.o \
     59 	madvise.o mincore.o minherit.o mkdir.o mkfifo.o mknod.o \
     60 	mlock.o mlockall.o mount.o mprotect.o __msgctl13.o msgget.o msgrcv.o \
     61 	msgsnd.o __msync13.o munlock.o munlockall.o munmap.o nanosleep.o \
     62 	nfssvc.o ntp_adjtime.o ntp_gettime.o open.o pathconf.o \
     63 	poll.o profil.o quotactl.o read.o \
     64 	readlink.o readv.o reboot.o recvfrom.o recvmsg.o rename.o revoke.o \
     65 	rmdir.o select.o semconfig.o semget.o semop.o ____semctl13.o sendmsg.o \
     66 	sendto.o setcontext.o setegid.o seteuid.o setgid.o setgroups.o \
     67 	setitimer.o setpgid.o setpriority.o setregid.o setreuid.o setrlimit.o \
     68 	setsid.o setsockopt.o settimeofday.o setuid.o \
     69 	__shmctl13.o shmdt.o shmget.o shutdown.o __sigaction14.o \
     70 	__sigaltstack14.o __sigpending14.o __sigprocmask14.o __sigsuspend14.o \
     71 	socket.o socketpair.o __stat13.o statfs.o \
     72 	swapctl.o symlink.o sysarch.o umask.o undelete.o unlink.o \
     73 	unmount.o utimes.o utrace.o vadvise.o wait4.o write.o writev.o \
     74 	__sysctl.o \
     75 	__posix_chown.o __posix_fchown.o __posix_lchown.o __posix_rename.o \
     76 	_lwp_create.o _lwp_exit.o _lwp_self.o _lwp_wait.o \
     77 	_lwp_suspend.o _lwp_continue.o \
     78 	sa_register.o sa_stacks.o sa_enable.o sa_setconcurrency.o sa_yield.o \
     79 	sa_preempt.o
     80 
     81 
     82 PASM=	${ASM:.o=.po}
     83 SASM=	${ASM:.o=.so}
     84 
     85 NOERR=	getegid.o geteuid.o getgid.o getpid.o getppid.o getuid.o \
     86 	issetugid.o sync.o
     87 PNOERR= ${NOERR:.o=.po}
     88 SNOERR= ${NOERR:.o=.so}
     89 
     90 PSEUDONOERR=	_exit.o
     91 PPSEUDONOERR=	${PSEUDONOERR:.o=.po}
     92 SPSEUDONOERR=	${PSEUDONOERR:.o=.so}
     93 
     94 ACPPFLAGS=${CPPFLAGS:M-[ID]*}
     95 .if defined(DESTDIR)
     96 ACPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include
     97 .endif
     98 
     99 OBJS+=	${ASM} ${NOERR} ${PSEUDONOERR}
    100 
    101 ${PASM}: ${ARCHDIR}/SYS.h \
    102     ${DESTDIR}/usr/include/sys/syscall.h
    103 	@echo creating ${.TARGET}
    104 	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
    105 	    ${CPP} -DGPROF ${ACPPFLAGS} ${AINC} | \
    106 	    ${AS} -o ${.TARGET}.o
    107 	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
    108 	@rm -f ${.TARGET}.o
    109 
    110 ${SASM}: ${ARCHDIR}/SYS.h \
    111     ${DESTDIR}/usr/include/sys/syscall.h
    112 	@echo creating ${.TARGET}
    113 	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
    114 	    ${CPP} ${CPPPICFLAGS} ${ACPPFLAGS} ${AINC} | \
    115 	    ${AS} ${APICFLAGS} -o ${.TARGET}
    116 
    117 ${ASM}: ${ARCHDIR}/SYS.h \
    118     ${DESTDIR}/usr/include/sys/syscall.h
    119 	@echo creating ${.TARGET}
    120 	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
    121 	    ${CPP} ${ACPPFLAGS} ${AINC} | ${AS} -o ${.TARGET}.o
    122 	${LD} -x -r ${.TARGET}.o -o ${.TARGET}
    123 	rm -f ${.TARGET}.o
    124 
    125 ${PNOERR}: ${ARCHDIR}/SYS.h \
    126     ${DESTDIR}/usr/include/sys/syscall.h
    127 	@echo creating ${.TARGET}
    128 	@printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' | \
    129 	    ${CPP} -DGPROF ${ACPPFLAGS} ${AINC} | ${AS} -o ${.TARGET}.o
    130 	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
    131 	@rm -f ${.TARGET}.o
    132 
    133 ${SNOERR}: ${ARCHDIR}/SYS.h \
    134     ${DESTDIR}/usr/include/sys/syscall.h
    135 	@echo creating ${.TARGET}
    136 	@printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' | \
    137 	    ${CPP} ${CPPPICFLAGS} ${ACPPFLAGS} ${AINC} | \
    138 	    ${AS} ${APICFLAGS} -o ${.TARGET}
    139 
    140 ${NOERR}: ${ARCHDIR}/SYS.h \
    141     ${DESTDIR}/usr/include/sys/syscall.h
    142 	@echo creating ${.TARGET}
    143 	@printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' | \
    144 	    ${CPP} ${ACPPFLAGS} ${AINC} | ${AS} -o ${.TARGET}.o
    145 	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
    146 	@rm -f ${.TARGET}.o
    147 
    148 ${PPSEUDONOERR}: ${ARCHDIR}/SYS.h \
    149     ${DESTDIR}/usr/include/sys/syscall.h
    150 	@echo creating ${.TARGET}
    151 	@printf '#include "SYS.h"\n \
    152 	    PSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \
    153 	    ${CPP} -DGPROF ${ACPPFLAGS} ${AINC} | ${AS} -o ${.TARGET}.o
    154 	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
    155 	@rm -f ${.TARGET}.o
    156 
    157 ${SPSEUDONOERR}: ${ARCHDIR}/SYS.h \
    158     ${DESTDIR}/usr/include/sys/syscall.h
    159 	@echo creating ${.TARGET}
    160 	@printf '#include "SYS.h"\n \
    161 	    PSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \
    162 	    ${CPP} ${CPPPICFLAGS} ${ACPPFLAGS} ${AINC} | \
    163 	    ${AS} ${APICFLAGS} -o ${.TARGET}
    164 
    165 
    166 ${PSEUDONOERR}: ${ARCHDIR}/SYS.h \
    167     ${DESTDIR}/usr/include/sys/syscall.h
    168 	@echo creating ${.TARGET}
    169 	@printf '#include "SYS.h"\n \
    170 	    PSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \
    171 	    ${CPP} ${ACPPFLAGS} ${AINC} | ${AS} -o ${.TARGET}.o
    172 	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
    173 	@rm -f ${.TARGET}.o
    174 
    175 # Lint stubs for all automatically-generated assembly stubs (GENERATED)
    176 LSRCS+=	LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c
    177 DPSRCS+= LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c
    178 
    179 CLEANFILES+= LintSysNormal.c LintSysNoerr.c LintSysPseudo.c
    180 
    181 LintSysNormal.c: ${.CURDIR}/sys/makelintstub \
    182     ${DESTDIR}/usr/include/sys/syscall.h
    183 	@echo creating ${.TARGET}
    184 	@sh ${.CURDIR}/sys/makelintstub -o ${.TARGET} \
    185 	    -s ${DESTDIR}/usr/include/sys/syscall.h ${ASM}
    186 
    187 LintSysNoerr.c: ${.CURDIR}/sys/makelintstub \
    188     ${DESTDIR}/usr/include/sys/syscall.h
    189 	@echo creating ${.TARGET}
    190 	@sh ${.CURDIR}/sys/makelintstub -o ${.TARGET} -n \
    191 	    -s ${DESTDIR}/usr/include/sys/syscall.h ${NOERR}
    192 
    193 LintSysPseudoNoerr.c: ${.CURDIR}/sys/makelintstub \
    194     ${DESTDIR}/usr/include/sys/syscall.h
    195 	@echo creating ${.TARGET}
    196 	@sh ${.CURDIR}/sys/makelintstub -o ${.TARGET} -p \
    197 	    -s ${DESTDIR}/usr/include/sys/syscall.h ${PSEUDONOERR}
    198 
    199 MAN+=	accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 \
    200 	chflags.2 chmod.2 chown.2 chroot.2 clock_settime.2 close.2 connect.2 \
    201 	dup.2 execve.2 _exit.2 fcntl.2 fdatasync.2 fhopen.2 \
    202 	flock.2 fork.2 fsync.2 getcontext.2 getdents.2 getdirentries.3 \
    203 	getfh.2 getfsstat.2 getgid.2 getgroups.2 \
    204 	getitimer.2 getlogin.2 getpeername.2 getpgrp.2 getpid.2 \
    205 	getpriority.2 getrlimit.2 getrusage.2 getsid.2 getsockname.2 \
    206 	getsockopt.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \
    207 	kill.2 ktrace.2 lfs_bmapv.2 lfs_markv.2 lfs_segclean.2 lfs_segwait.2 \
    208 	link.2 listen.2 lseek.2 mkdir.2 mkfifo.2 mknod.2 \
    209 	madvise.2 mincore.2 minherit.2 mlock.2 mlockall.2 mmap.2 mount.2 \
    210 	mprotect.2 msgctl.2 msgget.2 msgrcv.2 msgsnd.2 msync.2 \
    211 	munmap.2 nanosleep.2 nfssvc.2 open.2 pathconf.2 pipe.2 \
    212 	poll.2 profil.2 ptrace.2 quotactl.2 read.2 readlink.2 \
    213 	reboot.2 recv.2 rename.2 revoke.2 rmdir.2 select.2 semctl.2 \
    214 	semget.2 semop.2 send.2 setgroups.2 setpgid.2 setregid.2 \
    215 	setreuid.2 setsid.2 setuid.2 shmat.2 shmctl.2 shmget.2 \
    216 	shutdown.2 sigaction.2 sigaltstack.2 sigpending.2 \
    217 	sigprocmask.2 sigreturn.2 sigstack.2 sigsuspend.2 socket.2 \
    218 	socketpair.2 stat.2 statfs.2 swapctl.2 swapon.3 symlink.2 \
    219 	sync.2 sysarch.2 syscall.2 truncate.2 umask.2 undelete.2 \
    220 	unlink.2 utimes.2 utrace.2 vfork.2 wait.2 write.2
    221 
    222 MLINKS+=brk.2 sbrk.2
    223 MLINKS+=dup.2 dup2.2
    224 MLINKS+=chdir.2 fchdir.2
    225 MLINKS+=chflags.2 fchflags.2 chflags.2 lchflags.2
    226 MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2
    227 MLINKS+=chown.2 fchown.2 chown.2 lchown.2
    228 MLINKS+=clock_settime.2 clock_gettime.2
    229 MLINKS+=clock_settime.2 clock_getres.2
    230 MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2
    231 MLINKS+=getcontext.2 setcontext.2
    232 MLINKS+=getgid.2 getegid.2
    233 MLINKS+=getitimer.2 setitimer.2
    234 MLINKS+=getlogin.2 setlogin.2
    235 MLINKS+=getpgrp.2 getpgid.2
    236 MLINKS+=getpid.2 getppid.2
    237 MLINKS+=getpriority.2 setpriority.2
    238 MLINKS+=getrlimit.2 setrlimit.2
    239 MLINKS+=getsockopt.2 setsockopt.2
    240 MLINKS+=gettimeofday.2 settimeofday.2
    241 MLINKS+=getuid.2 geteuid.2
    242 MLINKS+=intro.2 errno.2
    243 MLINKS+=ktrace.2 fktrace.2
    244 MLINKS+=lseek.2 seek.2
    245 MLINKS+=mlock.2 munlock.2
    246 MLINKS+=mlockall.2 munlockall.2
    247 MLINKS+=mount.2 unmount.2
    248 MLINKS+=pathconf.2 fpathconf.2
    249 MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2
    250 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2
    251 MLINKS+=send.2 sendmsg.2 send.2 sendto.2
    252 MLINKS+=setpgid.2 setpgrp.2
    253 MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2
    254 MLINKS+=shmat.2 shmdt.2
    255 MLINKS+=stat.2 fstat.2 stat.2 lstat.2
    256 MLINKS+=statfs.2 fstatfs.2
    257 MLINKS+=syscall.2 __syscall.2
    258 MLINKS+=truncate.2 ftruncate.2
    259 MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2
    260 MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2
    261 MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2
    262