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