X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/c8a54e4e6c9a008aea14b4782d8217da13fb7a3c..33b16cf2f68e950a54c0fa7e71fc75a455a5a6c9:/usr/src/lib/libc/Makefile diff --git a/usr/src/lib/libc/Makefile b/usr/src/lib/libc/Makefile index 5414bc5eae..3c73d36439 100644 --- a/usr/src/lib/libc/Makefile +++ b/usr/src/lib/libc/Makefile @@ -1,54 +1,50 @@ -# Makefile 4.7 84/11/13 +# @(#)Makefile 8.1 (Berkeley) %G% # -# The system has two monitoring schemes, utilizing either ``prof'' -# or ``gprof''. DFLMON determines the default profiler; mon.o -# specifies that ``prof'' is the default, gmon.o specifies that -# ``gprof'' is the default. -# -# Machine dependent routines are located in a subtree which parallels -# the top directories. This subtree is identified by the machine name. -# -# Compatibility routines are kept in directories with a prefixing -# ``compat'' (so they all sort together). -# -# The C run-time startup code is always machine dependent and expected -# to be located in ${MACHINE}/csu -# -DESTDIR= -INSTALL=install -m 644 -DFLMON= mon.o -MACHINE=vax -COMPAT= compat-4.1 compat-sys5 -ALL= gen inet net stdio ${MACHINE} ${COMPAT} - -libc.a libc_p.a: ${MACHINE}/csu ${ALL} - -mkdir tmp - for i in ${ALL}; do (cd tmp; ar x ../$$i/$${i}lib); done - ls tmp/*.o | sort -t/ +1 > t1 - ar cr libc.a `lorder \`cat t1\` | tsort` ${MACHINE}/csu/${DFLMON} - ar ma flsbuf.o libc.a exit.o - ar ma exit.o libc.a fakcu.o - rm -f t1 tmp/* - for i in ${ALL}; do (cd tmp; ar x ../$$i/$${i}lib_p); done - ls tmp/*.o | sort -t/ +1 > t1 - ar cr libc_p.a `lorder \`cat t1\` | tsort` ${MACHINE}/csu/${DFLMON} - ar ma flsbuf.o libc_p.a exit.o - ar ma exit.o libc.a fakcu.o - rm -rf t1 tmp - -${MACHINE}/csu ${ALL}: FRC - cd $@; make ${MFLAGS} - -FRC: - -clean: - for i in ${MACHINE}/csu ${ALL}; do (cd $$i; make ${MFLAGS} clean); done - rm -f t1 tmp/*.o - -rmdir tmp - -install: - ${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 ${MACHINE}/csu; make DESTDIR=${DESTDIR} install +# 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} + +.include "${.CURDIR}/db/Makefile.inc" +.include "${.CURDIR}/compat-43/Makefile.inc" +.include "${.CURDIR}/gen/Makefile.inc" +.include "${.CURDIR}/gmon/Makefile.inc" +.include "${.CURDIR}/locale/Makefile.inc" +.include "${.CURDIR}/net/Makefile.inc" +.include "${.CURDIR}/quad/Makefile.inc" +.include "${.CURDIR}/regex/Makefile.inc" +.include "${.CURDIR}/stdio/Makefile.inc" +.include "${.CURDIR}/stdlib/Makefile.inc" +.include "${.CURDIR}/string/Makefile.inc" +.include "${.CURDIR}/sys/Makefile.inc" + +KQSRCS= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c iordi3.c \ + lshldi3.c lshrdi3.c moddi3.c muldi3.c negdi2.c notdi2.c qdivrem.c \ + subdi3.c ucmpdi2.c udivdi3.c umoddi3.c xordi3.c +KSRCS= bcmp.c ffs.c mcount.c rindex.c strcat.c strcmp.c strcpy.c \ + strlen.c strncpy.c + +libkern: libkern.gen libkern.${MACHINE} + +libkern.gen: ${KQSRCS} ${KSRCS} + cp -p ${.CURDIR}/quad/quad.h ${.ALLSRC} /sys/libkern + +libkern.${MACHINE}:: ${KMSRCS} +.if defined(KMSRCS) && !empty(KMSRCS) + cp -p ${.ALLSRC} /sys/libkern/${MACHINE} +.endif + +beforeinstall: tags + install -c -o bin -g bin -m 444 tags /var/db/libc.tags + +tags: ${SRCS} + ctags ${.ALLSRC:M*.c} + egrep -o "^ENTRY(.*)|^FUNC(.*)|^SYSCALL(.*)" ${.ALLSRC:M*.s} | \ + sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \ + >> tags; sort -o tags tags + +.include