date and time created 91/03/06 18:09:53 by bostic
[unix-history] / usr / src / lib / libc / Makefile
index 2d5d3d3..c027d0d 100644 (file)
@@ -1,52 +1,31 @@
-#      @(#)Makefile    4.1     (Berkeley)      82/12/03
+#      @(#)Makefile    5.2 (Berkeley) %G%
 #
 #
-DESTDIR=
+# All library objects contain sccsid strings by default; they may be
+# excluded as a space-saving measure.  To produce a library that does
+# not contain these strings, delete -DLIBC_SCCS and -DSYSLIBC_SCCS
+# from CFLAGS below.  To remove these strings from just the system call
+# stubs, remove just -DSYSLIBC_SCCS from CFLAGS.
+LIB=c
+CFLAGS+=-DLIBC_SCCS -DSYSLIBC_SCCS
+AINC=  -I${.CURDIR}/${MACHINE}
 
 
-INSTALL=mv
+.include "${.CURDIR}/compat-43/Makefile.inc"
+.include "${.CURDIR}/db/Makefile.inc"
+.include "${.CURDIR}/gen/Makefile.inc"
+.include "${.CURDIR}/locale/Makefile.inc"
+.include "${.CURDIR}/net/Makefile.inc"
+.include "${.CURDIR}/stdio/Makefile.inc"
+.include "${.CURDIR}/stdlib/Makefile.inc"
+.include "${.CURDIR}/string/Makefile.inc"
+.include "${.CURDIR}/sys/Makefile.inc"
 
 
-all: libc.a libc_p.a crtx
+beforeinstall: tags
+       install -c -o bin -g bin -m 444 ${.CURDIR}/tags /var/db/libc.tags
 
 
-libc.a libc_p.a:
-       cd sys; make
-       cd gen; make
-       cd stdio; make
-       cd net; make
-       mkdir tmp
-       cd tmp; ar x ../sys/syslib
-       cd tmp; ar x ../gen/genlib
-       cd tmp; ar x ../stdio/stdiolib
-       cd tmp; ar x ../net/netlib
-       ls tmp/*.o | sort -t/ +1 > t1
-       ar ar libc.a `lorder \`cat t1\` | tsort`;
-       ar ma flsbuf.o libc.a exit.o
-       rm -f t1 tmp/*
-       cd tmp; ar x ../sys/syslib_p
-       cd tmp; ar x ../gen/genlib_p
-       cd tmp; ar x ../stdio/stdiolib_p
-       cd tmp; ar x ../net/netlib_p
-       ls tmp/*.o | sort -t/ +1 > t1
-       ar ar libc_p.a `lorder \`cat t1\` | tsort`;
-       ar ma flsbuf.o libc_p.a exit.o
-       rm -rf t1 tmp
+tags: ${SRCS}
+       cd ${.CURDIR}; ctags ${.ALLSRC:M*.c}
+       cd ${.CURDIR}; egrep -o "^ENTRY(.*)|^SYSCALL(.*)" ${.ALLSRC:M*.s} | \
+           sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
+           >> tags; sort -o tags tags
 
 
-crtx:
-       cd csu; make
-
-clean:
-       for i in */.; do cd $$i; make clean; cd ..; done
-       rm -f t1 *.o
-
-errlst.o: gen/errlst.c
-       cc -S gen/errlst.c
-       ed - <gen/:errfix errlst.s
-       as -o errlst.o errlst.s
-       rm errlst.s
-
-install: all
-       $(INSTALL) libc.a $(DESTDIR)/lib/libc.a
-       ranlib $(DESTDIR)/lib/libc.a
-       $(INSTALL) libc_p.a $(DESTDIR)/usr/lib/libc_p.a
-       ranlib $(DESTDIR)/usr/lib/libc_p.a
-       cd csu; $(INSTALL) crt0.o $(DESTDIR)/lib
-       cd csu; $(INSTALL) mcrt0.o $(DESTDIR)/lib
-       cd csu; $(INSTALL) gcrt0.o $(DESTDIR)/usr/lib
+.include <bsd.lib.mk>