Makefile revision 1.131
11.131Stls#	$NetBSD: Makefile,v 1.131 2007/05/30 01:13:15 tls Exp $
21.36Scgd#	@(#)Makefile	8.2 (Berkeley) 2/3/94
31.1Scgd#
41.1Scgd# All library objects contain sccsid strings by default; they may be
51.1Scgd# excluded as a space-saving measure.  To produce a library that does
61.1Scgd# not contain these strings, delete -DLIBC_SCCS and -DSYSLIBC_SCCS
71.71Slukem# from CPPFLAGS below.  To remove these strings from just the system call
81.71Slukem# stubs, remove just -DSYSLIBC_SCCS from CPPFLAGS.
91.28Sjtc#
101.28Sjtc# The NLS (message catalog) functions are always in libc.  To choose that
111.28Sjtc# strerror(), perror(), strsignal(), psignal(), etc. actually call the NLS
121.71Slukem# functions, put -DNLS on the CPPFLAGS line below.
131.4Sderaadt#
141.6Sderaadt# The YP functions are always in libc. To choose that getpwent() and friends
151.71Slukem# actually call the YP functions, put -DYP on the CPPFLAGS line below.
161.79Slukem#
171.79Slukem# The Hesiod functions are always in libc. To choose that getpwent() and friends
181.79Slukem# actually call the Hesiod functions, put -DHESIOD on the CPPFLAGS line below.
191.4Sderaadt
201.127Schristos.include "Makefile.inc"
211.107Slukem
221.82StvLIB=		c
231.117SchristosCPPFLAGS+=	-I${.CURDIR}/include -I${.CURDIR}
241.104Sthorpej
251.82Stv.if exists (${ARCHDIR}/Makefile.inc)
261.82Stv.PATH:	${ARCHDIR}
271.82Stv.include "${ARCHDIR}/Makefile.inc"
281.9Sderaadt.endif
291.127Schristos
301.114Smatt.if exists (${ARCHDIR}/genassym.cf)
311.114SmattDPSRCS+=	assym.h
321.114SmattCLEANFILES+=	assym.h assym.h.tmp
331.114Smatt
341.122Sthorpejassym.h: ${ARCHDIR}/genassym.cf
351.114Smatt	${_MKTARGET_CREATE}
361.122Sthorpej	${TOOL_GENASSYM} -- ${CC} ${CFLAGS} \
371.121Smatt		${CPPFLAGS} ${CPPFLAGS.assym.h} ${PROF} \
381.114Smatt		< ${ARCHDIR}/genassym.cf > assym.h.tmp && \
391.114Smatt	mv -f assym.h.tmp assym.h
401.114Smatt.endif
411.1Scgd
421.127Schristos# The following controls how to build compatibility code for old NetBSD
431.127Schristos# binaries. If BUILDCOLD is yes, then we build a separate library; otherwise
441.127Schristos# we include the code in libc.
451.127SchristosBUILDCOLD?= no
461.127Schristos.if "${BUILDCOLD}" == "yes"
471.127SchristosSUBDIR=compat
481.127Schristos.include <bsd.subdir.mk>
491.127Schristos.else
501.127SchristosCOMPATDIR=${.CURDIR}/compat
511.127Schristos.include "${.CURDIR}/compat/Makefile.inc"
521.127Schristos.endif
531.127Schristos
541.125Schristos.include "${.CURDIR}/../../common/lib/libc/Makefile.inc"
551.7Scgd.include "${.CURDIR}/db/Makefile.inc"
561.111Stshiozak.include "${.CURDIR}/citrus/Makefile.inc"
571.1Scgd.include "${.CURDIR}/compat-43/Makefile.inc"
581.88Sminoura.include "${.CURDIR}/dlfcn/Makefile.inc"
591.126Skleink.include "${.CURDIR}/gdtoa/Makefile.inc"
601.1Scgd.include "${.CURDIR}/gen/Makefile.inc"
611.24Scgd.include "${.CURDIR}/gmon/Makefile.inc"
621.81Sexplorer.include "${.CURDIR}/hash/Makefile.inc"
631.111Stshiozak.include "${.CURDIR}/iconv/Makefile.inc"
641.117Schristos.include "${.CURDIR}/inet/Makefile.inc"
651.117Schristos.include "${.CURDIR}/isc/Makefile.inc"
661.1Scgd.include "${.CURDIR}/locale/Makefile.inc"
671.52Sthorpej.include "${.CURDIR}/md/Makefile.inc"
681.1Scgd.include "${.CURDIR}/net/Makefile.inc"
691.117Schristos.include "${.CURDIR}/nameser/Makefile.inc"
701.25Sjtc.include "${.CURDIR}/nls/Makefile.inc"
711.78Seeh.if (${MACHINE_ARCH} != "alpha") && (${MACHINE_ARCH} != "sparc64")
721.24Scgd.include "${.CURDIR}/quad/Makefile.inc"
731.34Scgd.endif
741.24Scgd.include "${.CURDIR}/regex/Makefile.inc"
751.117Schristos.include "${.CURDIR}/resolv/Makefile.inc"
761.24Scgd.include "${.CURDIR}/rpc/Makefile.inc"
771.131Stls.include "${.CURDIR}/ssp/Makefile.inc"
781.1Scgd.include "${.CURDIR}/stdio/Makefile.inc"
791.1Scgd.include "${.CURDIR}/stdlib/Makefile.inc"
801.1Scgd.include "${.CURDIR}/string/Makefile.inc"
811.40Sjtc.include "${.CURDIR}/termios/Makefile.inc"
821.108Sthorpej.include "${.CURDIR}/thread-stub/Makefile.inc"
831.38Sjtc.include "${.CURDIR}/time/Makefile.inc"
841.1Scgd.include "${.CURDIR}/sys/Makefile.inc"
851.119Sthorpej.include "${.CURDIR}/uuid/Makefile.inc"
861.104Sthorpej.if (${MKYP} != "no")
871.4Sderaadt.include "${.CURDIR}/yp/Makefile.inc"
881.104Sthorpej.endif
891.41Sjtc
901.109SjmmvNLS=	C.msg Pig.msg ca.msg cs.msg de.msg es.msg fi.msg fr.msg nl.msg \
911.110Ssalo	no.msg pl.msg sk.msg sv.msg
921.1Scgd
931.102Sthorpejrealall: tags
941.102Sthorpejtags: ${SRCS}
951.118Slukem	${_MKTARGET_CREATE}
961.115Sross	-${TOOL_CTAGS} -w ${.ALLSRC:M*.c}
971.115Sross	-egrep "^ENTRY(.*)|^FUNC(.*)|^SYSCALL(.*)" /dev/null ${.ALLSRC:M*.S} | \
981.36Scgd	    sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
991.64Schristos	    >> ${.TARGET}; sort -o ${.TARGET} ${.TARGET}
1001.65Schristos
1011.102SthorpejFILES=		tags
1021.82StvFILESNAME=	libc.tags
1031.82StvFILESDIR=	/var/db
1041.32Scgd
1051.97Sitojun
1061.103Stshiozak# workaround for I18N stuffs: build singlebyte setlocale() for libc.a,
1071.97Sitojun# multibyte for libc.so.  the quirk should be removed when we support
1081.97Sitojun# dlopen() from within statically linked binaries.
1091.130StnozakiCSHLIBFLAGS+=	-D_I18N_DYNAMIC
1101.105Syamt
1111.105Syamt.include <bsd.lib.mk>
112