xref: /original-bsd/lib/libc/Makefile (revision 5e36add1)
1#	@(#)Makefile	4.39 (Berkeley) 06/23/90
2#
3# All library objects contain sccsid strings by default; they may be
4# excluded as a space-saving measure.  To produce a library that does
5# not contain these strings, delete -DLIBC_SCCS and -DSYSLIBC_SCCS
6# from CFLAGS below.  To remove these strings from just the system call
7# stubs, remove just -DSYSLIBC_SCCS from CFLAGS.
8LIB=c
9CFLAGS+=-DLIBC_SCCS -DSYSLIBC_SCCS
10AINC=	-I${.CURDIR}/${MACHINE}
11
12.PATH:	${.CURDIR}/${MACHINE}/gen	${.CURDIR}/gen ${.CURDIR}/gen/regexp \
13	${.CURDIR}/${MACHINE}/sys	${.CURDIR}/sys \
14	${.CURDIR}/${MACHINE}/stdio	${.CURDIR}/stdio \
15	${.CURDIR}/${MACHINE}/stdlib	${.CURDIR}/stdlib \
16	${.CURDIR}/${MACHINE}/net	${.CURDIR}/net \
17	${.CURDIR}/${MACHINE}/string	${.CURDIR}/string \
18	${.CURDIR}/${MACHINE}/compat-43	${.CURDIR}/compat-43
19
20# compat-43 sources
21SRCS+=	creat.c killpg.c sigcompat.c
22
23MAN2+=	creat.0 killpg.0 sigblock.0 sigpause.0 sigsetmask.0 sigvec.0
24
25# stdlib sources
26SRCS+=	abort.c atexit.c atoi.c atol.c bsearch.c calloc.c div.c exit.c \
27	getenv.c labs.c ldiv.c malloc.c putenv.c qsort.c rand.c setenv.c \
28	strtol.c strtoul.c system.c
29
30.if   (${MACHINE} == "hp300")
31SRCS+=	abs.s atof.c
32.elif (${MACHINE} == "i386")
33SRCS+=	abs.s atof.c
34.elif (${MACHINE} == "tahoe")
35SRCS+=	abs.s atof.s
36.elif (${MACHINE} == "vax")
37SRCS+=	abs.s atof.s
38.endif
39
40MAN3+=	abort.0 abs.0 atexit.0 atof.0 atoi.0 atol.0 bsearch.0 div.0 \
41	exit.0 getenv.0 labs.0 ldiv.0 malloc.0 qsort.0 rand.0 strtod.0 \
42	strtol.0 strtoul.0 system.0
43
44MLINKS+=malloc.3 alloca.3 malloc.3 calloc.3 malloc.3 free.3 malloc.3 realloc.3
45MLINKS+=getenv.3 setenv.3 getenv.3 unsetenv.3 getenv.3 putenv.3
46MLINKS+=rand.3 srand.3
47
48# gen sources
49SRCS+=	alarm.c clock.c closedir.c crypt.c ctime.c ctype_.c difftime.c \
50	disklabel.c errlst.c execvp.c fakcu.c fnmatch.c fstab.c fts.c \
51	genbuildname.c getgrent.c getlogin.c getmntinfo.c getopt.c getpass.c \
52	getpwent.c getttyent.c getusershell.c getwd.c glob.c initgroups.c \
53	isatty.c isctype.c mktemp.c ndbm.c nice.c nlist.c opendir.c \
54	pause.c perror.c popen.c psignal.c random.c readdir.c regex.c \
55	remove.c rewinddir.c scandir.c seekdir.c setjmperr.c setmode.c \
56	setrgid.c setruid.c siginterrupt.c sigsetjmp.c siglist.c signal.c \
57	sigset.c sleep.c syslog.c telldir.c termios.c time.c timezone.c \
58	tmpnam.c ttyname.c ttyslot.c ualarm.c unvis.c usleep.c valloc.c vis.c \
59	wait.c wait3.c waitpid.c
60
61SRCS+=	regerror.c regexp.c regsub.c
62
63.if   (${MACHINE} == "hp300")
64SRCS+=	_setjmp.s alloca.s fabs.s frexp.s insque.s ldexp.s modf.s remque.s \
65	setjmp.s
66SRCS+=	adddf3.s addsf3.s ashlsi3.s ashrsi3.s cmpdf2.s cmpsf2.s divdf3.s \
67	divsf3.s divsi3.s eprintf.c extendsfdf2.s fixdfsi.s fixunsdfsi.s \
68	floatsidf.s lshlsi3.s lshrsi3.s modsi3.s muldf3.s mulsf3.s mulsi3.s \
69	negdf2.s negsf2.s saveregs.c subdf3.s subsf3.s truncdfsf2.s udivsi3.s \
70	umodsi3.s umulsi3.s
71.elif (${MACHINE} == "i386")
72SRCS+=	_setjmp.s alloca.s fabs.s frexp.c insque.c ldexp.c modf.c remque.c \
73	setjmp.s
74SRCS+=	divsi3.s fixdfsi.c udivsi3.s
75.elif (${MACHINE} == "tahoe")
76SRCS+=	_setjmp.s alloca.s fabs.s frexp.c insque.s ldexp.s modf.s remque.s \
77	setjmp.s
78SRCS+=	udiv.s urem.s
79.elif (${MACHINE} == "vax")
80SRCS+=	_setjmp.s alloca.s fabs.s frexp.s insque.s ldexp.s modf.s remque.s \
81	setjmp.s
82SRCS+=	udiv.s urem.s
83.endif
84
85MAN3+=	alarm.0 clock.0 crypt.0 ctime.0 ctype.0 directory.0 execvp.0 \
86	fnmatch.0 frexp.0 fts.0 genbuildname.0 getdiskbyname.0 getfsent.0 \
87	getgrent.0 getlogin.0 getmntinfo.0 getopt.0 getpass.0 getpwent.0 \
88	getttyent.0 getusershell.0 getwd.0 glob.0 initgroups.0 insque.0 \
89	mktemp.0 ndbm.0 nice.0 nlist.0 pause.0 perror.0 popen.0 psignal.0 \
90	random.0 regex.0 regexp.0 scandir.0 setjmp.0 setmode.0 setuid.0 \
91	siginterrupt.0 signal.0 sleep.0 syslog.0 time.0 tmpnam.0 ttyname.0 \
92	ualarm.0 unvis.0 usleep.0 valloc.0 vis.0
93
94MLINKS=	crypt.3 encrypt.3 crypt.3 setkey.3
95MLINKS+=ctime.3 asctime.3 ctime.3 difftime.3 ctime.3 gmtime.3 \
96	ctime.3 localtime.3 ctime.3 timezone.3 ctime.3 tzset.3
97MLINKS+=ctype.3 toascii.3 ctype.3 tolower.3 ctype.3 toupper.3 \
98	ctype.3 isalnum.3 ctype.3 isalpha.3 ctype.3 isascii.3 \
99	ctype.3 iscntrl.3 ctype.3 isdigit.3 ctype.3 isgraph.3 \
100	ctype.3 islower.3 ctype.3 isprint.3 ctype.3 ispunct.3 \
101	ctype.3 isspace.3 ctype.3 isupper.3 ctype.3 isxdigit.3
102MLINKS+=directory.3 closedir.3 directory.3 dirfd.3 directory.3 opendir.3 \
103	directory.3 readdir.3 directory.3 rewinddir.3 directory.3 seekdir.3 \
104	directory.3 telldir.3
105MLINKS+=execvp.3 execle.3 execvp.3 execlp.3 execvp.3 exect.3 \
106	execvp.3 execv.3 execvp.3 execve.3 execvp.3 execl.3 \
107	execvp.3 exec.3
108MLINKS+=frexp.3 ldexp.3 frexp.3 modf.3
109MLINKS+=getfsent.3 endfsent.3 getfsent.3 getfsfile.3 getfsent.3 getfsspec.3 \
110	getfsent.3 getfstype.3 getfsent.3 setfsent.3
111MLINKS+=getgrent.3 endgrent.3 getgrent.3 setgroupent.3 getgrent.3 getgrgid.3 \
112	getgrent.3 getgrnam.3 getgrent.3 setgrent.3 getgrent.3 setgrfile.3
113MLINKS+=getpwent.3 endpwent.3 getpwent.3 setpassent.3 getpwent.3 getpwnam.3 \
114	getpwent.3 getpwuid.3 getpwent.3 setpwent.3 getpwent.3 setpwfile.3
115MLINKS+=getttyent.3 endttyent.3 getttyent.3 getttynam.3 getttyent.3 setttyent.3
116MLINKS+=getusershell.3 endusershell.3 getusershell.3 setusershell.3
117MLINKS+=glob.3 globfree.3
118MLINKS+=insque.3 remque.3
119MLINKS+=mktemp.3 mkstemp.3
120MLINKS+=ndbm.3 dbm_clearerr.3 ndbm.3 dbm_close.3 ndbm.3 dbm_delete.3 \
121	ndbm.3 dbm_error.3 ndbm.3 dbm_fetch.3 ndbm.3 dbm_firstkey.3 \
122	ndbm.3 dbm_nextkey.3 ndbm.3 dbm_open.3 ndbm.3 dbm_store.3
123MLINKS+=perror.3 strerror.3 perror.3 sys_errlist.3 perror.3 sys_nerr.3
124MLINKS+=popen.3 pclose.3
125MLINKS+=psignal.3 sys_siglist.3
126MLINKS+=random.3 initstate.3 random.3 setstate.3 random.3 srandom.3
127MLINKS+=regex.3 re_comp.3 regex.3 re_exec.3 regexp.3 regcomp.3 \
128	regexp.3 regexec.3 regexp.3 regsub.3 regexp.3 regerror.3
129MLINKS+=scandir.3 alphasort.3
130MLINKS+=setjmp.3 _longjmp.3 setjmp.3 _setjmp.3 setjmp.3 longjmp.3 \
131	setjmp.3 longjmperr.3
132MLINKS+=setuid.3 setegid.3 setuid.3 seteuid.3 setuid.3 setgid.3 \
133	setuid.3 setrgid.3 setuid.3 setruid.3
134MLINKS+=syslog.3 closelog.3 syslog.3 openlog.3 syslog.3 setlogmask.3 \
135	syslog.3 vsyslog.3
136MLINKS+=ttyname.3 isatty.3 ttyname.3 ttyslot.3
137MLINKS+=setmode.3 getmode.3
138
139# net sources
140SRCS+=	gethostnamadr.c getnetbyaddr.c getnetbyname.c getnetent.c \
141	getproto.c getprotoent.c getprotoname.c getservbyname.c \
142	getservbyport.c getservent.c herror.c inet_addr.c inet_lnaof.c \
143	inet_makeaddr.c inet_netof.c inet_network.c inet_ntoa.c \
144	iso_addr.c linkaddr.c ns_addr.c ns_ntoa.c rcmd.c recv.c res_comp.c \
145	res_debug.c res_init.c res_mkquery.c res_query.c res_send.c \
146	send.c sethostent.c
147
148.if   (${MACHINE} == "hp300")
149SRCS+=	htonl.s htons.s ntohl.s ntohs.s
150.elif (${MACHINE} == "i386")
151SRCS+=	htonl.s htons.s ntohl.s ntohs.s
152.elif (${MACHINE} == "tahoe")
153SRCS+=	htonl.s htons.s ntohl.s ntohs.s
154.elif (${MACHINE} == "vax")
155SRCS+=	htonl.s htons.s ntohl.s ntohs.s
156.endif
157
158MAN3+=	byteorder.0 gethostbyname.0 getnetent.0 getprotoent.0 getservent.0 \
159	inet.0 ns.0 rcmd.0 resolver.0 \
160
161MLINKS+=byteorder.3 htonl.3 byteorder.3 htons.3 byteorder.3 ntohl.3 \
162	byteorder.3 ntohs.3
163MLINKS+=gethostbyname.3 endhostent.3 gethostbyname.3 gethostbyaddr.3 \
164	gethostbyname.3 sethostent.3 gethostbyname.3 sethostfile.3 \
165	gethostbyname.3 gethostent.3 gethostbyname.3 herror.3
166MLINKS+=getnetent.3 endnetent.3 getnetent.3 getnetbyaddr.3 \
167	getnetent.3 getnetbyname.3 getnetent.3 setnetent.3
168MLINKS+=getprotoent.3 endprotoent.3 getprotoent.3 getprotobyname.3 \
169	getprotoent.3 getprotobynumber.3 getprotoent.3 setprotoent.3
170MLINKS+=getservent.3 endservent.3 getservent.3 getservbyname.3 \
171	getservent.3 getservbyport.3 getservent.3 setservent.3
172MLINKS+=inet.3 addr.3 inet.3 inet_addr.3 inet.3 inet_lnaof.3 \
173	inet.3 inet_makeaddr.3 inet.3 inet_netof.3 inet.3 inet_network.3 \
174	inet.3 inet_ntoa.3 inet.3 network.3 inet.3 ntoa.3
175MLINKS+=ns.3 ns_addr.3 ns.3 ns_ntoa.3
176MLINKS+=rcmd.3 rresvport.3 rcmd.3 ruserok.3
177
178# stdio sources
179SRCS+=	clrerr.c doprnt.c doscan.c fdopen.c fgetc.c filbuf.c findiop.c \
180	flsbuf.c fopen.c fprintf.c fputc.c fread.c freopen.c fseek.c \
181	ftell.c fwrite.c getchar.c gets.c getw.c printf.c putchar.c \
182	putw.c rew.c scanf.c setbuf.c setbuffer.c sprintf.c ungetc.c \
183	vfprintf.c vprintf.c vsprintf.c
184
185.if   (${MACHINE} == "hp300")
186SRCS+=	fgets.c fputs.c puts.c
187.elif (${MACHINE} == "i386")
188SRCS+=	fgets.c fputs.c puts.c
189.elif (${MACHINE} == "tahoe")
190SRCS+=	fgets.c fputs.c puts.c
191.elif (${MACHINE} == "vax")
192SRCS+=	fgets.s fputs.s puts.s
193.endif
194
195MAN3+=	fclose.0 ferror.0 fgets.0 fopen.0 fread.0 fseek.0 getc.0 \
196	gets.0 printf.0 putc.0 puts.0 scanf.0 setbuf.0 stdio.0 ungetc.0 \
197
198MLINKS+=fclose.3 fflush.3
199MLINKS+=ferror.3 clearerr.3 ferror.3 feof.3 ferror.3 fileno.3
200MLINKS+=fopen.3 fdopen.3 fopen.3 freopen.3
201MLINKS+=fread.3 fwrite.3
202MLINKS+=fseek.3 ftell.3 fseek.3 rewind.3
203MLINKS+=getc.3 fgetc.3 getc.3 getchar.3 getc.3 getw.3
204MLINKS+=printf.3 fprintf.3 printf.3 sprintf.3 printf.3 vfprintf.3 \
205	printf.3 vprintf.3 printf.3 vsprintf.3
206MLINKS+=putc.3 fputc.3 putc.3 putchar.3 putc.3 putw.3
207MLINKS+=puts.3 fputs.3
208MLINKS+=scanf.3 fscanf.3 scanf.3 sscanf.3
209MLINKS+=setbuf.3 setbuffer.3 setbuf.3 setlinebuf.3
210
211# string sources
212SRCS+=	memccpy.c strcasecmp.c strcoll.c strdup.c strerror.c \
213	strftime.c strmode.c strtok.c strxfrm.c swab.c
214
215.if   (${MACHINE} == "hp300")
216SRCS+=	bcmp.s bcopy.s bzero.s ffs.s index.s memchr.c memcmp.c memset.c \
217	rindex.s strcat.c strcmp.s strcpy.s strcspn.c strlen.s \
218	strncat.c strncmp.s strncpy.s strpbrk.c strsep.c \
219	strstr.c strstr.c
220.elif (${MACHINE} == "i386")
221SRCS+=	bcmp.c bcopy.c bzero.s ffs.c index.c memchr.c memcmp.c memset.c \
222	rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
223	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
224	strspn.c strstr.c
225.elif (${MACHINE} == "tahoe")
226SRCS+=	bcmp.s bcopy.s bzero.s ffs.s index.c memchr.c memcmp.s memset.s \
227	rindex.c strcat.s strcmp.s strcpy.s strcspn.c strlen.s \
228	strncat.s strncmp.s strncpy.s strpbrk.c strsep.c \
229	strspn.c strstr.c
230#SRCS+=	memmove.s
231.elif (${MACHINE} == "vax")
232SRCS+=	bcmp.s bcopy.s bzero.s ffs.s index.c memchr.s memcmp.s memset.s \
233	rindex.s strcat.s strcmp.s strcpy.s strcspn.s strlen.s \
234	strncat.s strncmp.s strncpy.s strpbrk.s strsep.s \
235	strspn.s strstr.s
236SRCS+=	memmove.s strchr.s strrchr.s
237.endif
238
239# if no machine specific memmove(3), build one out of bcopy(3).
240.if empty(SRCS:Mmemmove.s)
241OBJS+=	memmove.o
242memmove.o: bcopy.c
243	${CC} -DMEMMOVE ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
244	@${LD} -x -r ${.TARGET}
245	@mv a.out ${.TARGET}
246
247memmove.po: bcopy.c
248	${CC} -DMEMMOVE ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
249	@${LD} -X -r ${.TARGET}
250	@mv a.out ${.TARGET}
251.endif
252
253# if no machine specific memcpy(3), build one out of bcopy(3).
254.if empty(SRCS:Mmemcpy.s)
255OBJS+=	memcpy.o
256memcpy.o: bcopy.c
257	${CC} -DMEMCOPY ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
258	@${LD} -x -r ${.TARGET}
259	@mv a.out ${.TARGET}
260
261memcpy.po: bcopy.c
262	${CC} -DMEMCOPY ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
263	@${LD} -X -r ${.TARGET}
264	@mv a.out ${.TARGET}
265.endif
266
267# if no machine specific strchr(3), build one out of index(3).
268.if empty(SRCS:Mstrchr.s)
269OBJS+=	strchr.o
270strchr.o: index.c
271	${CC} -DSTRCHR ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
272	@${LD} -x -r ${.TARGET}
273	@mv a.out ${.TARGET}
274
275strchr.po: index.c
276	${CC} -DSTRCHR ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
277	@${LD} -X -r ${.TARGET}
278	@mv a.out ${.TARGET}
279.endif
280
281# if no machine specific strrchr(3), build one out of rindex(3).
282.if empty(SRCS:Mstrrchr.s)
283OBJS+=	strrchr.o
284strrchr.o: rindex.c
285	${CC} -DSTRRCHR ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
286	@${LD} -x -r ${.TARGET}
287	@mv a.out ${.TARGET}
288
289strrchr.po: rindex.c
290	${CC} -DSTRRCHR ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
291	@${LD} -X -r ${.TARGET}
292	@mv a.out ${.TARGET}
293.endif
294
295MAN3+=	bcmp.0 bcopy.0 bstring.0 bzero.0 ffs.0 index.0 memccpy.0 memchr.0 \
296	memcmp.0 memcpy.0 memmove.0 memset.0 rindex.0 strcasecmp.0 strcat.0 \
297	strchr.0 strcmp.0 strcoll.0 strcpy.0 strcspn.0 strftime.0 string.0 \
298	strlen.0 strmode.0 strdup.0 strncasecmp.0 strncat.0 strncmp.0 \
299	strncpy.0 strpbrk.0 strrchr.0 strsep.0 strspn.0 strstr.0 strtok.0 \
300	strxfrm.0 swab.0
301
302# sys sources
303# modules with non-default implementations on at least one architecture:
304SRCS+=	Ovfork.s _exit.s _getlogin.s brk.s cerror.s execl.s execle.s exect.s \
305	execv.s fork.s pipe.s ptrace.s reboot.s sbrk.s setlogin.s \
306	sigpending.s sigprocmask.s sigreturn.s sigsuspend.s syscall.s
307
308# modules with default implementations on all architectures:
309BLDASM=	accept.o access.o acct.o adjtime.o async_daemon.o bind.o chdir.o \
310	chflags.o chmod.o chown.o chroot.o close.o connect.o dup.o dup2.o \
311	execve.o fchdir.o fchflags.o fchmod.o fchown.o fcntl.o flock.o \
312	fstat.o fstatfs.o fsync.o ftruncate.o getdirentries.o getdtablesize.o \
313	getegid.o geteuid.o getfh.o getfsstat.o getgid.o getgroups.o \
314	gethostid.o gethostname.o getitimer.o getkerninfo.o getpagesize.o \
315	getpeername.o getpgrp.o getpid.o getppid.o getpriority.o getrlimit.o \
316	getrusage.o getsockname.o getsockopt.o gettimeofday.o getuid.o \
317	ioctl.o kill.o ktrace.o link.o listen.o lseek.o lstat.o mkdir.o \
318	mkfifo.o mknod.o mmap.o mount.o nfssvc.o open.o profil.o quotactl.o \
319	read.o readlink.o readv.o recvfrom.o recvmsg.o rename.o revoke.o \
320	rmdir.o select.o sendmsg.o sendto.o setegid.o seteuid.o setgid.o \
321	setgroups.o sethostid.o sethostname.o setitimer.o setpgrp.o \
322	setpriority.o setregid.o setreuid.o setrlimit.o setsid.o setsockopt.o \
323	settimeofday.o setuid.o shutdown.o sigaction.o sigstack.o socket.o \
324	socketpair.o stat.o statfs.o swapon.o symlink.o sync.o truncate.o \
325	umask.o unlink.o unmount.o utimes.o vadvise.o wait4.o write.o writev.o
326
327OBJS+=	${BLDASM}
328POBJS+=	${BLDASM:.o=.po}
329CLEANFILES+=${BLDASM} ${BLDASM:.o=.po}
330
331${BLDASM}: /usr/include/sys/syscall.h
332	@echo creating ${.PREFIX}.o
333	@printf '#include "SYS.h"\nSYSCALL(${.PREFIX})\nret\n' | \
334	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.o
335	@${LD} -x -r ${.PREFIX}.o
336	@mv a.out ${.PREFIX}.o
337	@echo creating ${.PREFIX}.po
338	@printf '#include "SYS.h"\nSYSCALL(${.PREFIX})\nret\n' | \
339	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.PREFIX}.po
340	@${LD} -x -r ${.PREFIX}.po
341	@mv a.out ${.PREFIX}.po
342
343MAN2+=	accept.0 access.0 acct.0 adjtime.0 async_daemon.0 bind.0 brk.0 \
344	chdir.0 chflags.0 chmod.0 chown.0 chroot.0 close.0 connect.0 \
345	dup.0 execve.0 _exit.0 fcntl.0 flock.0 fork.0 fsync.0 \
346	getdirentries.0 getdtablesize.0 getfh.0 getfsstat.0 getgid.0 \
347	getgroups.0 gethostid.0 gethostname.0 getitimer.0 getlogin.0 \
348	getpagesize.0 getpeername.0 getpgrp.0 getpid.0 getpriority.0 \
349	getrlimit.0 getrusage.0 getsockname.0 getsockopt.0 \
350	gettimeofday.0 getuid.0 intro.0 ioctl.0 kill.0 link.0 listen.0 \
351	lseek.0 mkdir.0 mkfifo.0 mknod.0 mount.0 nfssvc.0 open.0 pipe.0 \
352	profil.0 ptrace.0 quotactl.0 read.0 readlink.0 reboot.0 recv.0 \
353	rename.0 rmdir.0 select.0 send.0 setgroups.0 setpgrp.0 \
354	setregid.0 setreuid.0 shutdown.0 sigreturn.0 \
355	sigstack.0 socket.0 socketpair.0 stat.0 statfs.0 swapon.0 \
356	symlink.0 sync.0 syscall.0 truncate.0 umask.0 unlink.0 utimes.0 \
357	vfork.0 wait.0 write.0
358
359MLINKS+=brk.2 sbrk.2
360MLINKS+=dup.2 dup2.2
361MLINKS+=chdir.2 fchdir.2
362MLINKS+=chflags.2 fchflags.2
363MLINKS+=chmod.2 fchmod.2
364MLINKS+=chown.2 fchown.2
365MLINKS+=getgid.2 getegid.2
366MLINKS+=gethostid.2 sethostid.2
367MLINKS+=gethostname.2 sethostname.2
368MLINKS+=getitimer.2 setitimer.2
369MLINKS+=getlogin.2 setlogin.2
370MLINKS+=getpid.2 getppid.2
371MLINKS+=getpriority.2 setpriority.2
372MLINKS+=getrlimit.2 setrlimit.2
373MLINKS+=getsockopt.2 setsockopt.2
374MLINKS+=gettimeofday.2 settimeofday.2
375MLINKS+=getuid.2 geteuid.2
376MLINKS+=intro.2 errno.2
377MLINKS+=lseek.2 seek.2
378MLINKS+=mount.2 unmount.2
379MLINKS+=read.2 readv.2
380MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2
381MLINKS+=send.2 sendmsg.2 send.2 sendto.2
382MLINKS+=stat.2 fstat.2 stat.2 lstat.2
383MLINKS+=statfs.2 fstatfs.2
384MLINKS+=truncate.2 ftruncate.2
385MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2
386MLINKS+=write.2 writev.2
387
388errlst.o:
389	${CC} -S ${CFLAGS} ${.IMPSRC}
390	ed - < ${.CURDIR}/gen/:errfix errlst.s
391	${AS} -o errlst.o errlst.s
392	cp errlst.o errlst.po
393	rm -f errlst.s
394
395beforeinstall:
396	ar ma findiop.o libc.a exit.o
397	ar ma exit.o libc.a fakcu.o
398	ar ma findiop.po libc_p.a exit.po
399	ar ma exit.po libc_p.a fakcu.po
400
401.include <bsd.lib.mk>
402