Makefile.inc revision 15635
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=	_exit.o _getlogin.o
43
44OBJS+=	${ASM} ${THREADASM} ${PSEUDO}
45
46${ASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
47	@${ECHO} creating ${.PREFIX}.o
48	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
49	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.o
50	@${LD} -x -r ${.PREFIX}.o
51	@mv a.out ${.PREFIX}.o
52
53PASM=	${ASM:.o=.po}
54${PASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
55	@${ECHO} creating ${.PREFIX}.po
56	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
57	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.po
58	@${LD} -x -r ${.PREFIX}.po
59	@mv a.out ${.PREFIX}.po
60
61SASM=	${ASM:.o=.so}
62${SASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
63	@${ECHO} creating ${.PREFIX}.so
64	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
65	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -k -o ${.PREFIX}.so
66
67${THREADASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
68	@${ECHO} creating ${.PREFIX}.o
69	@printf '#include "SYS.h"\nPRSYSCALL(${.PREFIX},_thread_sys_${.PREFIX})\n' | \
70	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.o
71	@${LD} -x -r ${.PREFIX}.o
72	@mv a.out ${.PREFIX}.o
73
74PTHREADASM=	${THREADASM:.o=.po}
75${PTHREADASM}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
76	@${ECHO} creating ${.PREFIX}.po
77	@printf '#include "SYS.h"\nPRSYSCALL(${.PREFIX},_thread_sys_${.PREFIX})\n' | \
78	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.po
79	@${LD} -x -r ${.PREFIX}.po
80	@mv a.out ${.PREFIX}.po
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},_thread_sys_${.PREFIX})\n' | \
86	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -k -o ${.PREFIX}.so
87
88${PSEUDO}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
89	@${ECHO} creating ${.PREFIX}.o
90	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
91	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.o
92	@${LD} -x -r ${.PREFIX}.o
93	@mv a.out ${.PREFIX}.o
94
95PPSEUDO=${PSEUDO:.o=.po}
96${PPSEUDO}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
97	@${ECHO} creating ${.PREFIX}.po
98	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
99	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.po
100	@${LD} -x -r ${.PREFIX}.po
101	@mv a.out ${.PREFIX}.po
102
103SPSEUDO=${PSEUDO:.o=.so}
104${SPSEUDO}: ${.CURDIR}/../libc/${MACHINE}/SYS.h /usr/include/sys/syscall.h
105	@${ECHO} creating ${.PREFIX}.so
106	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
107	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -k -o ${.PREFIX}.so
108