X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/c2155dd024b856eb489446d7a7a3dcfc55a516d8..65b85f8f79cc742cc9c0b2cabb8e18681615917a:/usr/src/lib/libc/Makefile diff --git a/usr/src/lib/libc/Makefile b/usr/src/lib/libc/Makefile index a87dbbdc4c..b3030ae006 100644 --- a/usr/src/lib/libc/Makefile +++ b/usr/src/lib/libc/Makefile @@ -1,18 +1,20 @@ # -# Copyright (c) 1980 Regents of the University of California. -# All rights reserved. The Berkeley software License Agreement -# specifies the terms and conditions for redistribution. +# Copyright (c) 1988 Regents of the University of California. +# All rights reserved. # -# @(#)Makefile 4.24 (Berkeley) %G% +# Redistribution and use in source and binary forms are permitted +# provided that the above copyright notice and this paragraph are +# duplicated in all such forms and that any documentation, +# advertising materials, and other materials related to such +# distribution and use acknowledge that the software was developed +# by the University of California, Berkeley. The name of the +# University may not be used to endorse or promote products derived +# from this software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# -# 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. +# @(#)Makefile 4.34 (Berkeley) %G% # # Compatibility routines are kept in directories with a prefixing # ``compat'' (so they all sort together). @@ -20,12 +22,6 @@ # The C run-time startup code is always machine dependent and expected # to be located in ${MACHINE}/csu # -# All files contain sccsid strings, but these are not compiled into -# library objects by default, as a space-saving measure. To produce -# a library that contains these strings in every object except -# system call stubs, add -DLIBC_SCCS to DEFS below; to put these -# strings into system call stubs, use -DSYSLIBC_SCCS. -# # There are two possible methods of doing host name look up. They are # to use the name server or /etc/hosts. HOSTLOOKUP defines which method # is to be compiled into libc : @@ -38,57 +34,73 @@ # #HOSTLOOKUP= hosttable HOSTLOOKUP= named -# -DESTDIR= -INSTALL=install -m 644 -DFLMON= mon.o -DEFS= -COMPAT= compat-4.1 compat-sys5 -ALL= gen inet net ns stdio ${MACHINE} ${COMPAT} +# +# 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. +#DFLMON= gmon.o +DFLMON= mon.o +# +# All library object contain sccsid strings by default; they may be +# excluded as a space-saving measure. To produce a library that does +# not contain these strings, remove -DLIBC_SCCS and -DSYSLIBC_SCCS +# from DEFS below. To remove these strings from just the system call +# stubs, remove -DSYSLIBC_SCCS from DEFS below. +#DEFS= +DEFS="-DLIBC_SCCS -DSYSLIBC_SCCS" + +SUBDIR= ${ALL} net/hosttable net/named +ONE= compat-4.1 compat-4.3 compat-sys5 gen inet net ns stdio +TWO= compat-4.1/compat-4.1.${MACHINE} gen/gen.${MACHINE} \ + net/net.${MACHINE} net/${HOSTLOOKUP} stdio/stdio.${MACHINE} \ + compat-sys5/compat-sys5.${MACHINE} ${MACHINE}/csu ${MACHINE}/sys +ALL= ${ONE} ${TWO} TAGSFILE=tags -libc.a libc_p.a: ${MACHINE}/csu ${ALL} net/${HOSTLOOKUP} - rm -rf t1 tmp - -mkdir tmp - for i in ${ALL}; do (cd tmp; ar x ../$$i/$${i}lib); done - cd tmp; ar x ../net/${HOSTLOOKUP}/hostlib - ls tmp/*.o | sort -t/ +1 > t1 +libc.a libc_p.a: mkdir ${ALL} tags + ls library/*.o | sort -t/ +1 > t1 ar cr libc.a `lorder \`cat t1\` | tsort` ${MACHINE}/csu/${DFLMON} ar ma findiop.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 - cd tmp; ar x ../net/${HOSTLOOKUP}/hostlib_p - ls tmp/*.o | sort -t/ +1 > t1 + ls profiled/*.o | sort -t/ +1 > t1 ar cr libc_p.a `lorder \`cat t1\` | tsort` ${MACHINE}/csu/${DFLMON} ar ma findiop.o libc_p.a exit.o ar ma exit.o libc_p.a fakcu.o - rm -rf t1 tmp + rm -rf t1 library profiled -${MACHINE}/csu ${ALL} net/${HOSTLOOKUP}: FRC - cd $@; make ${MFLAGS} DEFS=${DEFS} +mkdir: FRC + rm -rf library profiled + mkdir library profiled -FRC: +${ALL}: FRC + cd $@; make ${MFLAGS} DEFS=${DEFS} link install: - ${INSTALL} libc.a ${DESTDIR}/lib/libc.a + install -o bin -g bin -m 644 libc.a ${DESTDIR}/lib/libc.a ranlib ${DESTDIR}/lib/libc.a - ${INSTALL} libc_p.a ${DESTDIR}/usr/lib/libc_p.a + install -o bin -g bin -m 644 libc_p.a ${DESTDIR}/usr/lib/libc_p.a ranlib ${DESTDIR}/usr/lib/libc_p.a cd ${MACHINE}/csu; make DESTDIR=${DESTDIR} install + install -o bin -g bin -m 444 ${TAGSFILE} ${DESTDIR}/usr/lib/${TAGSFILE} tags: - for i in ${ALL}; do \ + for i in ${ONE}; do \ (cd $$i; make ${MFLAGS} TAGSFILE=../${TAGSFILE} tags); \ done + for i in ${TWO}; do \ + (cd $$i; make ${MFLAGS} TAGSFILE=../../${TAGSFILE} tags); \ + done /usr/bin/sort -o ${TAGSFILE} ${TAGSFILE} clean: - for i in ${MACHINE}/csu ${ALL} net/hosttable net/named; \ + for i in ${SUBDIR}; \ do (cd $$i; make ${MFLAGS} clean); done - rm -f t1 tmp/*.o - -rmdir tmp + rm -rf libc.a libc_p.a library profiled depend: - for i in ${MACHINE}/csu ${ALL} net/hosttable net/named; \ + for i in ${SUBDIR}; \ do (cd $$i; make ${MFLAGS} DEFS=${DEFS} depend); done + +FRC: +