Make all bucket and overflow addresses unsigned
[unix-history] / usr / src / lib / libc / Makefile
index b05c1cf..c027d0d 100644 (file)
+#      @(#)Makefile    5.2 (Berkeley) %G%
 #
 #
-# Copyright (c) 1988 Regents of the University of California.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms are permitted
-# provided that this notice is preserved and that due credit is given
-# to the University of California at 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'' without express or implied warranty.
-#
-#      @(#)Makefile    4.33 (Berkeley) %G%
-#
-# 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
-#
-# 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  :
-#                                                                   
-#      defining HOSTLOOKUP to be "named", compiles the         
-#      host lookup routines that use the BIND name server.
-#
-#      defining HOSTLOOKUP to be "hosttable", compiles
-#      the host lookup routines that use /etc/hosts.
-#
-#HOSTLOOKUP=   hosttable
-HOSTLOOKUP=    named
-#
-# 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
+# All library objects contain sccsid strings by default; they may be
 # excluded as a space-saving measure.  To produce a library that does
 # 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: 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
-       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 library profiled
-
-mkdir: FRC
-       rm -rf library profiled
-       mkdir library profiled
-
-${ALL}: FRC
-       cd $@; make ${MFLAGS} DEFS=${DEFS} link
-
-install: 
-       install -o bin -g bin -m 644 libc.a ${DESTDIR}/lib/libc.a
-       ranlib ${DESTDIR}/lib/libc.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 ${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 ${SUBDIR}; \
-               do (cd $$i; make ${MFLAGS} clean); done
-       rm -rf libc.a libc_p.a library profiled
-
-depend:
-       for i in ${SUBDIR}; \
-               do (cd $$i; make ${MFLAGS} DEFS=${DEFS} depend); done
-
-FRC:
-
+# 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}/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"
+
+beforeinstall: tags
+       install -c -o bin -g bin -m 444 ${.CURDIR}/tags /var/db/libc.tags
+
+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
+
+.include <bsd.lib.mk>