xref: /netbsd/lib/libc/sys/Makefile.inc (revision c4a72b64)
1#	$NetBSD: Makefile.inc,v 1.131 2002/10/23 09:25:48 jdolecek 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 kevent.S kill.S kqueue.S \
55	ktrace.S \
56	lchflags.S lchmod.S lchown.S __lstat13.S lfs_bmapv.S lfs_markv.S \
57	lfs_segclean.S lfs_segwait.S link.S listen.S lutimes.S \
58	madvise.S mincore.S minherit.S mkdir.S mkfifo.S mknod.S \
59	mlock.S mlockall.S mount.S mprotect.S __msgctl13.S msgget.S msgrcv.S \
60	msgsnd.S __msync13.S munlock.S munlockall.S munmap.S nanosleep.S \
61	nfssvc.S ntp_gettime.S open.S rasctl.S pathconf.S \
62	pmc_get_info.S pmc_control.S poll.S profil.S quotactl.S read.S \
63	readlink.S readv.S reboot.S recvfrom.S recvmsg.S rename.S revoke.S \
64	rmdir.S select.S semconfig.S semget.S semop.S ____semctl13.S sendmsg.S \
65	sendto.S setegid.S seteuid.S setgid.S setgroups.S setitimer.S \
66	setpgid.S setpriority.S setregid.S setreuid.S setrlimit.S \
67	setsid.S setsockopt.S setuid.S \
68	__shmctl13.S shmdt.S shmget.S shutdown.S \
69	__sigaltstack14.S __sigpending14.S __sigprocmask14.S __sigsuspend14.S \
70	__sigaction_sigtramp.S socket.S socketpair.S __stat13.S statfs.S \
71	swapctl.S symlink.S umask.S undelete.S unlink.S \
72	unmount.S utimes.S utrace.S vadvise.S wait4.S write.S writev.S \
73	__sysctl.S \
74	__posix_chown.S __posix_fchown.S __posix_lchown.S __posix_rename.S
75
76WEAKASM= sysarch.S
77
78NOERR=	getegid.S geteuid.S getgid.S getpid.S getppid.S getuid.S \
79	issetugid.S sync.S
80
81PSEUDONOERR=	_exit.S
82
83SRCS+=		${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR}
84CLEANFILES+=	${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR}
85
86${ASM}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
87	printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >${.TARGET}
88
89${WEAKASM}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
90	printf '#include "SYS.h"\nWSYSCALL(${.PREFIX},_${.PREFIX})\n' >${.TARGET}
91
92${NOERR}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
93	printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' >${.TARGET}
94
95${PSEUDONOERR}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
96	printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' >${.TARGET}
97
98LintSysNormal.c: ${.CURDIR}/sys/makelintstub \
99    ${DESTDIR}/usr/include/sys/syscall.h
100	CPP=${CPP:Q} sh ${.CURDIR}/sys/makelintstub -o ${.TARGET} \
101	    -s ${DESTDIR}/usr/include/sys/syscall.h ${ASM} ${WEAKASM}
102
103LintSysNoerr.c: ${.CURDIR}/sys/makelintstub \
104    ${DESTDIR}/usr/include/sys/syscall.h
105	CPP=${CPP:Q} sh ${.CURDIR}/sys/makelintstub -o ${.TARGET} -n \
106	    -s ${DESTDIR}/usr/include/sys/syscall.h ${NOERR}
107
108LintSysPseudoNoerr.c: ${.CURDIR}/sys/makelintstub \
109    ${DESTDIR}/usr/include/sys/syscall.h
110	CPP=${CPP:Q} sh ${.CURDIR}/sys/makelintstub -o ${.TARGET} -p \
111	    -s ${DESTDIR}/usr/include/sys/syscall.h ${PSEUDONOERR}
112
113MAN+=	accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 \
114	chflags.2 chmod.2 chown.2 chroot.2 clock_settime.2 clone.2 close.2 \
115	connect.2 dup.2 execve.2 _exit.2 fcntl.2 fdatasync.2 fhopen.2 \
116	flock.2 fork.2 fsync.2 getdents.2 getdirentries.3 \
117	getfh.2 getfsstat.2 getgid.2 getgroups.2 \
118	getitimer.2 getlogin.2 getpeername.2 getpgrp.2 getpid.2 \
119	getpriority.2 getrlimit.2 getrusage.2 getsid.2 getsockname.2 \
120	getsockopt.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \
121	kill.2 kqueue.2 ktrace.2 \
122	lfs_bmapv.2 lfs_markv.2 lfs_segclean.2 lfs_segwait.2 \
123	link.2 listen.2 lseek.2 mkdir.2 mkfifo.2 mknod.2 \
124	madvise.2 mincore.2 minherit.2 mlock.2 mlockall.2 mmap.2 mount.2 \
125	mprotect.2 msgctl.2 msgget.2 msgrcv.2 msgsnd.2 msync.2 \
126	munmap.2 nanosleep.2 nfssvc.2 ntp_adjtime.2 open.2 pathconf.2 pipe.2 \
127	pmc_control.2 poll.2 profil.2 ptrace.2 quotactl.2 rasctl.2 \
128	read.2 readlink.2 \
129	reboot.2 recv.2 rename.2 revoke.2 rmdir.2 select.2 semctl.2 \
130	semget.2 semop.2 send.2 setgroups.2 setpgid.2 setregid.2 \
131	setreuid.2 setsid.2 setuid.2 shmat.2 shmctl.2 shmget.2 \
132	shutdown.2 sigaction.2 sigaltstack.2 sigpending.2 \
133	sigprocmask.2 sigreturn.2 sigstack.2 sigsuspend.2 socket.2 \
134	socketpair.2 stat.2 statfs.2 swapctl.2 swapon.3 symlink.2 \
135	sync.2 sysarch.2 syscall.2 truncate.2 umask.2 undelete.2 \
136	unlink.2 utimes.2 utrace.2 vfork.2 wait.2 write.2
137
138MLINKS+=brk.2 sbrk.2
139MLINKS+=clone.2 __clone.2
140MLINKS+=dup.2 dup2.2
141MLINKS+=chdir.2 fchdir.2
142MLINKS+=chflags.2 fchflags.2 chflags.2 lchflags.2
143MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2
144MLINKS+=chown.2 fchown.2 chown.2 lchown.2
145MLINKS+=chroot.2 fchroot.2
146MLINKS+=clock_settime.2 clock_gettime.2
147MLINKS+=clock_settime.2 clock_getres.2
148MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2
149MLINKS+=getgid.2 getegid.2
150MLINKS+=getitimer.2 setitimer.2
151MLINKS+=getlogin.2 setlogin.2
152MLINKS+=getpgrp.2 getpgid.2
153MLINKS+=getpid.2 getppid.2
154MLINKS+=getpriority.2 setpriority.2
155MLINKS+=getrlimit.2 setrlimit.2
156MLINKS+=getsockopt.2 setsockopt.2
157MLINKS+=gettimeofday.2 settimeofday.2
158MLINKS+=getuid.2 geteuid.2
159MLINKS+=intro.2 errno.2
160MLINKS+=kqueue.2 kevent.2
161MLINKS+=ktrace.2 fktrace.2
162MLINKS+=lseek.2 seek.2
163MLINKS+=mlock.2 munlock.2
164MLINKS+=mlockall.2 munlockall.2
165MLINKS+=mount.2 unmount.2
166MLINKS+=ntp_adjtime.2 ntp_gettime.2
167MLINKS+=pathconf.2 fpathconf.2
168MLINKS+=pmc_control.2 pmc_get_info.2
169MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2
170MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2
171MLINKS+=send.2 sendmsg.2 send.2 sendto.2
172MLINKS+=setpgid.2 setpgrp.2
173MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2
174MLINKS+=shmat.2 shmdt.2
175MLINKS+=stat.2 fstat.2 stat.2 lstat.2
176MLINKS+=statfs.2 fstatfs.2
177MLINKS+=syscall.2 __syscall.2
178MLINKS+=truncate.2 ftruncate.2
179MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2
180MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2
181MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2
182