Home | History | Annotate | Line # | Download | only in sys
Makefile.inc revision 1.190
      1  1.190        ad #	$NetBSD: Makefile.inc,v 1.190 2008/06/25 11:19:28 ad Exp $
      2   1.79     perry #	@(#)Makefile.inc	8.3 (Berkeley) 10/24/94
      3    1.1       cgd 
      4    1.1       cgd # sys sources
      5   1.90  drochner .PATH: ${ARCHDIR}/sys ${.CURDIR}/sys
      6    1.1       cgd 
      7    1.1       cgd # modules with non-default implementations on at least one architecture:
      8  1.160  christos SRCS+=	__clone.S __vfork14.S brk.S exect.S fork.S pipe.S \
      9  1.132   thorpej 	getcontext.S \
     10  1.160  christos 	ptrace.S sbrk.S shmat.S \
     11  1.121        tv 	syscall.S __syscall.S __clone.S cerror.S
     12   1.75       cgd 
     13  1.188  christos # other sources shared with the kernel, used in syscalls
     14  1.188  christos SRCS+=	cpuset.c
     15  1.188  christos 
     16  1.160  christos _LSRC+=	Lint___clone.c Lint___vfork14.c Lint_brk.c Lint_clone.c \
     17  1.132   thorpej 	Lint_getcontext.c \
     18  1.158  christos 	Lint_exect.c Lint_pipe.c Lint_ptrace.c Lint_sbrk.c \
     19  1.158  christos 	Lint_syscall.c Lint___syscall.c \
     20  1.121        tv 	LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c
     21  1.121        tv 
     22  1.124        tv .if ${MKLINT} != "no"
     23  1.141     lukem LSRCS+=		${_LSRC}
     24  1.141     lukem DPSRCS+=	${_LSRC:MLintSys*.c}
     25  1.141     lukem CLEANFILES+=	${_LSRC:MLintSys*.c}
     26  1.124        tv .endif
     27    1.1       cgd 
     28  1.137  jdolecek # glue to offer userland wrappers for some syscalls
     29  1.187     rmind SRCS+=	posix_fadvise.c posix_madvise.c sigtimedwait.c sigwait.c \
     30  1.187     rmind 	sigwaitinfo.c statvfs.c swapon.c
     31  1.137  jdolecek 
     32   1.32       cgd # glue to provide compatibility between GCC 1.X and 2.X and for compat
     33   1.32       cgd # with old syscall interfaces.
     34  1.181       dsl GLUE+=	adjtime.c clock_settime.c ftruncate.c \
     35  1.160  christos 	lseek.c mmap.c ntp_adjtime.c pread.c preadv.c pwrite.c \
     36  1.160  christos 	pwritev.c settimeofday.c \
     37  1.181       dsl 	truncate.c
     38  1.181       dsl 
     39  1.181       dsl # 'glue' files might .c or .S depending on the architecture
     40  1.181       dsl .for glue in ${GLUE}
     41  1.186       mrg . if exists(${glue:.c=.S})
     42  1.181       dsl # Build the ASM glue file
     43  1.181       dsl SRCS+=${glue:.c=.S}
     44  1.186       mrg . else
     45  1.186       mrg .  if exists(__${glue:.c=.S})
     46  1.186       mrg SRCS+=__${glue:.c=.S} ${glue}
     47  1.186       mrg .  else
     48  1.181       dsl # Build the C glue file
     49  1.181       dsl SRCS+= ${glue}
     50  1.181       dsl # and an asm entry for __<syscall>
     51  1.181       dsl ASM_GLUE+= __${glue:.c=.S}
     52  1.186       mrg .  endif
     53  1.186       mrg . endif
     54  1.181       dsl .endfor
     55   1.53       jtc 
     56   1.98  christos # glue to syscalls that may pass structs or unions, which cannot be
     57   1.98  christos # handled portably and easily by the syscall interface. The glue
     58   1.98  christos # converts structs and unions to pointers to them.
     59   1.98  christos SRCS+=	__semctl13.c
     60   1.98  christos 
     61  1.103    kleink # namespace purity wrappers
     62  1.132   thorpej SRCS+=	_brk.c _fork.c _getcontext.c _pipe.c _sbrk.c
     63   1.17       cgd 
     64    1.1       cgd # modules with default implementations on all architectures:
     65  1.155      matt ASM=	access.S acct.S \
     66  1.155      matt 	bind.S \
     67  1.155      matt 	chdir.S chflags.S chmod.S chown.S chroot.S clock_getres.S \
     68  1.155      matt 		clock_gettime.S \
     69  1.139   nathanw 	dup.S dup2.S  \
     70  1.154   thorpej 	extattrctl.S \
     71  1.155      matt 		extattr_delete_fd.S extattr_delete_file.S \
     72  1.155      matt 		extattr_delete_link.S extattr_get_fd.S extattr_get_file.S \
     73  1.155      matt 		extattr_get_link.S extattr_list_fd.S extattr_list_file.S \
     74  1.155      matt 		extattr_list_link.S extattr_set_fd.S extattr_set_file.S \
     75  1.155      matt 		extattr_set_link.S \
     76  1.132   thorpej 	fchdir.S fchflags.S fchmod.S fchown.S fchroot.S \
     77  1.169    martin 		__fhopen40.S __fhstat40.S __fhstatvfs140.S fktrace.S \
     78  1.159  christos 		flock.S fpathconf.S __fstat30.S fstatvfs1.S futimes.S \
     79  1.168    martin 	__getcwd.S __getdents30.S __getfh30.S getvfsstat.S getgroups.S getitimer.S \
     80  1.155      matt 		__getlogin.S getpeername.S getpgid.S getpgrp.S \
     81  1.155      matt 		getpriority.S getrlimit.S getrusage.S getsid.S getsockname.S \
     82  1.155      matt 		getsockopt.S gettimeofday.S \
     83  1.155      matt 	ioctl.S \
     84  1.155      matt 	kevent.S kqueue.S ktrace.S \
     85  1.155      matt 		_ksem_close.S _ksem_destroy.S _ksem_getvalue.S _ksem_init.S \
     86  1.155      matt 		_ksem_post.S _ksem_trywait.S _ksem_unlink.S _ksem_wait.S \
     87  1.155      matt 		_ksem_open.S \
     88  1.155      matt 	lchflags.S lchmod.S lchown.S lfs_bmapv.S lfs_markv.S lfs_segclean.S \
     89  1.159  christos 		lfs_segwait.S link.S listen.S __lstat30.S lutimes.S \
     90  1.171        ad 		_lwp_create.S _lwp_exit.S _lwp_kill.S _lwp_park.S \
     91  1.171        ad 		_lwp_self.S _lwp_wait.S _lwp_unpark.S _lwp_unpark_all.S \
     92  1.171        ad 		_lwp_suspend.S _lwp_continue.S _lwp_wakeup.S _lwp_detach.S \
     93  1.186       mrg 		_lwp_setprivate.S \
     94  1.179        ad 		_lwp_setname.S _lwp_getname.S _lwp_ctl.S \
     95  1.119        tv 	madvise.S mincore.S minherit.S mkdir.S mkfifo.S mknod.S \
     96  1.184        ad 		mlock.S mlockall.S modctl.S __mount50.S mprotect.S __msgctl13.S \
     97  1.186       mrg 		msgget.S munlock.S munlockall.S munmap.S \
     98  1.166  drochner 	nfssvc.S __ntp_gettime30.S \
     99  1.157    kleink 	pathconf.S pmc_get_info.S pmc_control.S __posix_chown.S \
    100  1.185    martin 		__posix_fadvise50.S \
    101  1.155      matt 		__posix_fchown.S __posix_lchown.S __posix_rename.S profil.S \
    102  1.155      matt 	quotactl.S \
    103  1.174  christos 	rasctl.S reboot.S recvfrom.S recvmsg.S rename.S revoke.S \
    104  1.155      matt 		rmdir.S \
    105  1.132   thorpej 	sa_register.S sa_stacks.S sa_enable.S sa_setconcurrency.S sa_yield.S \
    106  1.155      matt 		sa_preempt.S semconfig.S semget.S semop.S ____semctl13.S \
    107  1.155      matt 		sendmsg.S sendto.S setegid.S setcontext.S seteuid.S setgid.S \
    108  1.155      matt 		setgroups.S setitimer.S __setlogin.S setpgid.S setpriority.S \
    109  1.155      matt 		setregid.S setreuid.S setrlimit.S setsid.S setsockopt.S \
    110  1.155      matt 		setuid.S __shmctl13.S shmdt.S shmget.S shutdown.S \
    111  1.155      matt 		__sigaltstack14.S __sigpending14.S __sigaction_sigtramp.S \
    112  1.167       mrg 		__sigtimedwait.S __socket30.S socketpair.S __stat30.S statvfs1.S \
    113  1.155      matt 		swapctl.S symlink.S __sysctl.S \
    114  1.132   thorpej 	timer_create.S timer_delete.S timer_gettime.S timer_getoverrun.S \
    115  1.155      matt 		timer_settime.S \
    116  1.155      matt 	umask.S undelete.S unlink.S unmount.S utimes.S utrace.S uuidgen.S \
    117  1.155      matt 	vadvise.S
    118  1.132   thorpej 
    119  1.186       mrg # modules with potentially non default implementations
    120  1.186       mrg ASM_MD=	_lwp_getprivate.S mremap.S
    121  1.186       mrg 
    122  1.186       mrg .for f in ${ASM_MD}
    123  1.186       mrg . if !exists(${f})
    124  1.186       mrg    ASM+=	${f}
    125  1.186       mrg . else
    126  1.186       mrg    SRCS+=	${f}
    127  1.186       mrg . endif
    128  1.186       mrg .endfor
    129  1.186       mrg 
    130  1.177     rmind WEAKASM= accept.S aio_suspend.S close.S connect.S execve.S \
    131  1.153    kleink 	fcntl.S fdatasync.S fsync.S fsync_range.S \
    132  1.177     rmind 	kill.S mq_receive.S mq_send.S mq_timedreceive.S mq_timedsend.S \
    133  1.177     rmind 	msgrcv.S msgsnd.S __msync13.S \
    134  1.174  christos 	nanosleep.S open.S poll.S pollts.S pselect.S read.S readlink.S readv.S \
    135  1.183     rmind 	_sched_setparam.S _sched_getparam.S _sched_setaffinity.S \
    136  1.183     rmind 	_sched_getaffinity.S sched_yield.S \
    137  1.183     rmind 	select.S __sigprocmask14.S __sigsuspend14.S sysarch.S \
    138  1.146        cl 	wait4.S write.S writev.S
    139  1.123   thorpej 
    140  1.119        tv NOERR=	getegid.S geteuid.S getgid.S getpid.S getppid.S getuid.S \
    141  1.119        tv 	issetugid.S sync.S
    142    1.1       cgd 
    143  1.119        tv PSEUDONOERR=	_exit.S
    144  1.117        tv 
    145  1.181       dsl SRCS+=		${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR} ${ASM_GLUE}
    146  1.181       dsl CLEANFILES+=	${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR} ${ASM_GLUE}
    147  1.119        tv 
    148  1.135   thorpej ASMDEPS=	${.CURDIR}/sys/Makefile.inc ${ARCHDIR}/SYS.h \
    149  1.135   thorpej 		${DESTDIR}/usr/include/sys/syscall.h
    150  1.135   thorpej 
    151  1.172        ad _LINTASM=	${ASM:Nsa_*.S} ${WEAKASM:Nsa_*.S}
    152  1.172        ad 
    153  1.135   thorpej ${ASM}: ${ASMDEPS}
    154  1.148     lukem 	${_MKTARGET_CREATE}
    155  1.117        tv 	printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >${.TARGET}
    156  1.117        tv 
    157  1.181       dsl ${ASM_GLUE}: ${ASMDEPS}
    158  1.181       dsl 	${_MKTARGET_CREATE}
    159  1.181       dsl 	printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/__//})\n' >${.TARGET}
    160  1.181       dsl 
    161  1.135   thorpej ${WEAKASM}: ${ASMDEPS}
    162  1.148     lukem 	${_MKTARGET_CREATE}
    163  1.132   thorpej 	printf '#include "SYS.h"\nWSYSCALL(${.PREFIX},_sys_${.PREFIX})\nWEAK_ALIAS(_${.PREFIX},_sys_${.PREFIX})\n' >${.TARGET}
    164  1.132   thorpej 
    165  1.135   thorpej ${NOERR}: ${ASMDEPS}
    166  1.148     lukem 	${_MKTARGET_CREATE}
    167  1.117        tv 	printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' >${.TARGET}
    168  1.117        tv 
    169  1.135   thorpej ${PSEUDONOERR}: ${ASMDEPS}
    170  1.148     lukem 	${_MKTARGET_CREATE}
    171  1.121        tv 	printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' >${.TARGET}
    172  1.162  christos 	# add an _Exit alias to _exit
    173  1.162  christos 	printf 'STRONG_ALIAS(${.PREFIX:S/e/E/},${.PREFIX})\n' >>${.TARGET}
    174   1.74   thorpej 
    175   1.74   thorpej LintSysNormal.c: ${.CURDIR}/sys/makelintstub \
    176   1.74   thorpej     ${DESTDIR}/usr/include/sys/syscall.h
    177  1.148     lukem 	${_MKTARGET_CREATE}
    178  1.140  christos 	CPP=${CPP:Q} ${HOST_SH} ${.CURDIR}/sys/makelintstub -o ${.TARGET} \
    179  1.172        ad 	    -s ${DESTDIR}/usr/include/sys/syscall.h ${_LINTASM}
    180   1.74   thorpej 
    181   1.74   thorpej LintSysNoerr.c: ${.CURDIR}/sys/makelintstub \
    182   1.74   thorpej     ${DESTDIR}/usr/include/sys/syscall.h
    183  1.148     lukem 	${_MKTARGET_CREATE}
    184  1.140  christos 	CPP=${CPP:Q} ${HOST_SH} ${.CURDIR}/sys/makelintstub -o ${.TARGET} -n \
    185   1.74   thorpej 	    -s ${DESTDIR}/usr/include/sys/syscall.h ${NOERR}
    186   1.74   thorpej 
    187   1.74   thorpej LintSysPseudoNoerr.c: ${.CURDIR}/sys/makelintstub \
    188   1.74   thorpej     ${DESTDIR}/usr/include/sys/syscall.h
    189  1.148     lukem 	${_MKTARGET_CREATE}
    190  1.140  christos 	CPP=${CPP:Q} ${HOST_SH} ${.CURDIR}/sys/makelintstub -o ${.TARGET} -p \
    191   1.74   thorpej 	    -s ${DESTDIR}/usr/include/sys/syscall.h ${PSEUDONOERR}
    192    1.1       cgd 
    193   1.79     perry MAN+=	accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 \
    194  1.113   thorpej 	chflags.2 chmod.2 chown.2 chroot.2 clock_settime.2 clone.2 close.2 \
    195  1.154   thorpej 	connect.2 dup.2 execve.2 _exit.2 extattr_get_file.2 \
    196  1.154   thorpej 	fcntl.2 fdatasync.2 fhopen.2 \
    197  1.160  christos 	flock.2 fork.2 fsync.2 getcontext.2 getdents.2 \
    198  1.152  christos 	getfh.2 getvfsstat.2 getgid.2 getgroups.2 \
    199   1.79     perry 	getitimer.2 getlogin.2 getpeername.2 getpgrp.2 getpid.2 \
    200   1.80   thorpej 	getpriority.2 getrlimit.2 getrusage.2 getsid.2 getsockname.2 \
    201  1.101   minoura 	getsockopt.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \
    202  1.129  jdolecek 	kill.2 kqueue.2 ktrace.2 \
    203  1.129  jdolecek 	lfs_bmapv.2 lfs_markv.2 lfs_segclean.2 lfs_segwait.2 \
    204  1.182      yamt 	link.2 listen.2 lseek.2 \
    205  1.182      yamt 	_lwp_create.2 _lwp_ctl.2 _lwp_detach.2 _lwp_exit.2 \
    206  1.182      yamt 	_lwp_self.2 _lwp_setname.2 \
    207  1.182      yamt 	_lwp_suspend.2 _lwp_wakeup.2 _lwp_wait.2 _lwp_kill.2 \
    208  1.182      yamt 	_lwp_getname.2 _lwp_getprivate.2 \
    209  1.182      yamt 	_lwp_park.2 _lwp_unpark.2 _lwp_unpark_all.2 \
    210  1.132   thorpej 	mkdir.2 mkfifo.2 mknod.2 \
    211   1.92   thorpej 	madvise.2 mincore.2 minherit.2 mlock.2 mlockall.2 mmap.2 mount.2 \
    212  1.176     joerg 	mprotect.2 mremap.2 msgctl.2 msgget.2 msgrcv.2 msgsnd.2 msync.2 \
    213  1.114       wiz 	munmap.2 nanosleep.2 nfssvc.2 ntp_adjtime.2 open.2 pathconf.2 pipe.2 \
    214  1.163      yamt 	pmc_control.2 poll.2 posix_fadvise.2 profil.2 ptrace.2 quotactl.2 \
    215  1.163      yamt 	rasctl.2 read.2 readlink.2 \
    216  1.149      yamt 	reboot.2 recv.2 rename.2 revoke.2 rmdir.2 \
    217  1.149      yamt 	select.2 semctl.2 \
    218   1.79     perry 	semget.2 semop.2 send.2 setgroups.2 setpgid.2 setregid.2 \
    219   1.79     perry 	setreuid.2 setsid.2 setuid.2 shmat.2 shmctl.2 shmget.2 \
    220   1.48     mikel 	shutdown.2 sigaction.2 sigaltstack.2 sigpending.2 \
    221  1.151  drochner 	sigprocmask.2 sigstack.2 sigsuspend.2 sigtimedwait.2 \
    222  1.137  jdolecek 	socket.2 \
    223  1.152  christos 	socketpair.2 stat.2 statvfs.2 swapctl.2 swapon.3 symlink.2 \
    224  1.142  christos 	sync.2 sysarch.2 syscall.2 timer_create.2 timer_delete.2 \
    225  1.143  christos 	timer_settime.2 truncate.2 umask.2 undelete.2 \
    226  1.147    tsarna 	unlink.2 utimes.2 utrace.2 uuidgen.2 vfork.2 wait.2 write.2
    227   1.35       jtc 
    228  1.138     bjh21 MLINKS+=_exit.2 _Exit.2
    229    1.1       cgd MLINKS+=brk.2 sbrk.2
    230  1.113   thorpej MLINKS+=clone.2 __clone.2
    231    1.1       cgd MLINKS+=dup.2 dup2.2
    232    1.1       cgd MLINKS+=chdir.2 fchdir.2
    233  1.106     enami MLINKS+=chflags.2 fchflags.2 chflags.2 lchflags.2
    234   1.65     enami MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2
    235   1.65     enami MLINKS+=chown.2 fchown.2 chown.2 lchown.2
    236  1.112    kleink MLINKS+=chroot.2 fchroot.2
    237   1.88    kleink MLINKS+=clock_settime.2 clock_gettime.2
    238   1.88    kleink MLINKS+=clock_settime.2 clock_getres.2
    239  1.154   thorpej MLINKS+=extattr_get_file.2 extattr_set_file.2 \
    240  1.154   thorpej 	extattr_get_file.2 extattr_delete_file.2 \
    241  1.154   thorpej 	extattr_get_file.2 extattr_list_file.2 \
    242  1.154   thorpej 	extattr_get_file.2 extattr_get_fd.2 \
    243  1.154   thorpej 	extattr_get_file.2 extattr_set_fd.2 \
    244  1.154   thorpej 	extattr_get_file.2 extattr_delete_fd.2 \
    245  1.154   thorpej 	extattr_get_file.2 extattr_list_fd.2 \
    246  1.154   thorpej 	extattr_get_file.2 extattr_get_link.2 \
    247  1.154   thorpej 	extattr_get_file.2 extattr_set_link.2 \
    248  1.154   thorpej 	extattr_get_file.2 extattr_delete_link.2 \
    249  1.154   thorpej 	extattr_get_file.2 extattr_list_link.2
    250  1.152  christos MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatvfs.2 fhopen.2 fhstatvfs1.2
    251  1.145   thorpej MLINKS+=fsync.2 fsync_range.2
    252  1.132   thorpej MLINKS+=getcontext.2 setcontext.2
    253    1.1       cgd MLINKS+=getgid.2 getegid.2
    254    1.1       cgd MLINKS+=getitimer.2 setitimer.2
    255    1.1       cgd MLINKS+=getlogin.2 setlogin.2
    256  1.190        ad MLINKS+=getlogin.2 getlogin_r.2
    257   1.48     mikel MLINKS+=getpgrp.2 getpgid.2
    258    1.1       cgd MLINKS+=getpid.2 getppid.2
    259    1.1       cgd MLINKS+=getpriority.2 setpriority.2
    260    1.1       cgd MLINKS+=getrlimit.2 setrlimit.2
    261    1.1       cgd MLINKS+=getsockopt.2 setsockopt.2
    262    1.1       cgd MLINKS+=gettimeofday.2 settimeofday.2
    263    1.1       cgd MLINKS+=getuid.2 geteuid.2
    264    1.1       cgd MLINKS+=intro.2 errno.2
    265  1.129  jdolecek MLINKS+=kqueue.2 kevent.2
    266   1.84  christos MLINKS+=ktrace.2 fktrace.2
    267    1.1       cgd MLINKS+=lseek.2 seek.2
    268  1.132   thorpej MLINKS+=_lwp_suspend.2 _lwp_continue.2
    269  1.132   thorpej MLINKS+=_lwp_getprivate.2 _lwp_setprivate.2
    270  1.187     rmind MLINKS+=madvise.2 posix_madvise.2
    271   1.23       cgd MLINKS+=mlock.2 munlock.2
    272   1.92   thorpej MLINKS+=mlockall.2 munlockall.2
    273    1.1       cgd MLINKS+=mount.2 unmount.2
    274  1.114       wiz MLINKS+=ntp_adjtime.2 ntp_gettime.2
    275   1.23       cgd MLINKS+=pathconf.2 fpathconf.2
    276  1.126    briggs MLINKS+=pmc_control.2 pmc_get_info.2
    277  1.156      matt MLINKS+=poll.2 pollts.2
    278   1.85   thorpej MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2
    279    1.1       cgd MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2
    280  1.156      matt MLINKS+=select.2 pselect.2
    281    1.1       cgd MLINKS+=send.2 sendmsg.2 send.2 sendto.2
    282   1.14   mycroft MLINKS+=setpgid.2 setpgrp.2
    283   1.19       cgd MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2
    284   1.48     mikel MLINKS+=shmat.2 shmdt.2
    285  1.142  christos MLINKS+=timer_settime.2 timer_gettime.2 timer_settime.2 timer_getoverrun.2
    286  1.137  jdolecek MLINKS+=sigtimedwait.2 sigwaitinfo.2
    287  1.137  jdolecek MLINKS+=sigtimedwait.2 sigwait.2
    288    1.1       cgd MLINKS+=stat.2 fstat.2 stat.2 lstat.2
    289  1.152  christos MLINKS+=statvfs.2 fstatvfs.2
    290  1.152  christos MLINKS+=statvfs.2 statvfs1.2
    291  1.152  christos MLINKS+=statvfs.2 fstatvfs1.2
    292   1.32       cgd MLINKS+=syscall.2 __syscall.2
    293    1.1       cgd MLINKS+=truncate.2 ftruncate.2
    294   1.65     enami MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2
    295    1.1       cgd MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2
    296   1.85   thorpej MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2
    297