xref: /netbsd/lib/libc/sys/Makefile.inc (revision bf9ec67e)
1#	$NetBSD: Makefile.inc,v 1.124 2002/01/29 19:01:18 tv 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:
8SRCS+=	Ovfork.S __clone.S __vfork14.S brk.S exect.S fork.S msgctl.S pipe.S \
9	ptrace.S sbrk.S __semctl.S setlogin.S shmat.S shmctl.S sigaction.S \
10	sigpending.S sigprocmask.S sigreturn.S __sigreturn14.S sigsuspend.S \
11	syscall.S __syscall.S __clone.S cerror.S
12
13_LSRC=	Lint_Ovfork.c Lint___clone.c Lint___vfork14.c Lint_brk.c Lint_clone.c \
14	Lint_exect.c Lint_fork.c Lint_pipe.c Lint_ptrace.c Lint_sbrk.c \
15	Lint_setlogin.c Lint___sigreturn14.c Lint_syscall.c Lint___syscall.c \
16	LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c
17
18.if ${MKLINT} != "no"
19LSRCS+=	${_LSRC}
20DPSRCS+=${_LSRC:MLintSys*.c}
21.endif
22
23# glue to provide compatibility between GCC 1.X and 2.X and for compat
24# with old syscall interfaces.
25SRCS+=	adjtime.c clock_settime.c ftruncate.c getdirentries.c lseek.c mmap.c \
26	msync.c ntp_adjtime.c pread.c preadv.c pwrite.c pwritev.c semctl.c \
27	settimeofday.c sigaltstack.c stat.c swapon.c truncate.c
28
29# glue to syscalls that may pass structs or unions, which cannot be
30# handled portably and easily by the syscall interface. The glue
31# converts structs and unions to pointers to them.
32SRCS+=	__semctl13.c
33
34# "stub" POSIX.1b interfaces which return -1 and set errno to ENOSYS, so
35# we can avoid bumping libc's minor number as functions are added to the
36# kernel.
37SRCS+=	timer_create.c timer_delete.c timer_gettime.c timer_settime.c \
38	timer_getoverrun.c
39
40# namespace purity wrappers
41SRCS+=	_brk.c _fork.c _pipe.c _sbrk.c
42
43# modules with default implementations on all architectures:
44ASM=	accept.S access.S acct.S bind.S chdir.S chflags.S \
45	chmod.S chown.S chroot.S clock_getres.S clock_gettime.S \
46	close.S connect.S dup.S dup2.S execve.S \
47	fchdir.S fchflags.S fchmod.S fchown.S fchroot.S fcntl.S \
48	fdatasync.S fhopen.S fhstat.S fhstatfs.S \
49	fktrace.S flock.S fpathconf.S __fstat13.S fstatfs.S \
50	fsync.S futimes.S __getcwd.S \
51	getdents.S getfh.S getfsstat.S getgroups.S getitimer.S \
52	__getlogin.S getpeername.S getpgid.S getpgrp.S \
53	getpriority.S getrlimit.S getrusage.S getsid.S getsockname.S \
54	getsockopt.S gettimeofday.S ioctl.S kill.S ktrace.S \
55	lchflags.S lchmod.S lchown.S __lstat13.S lfs_bmapv.S lfs_markv.S \
56	lfs_segclean.S lfs_segwait.S link.S listen.S lutimes.S \
57	madvise.S mincore.S minherit.S mkdir.S mkfifo.S mknod.S \
58	mlock.S mlockall.S mount.S mprotect.S __msgctl13.S msgget.S msgrcv.S \
59	msgsnd.S __msync13.S munlock.S munlockall.S munmap.S nanosleep.S \
60	nfssvc.S ntp_gettime.S open.S pathconf.S \
61	poll.S profil.S quotactl.S read.S \
62	readlink.S readv.S reboot.S recvfrom.S recvmsg.S rename.S revoke.S \
63	rmdir.S select.S semconfig.S semget.S semop.S ____semctl13.S sendmsg.S \
64	sendto.S setegid.S seteuid.S setgid.S setgroups.S setitimer.S \
65	setpgid.S setpriority.S setregid.S setreuid.S setrlimit.S \
66	setsid.S setsockopt.S setuid.S \
67	__shmctl13.S shmdt.S shmget.S shutdown.S __sigaction14.S \
68	__sigaltstack14.S __sigpending14.S __sigprocmask14.S __sigsuspend14.S \
69	socket.S socketpair.S __stat13.S statfs.S \
70	swapctl.S symlink.S umask.S undelete.S unlink.S \
71	unmount.S utimes.S utrace.S vadvise.S wait4.S write.S writev.S \
72	__sysctl.S \
73	__posix_chown.S __posix_fchown.S __posix_lchown.S __posix_rename.S
74
75WEAKASM= sysarch.S
76
77NOERR=	getegid.S geteuid.S getgid.S getpid.S getppid.S getuid.S \
78	issetugid.S sync.S
79
80PSEUDONOERR=	_exit.S
81
82SRCS+=		${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR}
83CLEANFILES+=	${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR}
84
85${ASM}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
86	printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >${.TARGET}
87
88${WEAKASM}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
89	printf '#include "SYS.h"\nWSYSCALL(${.PREFIX},_${.PREFIX})\n' >${.TARGET}
90
91${NOERR}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
92	printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' >${.TARGET}
93
94${PSEUDONOERR}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
95	printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' >${.TARGET}
96
97LintSysNormal.c: ${.CURDIR}/sys/makelintstub \
98    ${DESTDIR}/usr/include/sys/syscall.h
99	sh ${.CURDIR}/sys/makelintstub -o ${.TARGET} \
100	    -s ${DESTDIR}/usr/include/sys/syscall.h ${ASM} ${WEAKASM}
101
102LintSysNoerr.c: ${.CURDIR}/sys/makelintstub \
103    ${DESTDIR}/usr/include/sys/syscall.h
104	sh ${.CURDIR}/sys/makelintstub -o ${.TARGET} -n \
105	    -s ${DESTDIR}/usr/include/sys/syscall.h ${NOERR}
106
107LintSysPseudoNoerr.c: ${.CURDIR}/sys/makelintstub \
108    ${DESTDIR}/usr/include/sys/syscall.h
109	sh ${.CURDIR}/sys/makelintstub -o ${.TARGET} -p \
110	    -s ${DESTDIR}/usr/include/sys/syscall.h ${PSEUDONOERR}
111
112MAN+=	accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 \
113	chflags.2 chmod.2 chown.2 chroot.2 clock_settime.2 clone.2 close.2 \
114	connect.2 dup.2 execve.2 _exit.2 fcntl.2 fdatasync.2 fhopen.2 \
115	flock.2 fork.2 fsync.2 getdents.2 getdirentries.3 \
116	getfh.2 getfsstat.2 getgid.2 getgroups.2 \
117	getitimer.2 getlogin.2 getpeername.2 getpgrp.2 getpid.2 \
118	getpriority.2 getrlimit.2 getrusage.2 getsid.2 getsockname.2 \
119	getsockopt.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \
120	kill.2 ktrace.2 lfs_bmapv.2 lfs_markv.2 lfs_segclean.2 lfs_segwait.2 \
121	link.2 listen.2 lseek.2 mkdir.2 mkfifo.2 mknod.2 \
122	madvise.2 mincore.2 minherit.2 mlock.2 mlockall.2 mmap.2 mount.2 \
123	mprotect.2 msgctl.2 msgget.2 msgrcv.2 msgsnd.2 msync.2 \
124	munmap.2 nanosleep.2 nfssvc.2 ntp_adjtime.2 open.2 pathconf.2 pipe.2 \
125	poll.2 profil.2 ptrace.2 quotactl.2 read.2 readlink.2 \
126	reboot.2 recv.2 rename.2 revoke.2 rmdir.2 select.2 semctl.2 \
127	semget.2 semop.2 send.2 setgroups.2 setpgid.2 setregid.2 \
128	setreuid.2 setsid.2 setuid.2 shmat.2 shmctl.2 shmget.2 \
129	shutdown.2 sigaction.2 sigaltstack.2 sigpending.2 \
130	sigprocmask.2 sigreturn.2 sigstack.2 sigsuspend.2 socket.2 \
131	socketpair.2 stat.2 statfs.2 swapctl.2 swapon.3 symlink.2 \
132	sync.2 sysarch.2 syscall.2 truncate.2 umask.2 undelete.2 \
133	unlink.2 utimes.2 utrace.2 vfork.2 wait.2 write.2
134
135MLINKS+=brk.2 sbrk.2
136MLINKS+=clone.2 __clone.2
137MLINKS+=dup.2 dup2.2
138MLINKS+=chdir.2 fchdir.2
139MLINKS+=chflags.2 fchflags.2 chflags.2 lchflags.2
140MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2
141MLINKS+=chown.2 fchown.2 chown.2 lchown.2
142MLINKS+=chroot.2 fchroot.2
143MLINKS+=clock_settime.2 clock_gettime.2
144MLINKS+=clock_settime.2 clock_getres.2
145MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2
146MLINKS+=getgid.2 getegid.2
147MLINKS+=getitimer.2 setitimer.2
148MLINKS+=getlogin.2 setlogin.2
149MLINKS+=getpgrp.2 getpgid.2
150MLINKS+=getpid.2 getppid.2
151MLINKS+=getpriority.2 setpriority.2
152MLINKS+=getrlimit.2 setrlimit.2
153MLINKS+=getsockopt.2 setsockopt.2
154MLINKS+=gettimeofday.2 settimeofday.2
155MLINKS+=getuid.2 geteuid.2
156MLINKS+=intro.2 errno.2
157MLINKS+=ktrace.2 fktrace.2
158MLINKS+=lseek.2 seek.2
159MLINKS+=mlock.2 munlock.2
160MLINKS+=mlockall.2 munlockall.2
161MLINKS+=mount.2 unmount.2
162MLINKS+=ntp_adjtime.2 ntp_gettime.2
163MLINKS+=pathconf.2 fpathconf.2
164MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2
165MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2
166MLINKS+=send.2 sendmsg.2 send.2 sendto.2
167MLINKS+=setpgid.2 setpgrp.2
168MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2
169MLINKS+=shmat.2 shmdt.2
170MLINKS+=stat.2 fstat.2 stat.2 lstat.2
171MLINKS+=statfs.2 fstatfs.2
172MLINKS+=syscall.2 __syscall.2
173MLINKS+=truncate.2 ftruncate.2
174MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2
175MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2
176MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2
177