Makefile.inc revision 1.39
1#	$OpenBSD: Makefile.inc,v 1.39 2000/11/16 20:29:55 provos Exp $
2#	$NetBSD: Makefile.inc,v 1.35 1995/10/16 23:49:07 jtc Exp $
3#	@(#)Makefile.inc	8.1 (Berkeley) 6/17/93
4
5# sys sources
6.PATH: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/sys ${LIBCSRCDIR}/sys
7
8# for now, only i386 has usable weak aliases
9.if ${MACHINE_ARCH} != "i386"
10CFLAGS+=	-D_NO_WEAK_ALIASES
11.endif
12
13# modules with non-default implementations on at least one architecture:
14SRCS+=	Ovfork.S brk.S cerror.S exect.S fork.S \
15	sbrk.S sigpending.S sigprocmask.S sigreturn.S \
16	sigsuspend.S syscall.S
17
18LSRCS+=	Lint_Ovfork.c Lint_brk.c Lint_exect.c Lint_fork.c \
19	Lint_sbrk.c \
20	Lint_sigpending.c Lint_sigprocmask.c Lint_sigreturn.c \
21	Lint_sigsuspend.c Lint_syscall.c
22DPSRCS+= Lint_Ovfork.c Lint_brk.c Lint_exect.c Lint_fork.c \
23	Lint_sbrk.c \
24	Lint_sigpending.c Lint_sigprocmask.c Lint_sigreturn.c \
25	Lint_sigsuspend.c Lint_syscall.c
26
27# glue to provide compatibility between GCC 1.X and 2.X and for compat
28# with old syscall interfaces.
29SRCS+=	ftruncate.c lseek.c mmap.c ptrace.c semctl.c truncate.c \
30	timer_create.c timer_delete.c timer_getoverrun.c timer_gettime.c \
31	timer_settime.c pread.c preadv.c pwrite.c pwritev.c
32
33# modules with default implementations on all architectures:
34ASM=	accept.o access.o acct.o adjtime.o bind.o chdir.o chflags.o chmod.o \
35	chown.o chroot.o clock_gettime.o clock_settime.o clock_getres.o \
36	close.o connect.o dup.o dup2.o execve.o fchdir.o \
37	fchflags.o fchmod.o fchown.o fcntl.o fhopen.o fhstat.o fhstatfs.o \
38	flock.o fpathconf.o fstat.o \
39	fstatfs.o fsync.o futimes.o getdirentries.o getegid.o geteuid.o \
40	getfh.o getfsstat.o getgid.o getgroups.o getitimer.o getpeername.o \
41	getpgid.o \
42	getpgrp.o getpid.o getppid.o getpriority.o getrlimit.o getrusage.o \
43	getsid.o \
44	getsockname.o getsockopt.o gettimeofday.o getuid.o issetugid.o \
45	ioctl.o kill.o kevent.o kqueue.o \
46	ktrace.o lchown.o lfs_bmapv.o lfs_markv.o lfs_segclean.o lfs_segwait.o \
47	link.o listen.o lstat.o madvise.o mincore.o minherit.o mkdir.o \
48	mkfifo.o mknod.o mlock.o \
49	mount.o mprotect.o msgctl.o msgget.o msgrcv.o msgsnd.o msync.o \
50	munlock.o munmap.o nanosleep.o nfssvc.o \
51	ntp_gettime.o ntp_adjtime.o \
52	open.o pathconf.o pipe.o poll.o profil.o quotactl.o \
53	read.o readlink.o readv.o reboot.o recvfrom.o recvmsg.o rename.o \
54	revoke.o rfork.o \
55	rmdir.o select.o semget.o semop.o sendmsg.o sendto.o \
56	setegid.o seteuid.o setgid.o setgroups.o setitimer.o setpgid.o \
57	setpriority.o setrlimit.o setsid.o setsockopt.o settimeofday.o \
58	setuid.o shmat.o shmctl.o shmdt.o shmget.o shutdown.o sigaction.o \
59	sigaltstack.o socket.o socketpair.o stat.o statfs.o swapon.o swapctl.o \
60	symlink.o sync.o sysarch.o umask.o undelete.o unlink.o unmount.o \
61	utimes.o vadvise.o wait4.o write.o writev.o xfspioctl.o __semctl.o \
62	__syscall.o __sysctl.o
63
64GASM=	${ASM:.o=.go}
65PASM=	${ASM:.o=.po}
66SASM=	${ASM:.o=.so}
67
68PSEUDO=	_exit.o _getlogin.o _setlogin.o _ptrace.o
69GPSEUDO=${PSEUDO:.o=.go}
70PPSEUDO=${PSEUDO:.o=.po}
71SPSEUDO=${PSEUDO:.o=.so}
72
73OBJS+=	${ASM} ${PSEUDO}
74
75${GASM}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
76	@echo creating ${.TARGET}
77	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
78	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
79	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
80	@rm -f ${.TARGET}.o
81
82${PASM}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
83	@echo creating ${.TARGET}
84	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
85	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
86	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
87	@rm -f ${.TARGET}.o
88
89.if (${MACHINE_ARCH} != "mips")
90${SASM}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
91	@echo creating ${.TARGET}
92	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
93	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -k -o ${.TARGET}
94.else
95${SASM}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
96	@echo creating ${.TARGET}
97	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
98	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}
99.endif
100
101${ASM}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
102	@echo creating ${.TARGET}
103	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
104	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
105	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
106	@rm -f ${.TARGET}.o
107
108${GPSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
109	@echo creating ${.TARGET}
110	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
111	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
112	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
113	@rm -f ${.TARGET}.o
114
115${PPSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
116	@echo creating ${.TARGET}
117	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
118	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
119	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
120	@rm -f ${.TARGET}.o
121
122.if (${MACHINE_ARCH} != "mips")
123${SPSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
124	@echo creating ${.TARGET}
125	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
126	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -k -o ${.TARGET}
127.else
128${SPSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
129	@echo creating ${.TARGET}
130	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
131	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}
132.endif
133
134${PSEUDO}: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/SYS.h /usr/include/sys/syscall.h
135	@echo creating ${.TARGET}
136	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
137	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
138	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
139	@rm -f ${.TARGET}.o
140
141# Lint stubs for all automatically-generated assembly stubs (GENERATED)
142#LSRCS+=	LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c
143#DPSRCS+= LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c
144LSRCS+=	LintSysNormal.c
145DPSRCS+= LintSysNormal.c
146
147CLEANFILES+= LintSysNormal.c LintSysNoerr.c LintSysPseudo.c
148
149LintSysNormal.c: ${LIBCSRCDIR}/sys/makelintstub.sh \
150    ${DESTDIR}/usr/include/sys/syscall.h
151	@echo creating ${.TARGET}
152	@sh ${LIBCSRCDIR}/sys/makelintstub.sh -o ${.TARGET} \
153	    -s ${DESTDIR}/usr/include/sys/syscall.h ${ASM}
154
155LintSysNoerr.c: ${LIBCSRCDIR}/sys/makelintstub.sh \
156    ${DESTDIR}/usr/include/sys/syscall.h
157	@echo creating ${.TARGET}
158	@sh ${LIBCSRCDIR}/sys/makelintstub.sh -o ${.TARGET} -n \
159	    -s ${DESTDIR}/usr/include/sys/syscall.h ${NOERR}
160
161LintSysPseudoNoerr.c: ${LIBCSRCDIR}/sys/makelintstub.sh \
162    ${DESTDIR}/usr/include/sys/syscall.h
163	@echo creating ${.TARGET}
164	@sh ${LIBCSRCDIR}/sys/makelintstub.sh -o ${.TARGET} -p \
165	    -s ${DESTDIR}/usr/include/sys/syscall.h ${PSEUDONOERR}
166
167MAN+=	accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 chflags.2 \
168	chmod.2 chown.2 chroot.2 clock_gettime.2 close.2 connect.2 dup.2 \
169	execve.2 _exit.2 fcntl.2 fhopen.2 \
170	flock.2 fork.2 fsync.2 getdirentries.2 \
171	getfh.2 getfsstat.2 \
172	getgid.2 getgroups.2 getitimer.2 getlogin.2 getpeername.2 getpgrp.2 \
173	getpid.2 getpriority.2 getrlimit.2 getrusage.2 getsid.2 getsockname.2 \
174	getsockopt.2 gettimeofday.2 getuid.2 intro.2 issetugid.2 ioctl.2 \
175	kill.2 kqueue.2 ktrace.2 link.2 \
176	listen.2 lseek.2 mkdir.2 mkfifo.2 mknod.2 madvise.2 mincore.2 \
177	minherit.2 mlock.2 \
178	mmap.2 mount.2 mprotect.2 msync.2 munmap.2 nanosleep.2 \
179	nfssvc.2 open.2 pathconf.2 \
180	pipe.2 profil.2 poll.2 ptrace.2 quotactl.2 read.2 readlink.2 reboot.2 \
181	recv.2 rename.2 revoke.2 rfork.2 rmdir.2 select.2 send.2 setgroups.2 \
182	setpgid.2 setsid.2 setuid.2 shutdown.2 sigaction.2 sigaltstack.2 \
183	sigpending.2 sigprocmask.2 sigreturn.2 sigstack.2 sigsuspend.2 \
184	socket.2 socketpair.2 stat.2 statfs.2 swapctl.2 symlink.2 sync.2 \
185	sysarch.2 syscall.2 truncate.2 umask.2 unlink.2 utimes.2 vfork.2 \
186	wait.2 write.2
187
188MAN+=	msgctl.2 shmctl.2 shmat.2 semop.2 semget.2 semctl.2 msgsnd.2 msgrcv.2 \
189	msgget.2 shmget.2
190
191MLINKS+=brk.2 sbrk.2
192MLINKS+=dup.2 dup2.2
193MLINKS+=chdir.2 fchdir.2
194MLINKS+=chflags.2 fchflags.2
195MLINKS+=chmod.2 fchmod.2
196MLINKS+=chown.2 fchown.2
197MLINKS+=chown.2 lchown.2
198MLINKS+=clock_gettime.2 clock_settime.2
199MLINKS+=clock_gettime.2 clock_getres.2
200MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2
201MLINKS+=getgid.2 getegid.2
202MLINKS+=getitimer.2 setitimer.2
203MLINKS+=getlogin.2 setlogin.2
204MLINKS+=getpgrp.2 getpgid.2
205MLINKS+=getpid.2 getppid.2
206MLINKS+=getpriority.2 setpriority.2
207MLINKS+=getrlimit.2 setrlimit.2
208MLINKS+=getsockopt.2 setsockopt.2
209MLINKS+=gettimeofday.2 settimeofday.2
210MLINKS+=getuid.2 geteuid.2
211MLINKS+=kqueue.2 kevent.2
212MLINKS+=intro.2 errno.2
213MLINKS+=mlock.2 munlock.2
214MLINKS+=mount.2 unmount.2
215MLINKS+=pathconf.2 fpathconf.2
216MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2
217MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2
218MLINKS+=send.2 sendmsg.2 send.2 sendto.2
219MLINKS+=setpgid.2 setpgrp.2
220MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2
221MLINKS+=shmat.2 shmdt.2
222MLINKS+=stat.2 fstat.2 stat.2 lstat.2
223MLINKS+=statfs.2 fstatfs.2
224MLINKS+=syscall.2 __syscall.2
225MLINKS+=truncate.2 ftruncate.2
226MLINKS+=utimes.2 futimes.2
227MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2
228MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2
229