1# 2# Copyright (c) 1988 Regents of the University of California. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms are permitted 6# provided that the above copyright notice and this paragraph are 7# duplicated in all such forms and that any documentation, 8# advertising materials, and other materials related to such 9# distribution and use acknowledge that the software was developed 10# by the University of California, Berkeley. The name of the 11# University may not be used to endorse or promote products derived 12# from this software without specific prior written permission. 13# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 14# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 15# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 16# 17# @(#)Makefile 4.34 (Berkeley) 07/09/88 18# 19# Compatibility routines are kept in directories with a prefixing 20# ``compat'' (so they all sort together). 21# 22# The C run-time startup code is always machine dependent and expected 23# to be located in ${MACHINE}/csu 24# 25# There are two possible methods of doing host name look up. They are 26# to use the name server or /etc/hosts. HOSTLOOKUP defines which method 27# is to be compiled into libc : 28# 29# defining HOSTLOOKUP to be "named", compiles the 30# host lookup routines that use the BIND name server. 31# 32# defining HOSTLOOKUP to be "hosttable", compiles 33# the host lookup routines that use /etc/hosts. 34# 35#HOSTLOOKUP= hosttable 36HOSTLOOKUP= named 37# 38# The system has two monitoring schemes, utilizing either ``prof'' 39# or ``gprof''. DFLMON determines the default profiler; mon.o 40# specifies that ``prof'' is the default, gmon.o specifies that 41# ``gprof'' is the default. 42#DFLMON= gmon.o 43DFLMON= mon.o 44# 45# All library object contain sccsid strings by default; they may be 46# excluded as a space-saving measure. To produce a library that does 47# not contain these strings, remove -DLIBC_SCCS and -DSYSLIBC_SCCS 48# from DEFS below. To remove these strings from just the system call 49# stubs, remove -DSYSLIBC_SCCS from DEFS below. 50#DEFS= 51DEFS="-DLIBC_SCCS -DSYSLIBC_SCCS" 52 53SUBDIR= ${ALL} net/hosttable net/named 54ONE= compat-4.1 compat-4.3 compat-sys5 gen inet net ns stdio 55TWO= compat-4.1/compat-4.1.${MACHINE} gen/gen.${MACHINE} \ 56 net/net.${MACHINE} net/${HOSTLOOKUP} stdio/stdio.${MACHINE} \ 57 compat-sys5/compat-sys5.${MACHINE} ${MACHINE}/csu ${MACHINE}/sys 58ALL= ${ONE} ${TWO} 59TAGSFILE=tags 60 61libc.a libc_p.a: mkdir ${ALL} tags 62 ls library/*.o | sort -t/ +1 > t1 63 ar cr libc.a `lorder \`cat t1\` | tsort` ${MACHINE}/csu/${DFLMON} 64 ar ma findiop.o libc.a exit.o 65 ar ma exit.o libc.a fakcu.o 66 ls profiled/*.o | sort -t/ +1 > t1 67 ar cr libc_p.a `lorder \`cat t1\` | tsort` ${MACHINE}/csu/${DFLMON} 68 ar ma findiop.o libc_p.a exit.o 69 ar ma exit.o libc_p.a fakcu.o 70 rm -rf t1 library profiled 71 72mkdir: FRC 73 rm -rf library profiled 74 mkdir library profiled 75 76${ALL}: FRC 77 cd $@; make ${MFLAGS} DEFS=${DEFS} link 78 79install: 80 install -o bin -g bin -m 644 libc.a ${DESTDIR}/lib/libc.a 81 ranlib ${DESTDIR}/lib/libc.a 82 install -o bin -g bin -m 644 libc_p.a ${DESTDIR}/usr/lib/libc_p.a 83 ranlib ${DESTDIR}/usr/lib/libc_p.a 84 cd ${MACHINE}/csu; make DESTDIR=${DESTDIR} install 85 install -o bin -g bin -m 444 ${TAGSFILE} ${DESTDIR}/usr/lib/${TAGSFILE} 86 87tags: 88 for i in ${ONE}; do \ 89 (cd $$i; make ${MFLAGS} TAGSFILE=../${TAGSFILE} tags); \ 90 done 91 for i in ${TWO}; do \ 92 (cd $$i; make ${MFLAGS} TAGSFILE=../../${TAGSFILE} tags); \ 93 done 94 sort -o ${TAGSFILE} ${TAGSFILE} 95 96clean: 97 for i in ${SUBDIR}; \ 98 do (cd $$i; make ${MFLAGS} clean); done 99 rm -rf libc.a libc_p.a library profiled 100 101depend: 102 for i in ${SUBDIR}; \ 103 do (cd $$i; make ${MFLAGS} DEFS=${DEFS} depend); done 104 105FRC: 106 107