Makefile.inc revision 17769
1#	@(#)Makefile.inc	8.1 (Berkeley) 6/17/93
2
3# sys sources
4.PATH: ${.CURDIR}/../libc/${MACHINE}/sys ${.CURDIR}/../libc/sys \
5	${.CURDIR}/sys
6
7# modules with non-default implementations on at least one architecture:
8SRCS+=	Ovfork.S brk.S cerror.S exect.S fork.S pipe.S ptrace.S reboot.S \
9	sbrk.S setlogin.S sigpending.S sigprocmask.S sigreturn.S \
10	sigsuspend.S syscall.S __error.c
11
12# glue to provide compatibility between GCC 1.X and 2.X
13SRCS+=	ftruncate.c lseek.c mmap.c truncate.c
14
15# modules with default implementations on all architectures:
16ASM=	access.o acct.o adjtime.o chdir.o chflags.o chmod.o \
17	chown.o chroot.o getdtablesize.o getegid.o geteuid.o \
18	getfh.o getfsstat.o getgid.o getgroups.o getitimer.o \
19	getpgrp.o getpid.o getppid.o getpriority.o \
20	getrlimit.o getrusage.o gettimeofday.o getuid.o kill.o \
21	ktrace.o lfs_bmapv.o lfs_markv.o lfs_segclean.o \
22	lfs_segwait.o link.o lstat.o madvise.o mincore.o \
23	mkdir.o mlock.o mount.o mprotect.o msgsys.o msync.o \
24	munlock.o munmap.o ntp_adjtime.o pathconf.o profil.o \
25	quotactl.o readlink.o rename.o revoke.o rmdir.o rtprio.o \
26	semsys.o setegid.o seteuid.o setgid.o setgroups.o setitimer.o \
27	setpgid.o setpriority.o setregid.o setreuid.o setrlimit.o \
28	setsid.o settimeofday.o setuid.o shmsys.o stat.o statfs.o \
29	swapon.o symlink.o sync.o sysarch.o umask.o unlink.o \
30	unmount.o utimes.o vadvise.o __syscall.o __sysctl.o
31
32# Syscalls renamed as _thread_sys_{syscall}.
33THREADASM=	accept.o bind.o close.o connect.o dup.o dup2.o \
34	execve.o fchdir.o fchflags.o fchmod.o fchown.o fcntl.o \
35	flock.o fpathconf.o fstat.o fstatfs.o fsync.o getdirentries.o \
36	getpeername.o getsockname.o getsockopt.o ioctl.o listen.o \
37	mkfifo.o mknod.o nfssvc.o open.o read.o readv.o recvfrom.o \
38	recvmsg.o select.o sendmsg.o sendto.o setsockopt.o \
39	shutdown.o sigaction.o sigaltstack.o socket.o socketpair.o \
40	wait4.o write.o writev.o
41
42PSEUDO=	_getlogin.o
43
44THREADPSEUDO=	_exit.o
45
46OBJS+=	${ASM} ${THREADASM} ${PSEUDO} ${THREADPSEUDO}
47
48${ASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
49	@${ECHO} creating ${.PREFIX}.o
50	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
51	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.o
52	@${LD} -x -r ${.PREFIX}.o
53	@mv a.out ${.PREFIX}.o
54
55PASM=	${ASM:.o=.po}
56${PASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
57	@${ECHO} creating ${.PREFIX}.po
58	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
59	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.po
60	@${LD} -x -r ${.PREFIX}.po
61	@mv a.out ${.PREFIX}.po
62
63SASM=	${ASM:.o=.so}
64${SASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
65	@${ECHO} creating ${.PREFIX}.so
66	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
67	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -k -o ${.PREFIX}.so
68
69${THREADASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
70	@${ECHO} creating ${.PREFIX}.o
71	@printf '#include "SYS.h"\nPRSYSCALL(${.PREFIX})\n' > ${.PREFIX}.S
72	@${CC} ${CFLAGS:M-[ID]*} ${AINC} -c ${.PREFIX}.S -o ${.PREFIX}.o
73	@rm -f ${.PREFIX}.S
74
75PTHREADASM=	${THREADASM:.o=.po}
76${PTHREADASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
77	@${ECHO} creating ${.PREFIX}.po
78	@printf '#include "SYS.h"\nPRSYSCALL(${.PREFIX})\n' > ${.PREFIX}.S
79	@${CC} -DPROF ${CFLAGS:M-[ID]*} ${AINC} -c ${.PREFIX}.S -o ${.PREFIX}.po
80	@rm -f ${.PREFIX}.S
81
82STHREADASM=	${THREADASM:.o=.so}
83${STHREADASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
84	@${ECHO} creating ${.PREFIX}.so
85	@printf '#include "SYS.h"\nPRSYSCALL(${.PREFIX})\n' > ${.PREFIX}.S
86	${CC} -fpic -DPIC ${CFLAGS:M-[ID]*} ${AINC} -c ${.PREFIX}.S -o ${.PREFIX}.so
87	@${LD} -O ${.TARGET} -x -r ${.TARGET}
88	@rm -f ${.PREFIX}.S
89
90${PSEUDO}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
91	@${ECHO} creating ${.PREFIX}.o
92	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
93	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.o
94	@${LD} -x -r ${.PREFIX}.o
95	@mv a.out ${.PREFIX}.o
96
97PPSEUDO=${PSEUDO:.o=.po}
98${PPSEUDO}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
99	@${ECHO} creating ${.PREFIX}.po
100	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
101	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.po
102	@${LD} -x -r ${.PREFIX}.po
103	@mv a.out ${.PREFIX}.po
104
105SPSEUDO=${PSEUDO:.o=.so}
106${SPSEUDO}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
107	@${ECHO} creating ${.PREFIX}.so
108	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
109	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -k -o ${.PREFIX}.so
110
111${THREADPSEUDO}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
112	@${ECHO} creating ${.PREFIX}.o
113	@printf '#include "SYS.h"\nPPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' > ${.PREFIX}.S
114	@${CC} ${CFLAGS:M-[ID]*} ${AINC} -c ${.PREFIX}.S -o ${.PREFIX}.o
115	@rm -f ${.PREFIX}.S
116
117THREADPPSEUDO=${THREADPSEUDO:.o=.po}
118${THREADPPSEUDO}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
119	@${ECHO} creating ${.PREFIX}.po
120	@printf '#include "SYS.h"\nPPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' > ${.PREFIX}.S
121	@${CC} -DPROF ${CFLAGS:M-[ID]*} ${AINC} -c ${.PREFIX}.S -o ${.PREFIX}.po
122	@rm -f ${.PREFIX}.S
123
124THREADSPSEUDO=${THREADPSEUDO:.o=.so}
125${THREADSPSEUDO}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
126	@${ECHO} creating ${.PREFIX}.so
127	@printf '#include "SYS.h"\nPPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' > ${.PREFIX}.S
128	${CC} -fpic -DPIC ${CFLAGS:M-[ID]*} ${AINC} -c ${.PREFIX}.S -o ${.PREFIX}.so
129	@${LD} -O ${.TARGET} -x -r ${.TARGET}
130	@rm -f ${.PREFIX}.S
131