Makefile revision 169771
198524Sfenner# @(#)Makefile 8.2 (Berkeley) 2/3/94 298524Sfenner# $FreeBSD: head/lib/libc/Makefile 169771 2007-05-19 16:38:39Z kan $ 398524Sfenner 498524SfennerSHLIBDIR?= /lib 598524Sfenner 698524Sfenner.include <bsd.own.mk> 798524Sfenner 898524Sfenner# All library objects contain FreeBSD revision strings by default; they may be 998524Sfenner# excluded as a space-saving measure. To produce a library that does 1098524Sfenner# not contain these strings, add -DSTRIP_FBSDID (see <sys/cdefs.h>) to CFLAGS 1198524Sfenner# below. Note: there are no IDs for syscall stubs whose sources are generated. 1298524Sfenner# To include legacy CSRG sccsid strings, add -DLIBC_SCCS and -DSYSLIBC_SCCS 1398524Sfenner# to CFLAGS below. -DSYSLIBC_SCCS affects just the system call stubs. 1498524SfennerLIB=c 1598524SfennerSHLIB_MAJOR= 7 1698524SfennerWARNS?= 2 1798524SfennerCFLAGS+=-I${.CURDIR}/include -I${.CURDIR}/../../include 1898524SfennerCFLAGS+=-I${.CURDIR}/${MACHINE_ARCH} 1998524SfennerCLEANFILES+=tags 2098524SfennerINSTALL_PIC_ARCHIVE= 2198524SfennerPRECIOUSLIB= 2298524Sfenner 2398524Sfenner# 2498524Sfenner# Only link with static libgcc.a (no libgcc_eh.a). 2598524Sfenner# 2698524SfennerLDFLAGS+= -nodefaultlibs 2798524SfennerLDADD+= -lgcc 2898524Sfenner 2998524Sfenner# Define (empty) variables so that make doesn't give substitution 3098524Sfenner# errors if the included makefiles don't change these: 3198524SfennerMDSRCS= 3298524SfennerMISRCS= 3398524SfennerMDASM= 3498524SfennerMIASM= 3598524SfennerNOASM= 3698524Sfenner 3798524Sfenner.include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc" 3898524Sfenner.include "${.CURDIR}/db/Makefile.inc" 3998524Sfenner.include "${.CURDIR}/compat-43/Makefile.inc" 4098524Sfenner.include "${.CURDIR}/gdtoa/Makefile.inc" 4198524Sfenner.include "${.CURDIR}/gen/Makefile.inc" 4298524Sfenner.include "${.CURDIR}/gmon/Makefile.inc" 4398524Sfenner.include "${.CURDIR}/inet/Makefile.inc" 4498524Sfenner.include "${.CURDIR}/isc/Makefile.inc" 4598524Sfenner.include "${.CURDIR}/locale/Makefile.inc" 4698524Sfenner.include "${.CURDIR}/nameser/Makefile.inc" 4798524Sfenner.include "${.CURDIR}/net/Makefile.inc" 4898524Sfenner.include "${.CURDIR}/nls/Makefile.inc" 4998524Sfenner.include "${.CURDIR}/posix1e/Makefile.inc" 5098524Sfenner.if ${MACHINE_ARCH} != "amd64" && \ 5198524Sfenner ${MACHINE_ARCH} != "ia64" && \ 5298524Sfenner ${MACHINE_ARCH} != "sparc64" 5398524Sfenner.include "${.CURDIR}/quad/Makefile.inc" 5498524Sfenner.endif 5598524Sfenner.include "${.CURDIR}/regex/Makefile.inc" 5698524Sfenner.include "${.CURDIR}/resolv/Makefile.inc" 5798524Sfenner.include "${.CURDIR}/stdio/Makefile.inc" 5898524Sfenner.include "${.CURDIR}/stdlib/Makefile.inc" 5998524Sfenner.include "${.CURDIR}/stdtime/Makefile.inc" 6098524Sfenner.include "${.CURDIR}/string/Makefile.inc" 6198524Sfenner.include "${.CURDIR}/sys/Makefile.inc" 6298524Sfenner.include "${.CURDIR}/rpc/Makefile.inc" 6398524Sfenner.include "${.CURDIR}/uuid/Makefile.inc" 6498524Sfenner.include "${.CURDIR}/xdr/Makefile.inc" 6598524Sfenner.if ${MACHINE_ARCH} == "arm" 6698524Sfenner.include "${.CURDIR}/softfloat/Makefile.inc" 6798524Sfenner.endif 6898524Sfenner.if ${MK_NIS} != "no" 6998524SfennerCFLAGS+= -DYP 7098524Sfenner.include "${.CURDIR}/yp/Makefile.inc" 7198524Sfenner.endif 7298524Sfenner.if ${MK_HESIOD} != "no" 7398524SfennerCFLAGS+= -DHESIOD 74.endif 75.if ${MK_FP_LIBC} == "no" 76CFLAGS+= -DNO_FLOATING_POINT 77.endif 78.if ${MK_NS_CACHING} != "no" 79CFLAGS+= -DNS_CACHING 80.endif 81.if defined(_FREEFALL_CONFIG) 82CFLAGS+=-D_FREEFALL_CONFIG 83.endif 84 85VERSION_DEF=${.CURDIR}/Versions.def 86SYMBOL_MAPS=${SYM_MAPS} 87CFLAGS+= -DSYMBOL_VERSIONING 88 89# If there are no machine dependent sources, append all the 90# machine-independent sources: 91.if empty(MDSRCS) 92SRCS+= ${MISRCS} 93.else 94# Append machine-dependent sources, then append machine-independent sources 95# for which there is no machine-dependent variant. 96SRCS+= ${MDSRCS} 97.for _src in ${MISRCS} 98.if ${MDSRCS:R:M${_src:R}} == "" 99SRCS+= ${_src} 100.endif 101.endfor 102.endif 103 104KQSRCS= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c iordi3.c \ 105 lshldi3.c lshrdi3.c moddi3.c muldi3.c negdi2.c notdi2.c qdivrem.c \ 106 subdi3.c ucmpdi2.c udivdi3.c umoddi3.c xordi3.c 107KSRCS= bcmp.c ffs.c ffsl.c fls.c flsl.c index.c mcount.c rindex.c \ 108 strcat.c strcmp.c strcpy.c strlen.c strncpy.c 109 110libkern: libkern.gen libkern.${MACHINE_ARCH} 111 112libkern.gen: ${KQSRCS} ${KSRCS} 113 cp -p ${.CURDIR}/quad/quad.h ${.ALLSRC} ${DESTDIR}/sys/libkern 114 115libkern.${MACHINE_ARCH}:: ${KMSRCS} 116.if defined(KMSRCS) && !empty(KMSRCS) 117 cp -p ${.ALLSRC} ${DESTDIR}/sys/libkern/${MACHINE_ARCH} 118.endif 119 120.include <bsd.lib.mk> 121 122# Disable warnings in contributed sources. 123CWARNFLAGS:= ${.IMPSRC:Ngdtoa_*.c:C/^.+$/${CWARNFLAGS}/} 124