Makefile revision 1.40
11.40Smycroft#	$NetBSD: Makefile,v 1.40 1998/02/22 06:54:38 mycroft Exp $
21.1Scgd
31.1ScgdLIB=	kern
41.1ScgdNOPIC=
51.9Sderaadt
61.29SmycroftM=	${.CURDIR}/arch/${MACHINE_ARCH}
71.20Schristos
81.32ScgdCPPFLAGS=	-I$M ${KERNCPPFLAGS} ${KERNMISCCPPFLAGS}
91.29Smycroft
101.29Smycroft.if exists ($M/Makefile.inc)
111.29Smycroft.PATH:	$M
121.29Smycroft.include "$M/Makefile.inc"
131.1Scgd.endif
141.5Scgd
151.19Scgd.if (${MACHINE_ARCH} != "alpha")
161.5Scgd# Quad support
171.5ScgdSRCS+=	adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c iordi3.c \
181.5Scgd	lshldi3.c lshrdi3.c moddi3.c muldi3.c negdi2.c notdi2.c qdivrem.c \
191.5Scgd	subdi3.c  ucmpdi2.c udivdi3.c umoddi3.c xordi3.c
201.19Scgd.endif
211.8Scgd
221.8Scgd# Other stuff
231.33SthorpejSRCS+=	md5c.c
241.27Sscottr
251.27Sscottr# Files to clean up
261.27SscottrCLEANFILES+= lib${LIB}.o lib${LIB}.po
271.5Scgd
281.38Scgd#
291.38Scgd# Special rules for certain objects
301.38Scgd#
311.38Scgd
321.11Scgd# mcount cannot be compiled with profiling
331.11Scgdmcount.po: mcount.o
341.11Scgd	cp mcount.o mcount.po
351.40Smycroft
361.40Smycroft# if no machine specific memcpy(3), build one out of bcopy(3).
371.40Smycroft.if empty(SRCS:Mmemcpy.S)
381.40SmycroftOBJS+=	memcpy.o
391.40Smycroftmemcpy.o: bcopy.c
401.40Smycroft	@echo ${COMPILE.c:Q} -DMEMCOPY ${.ALLSRC} -o ${.TARGET}
411.40Smycroft	@${COMPILE.c} -DMEMCOPY ${.ALLSRC} -o ${.TARGET}.o
421.40Smycroft	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
431.40Smycroft	@rm -f ${.TARGET}.o
441.40Smycroft
451.40Smycroftmemcpy.po: bcopy.c
461.40Smycroft	@echo ${COMPILE.c:Q} -DMEMCOPY -pg ${.ALLSRC} -o ${.TARGET}
471.40Smycroft	@${COMPILE.c} -DMEMCOPY -pg ${.ALLSRC} -o ${.TARGET}.o
481.40Smycroft	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
491.40Smycroft	@rm -f ${.TARGET}.o
501.40Smycroft
511.40Smycroftmemcpy.so: bcopy.c
521.40Smycroft	@echo ${COMPILE.c:Q} -DMEMCOPY ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}
531.40Smycroft	@${COMPILE.c} -DMEMCOPY ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
541.40Smycroft	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
551.40Smycroft	@rm -f ${.TARGET}.o
561.40Smycroft
571.40SmycroftLOBJS+= memcpy.ln
581.40Smycroftmemcpy.ln: bcopy.c
591.40Smycroft	${LINT} -DMEMCOPY ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
601.40Smycroft	    ${.ALLSRC}
611.40Smycroft.endif
621.38Scgd
631.38Scgd# if no machine specific strchr(3), build one out of index(3).
641.38Scgd.if empty(SRCS:Mstrchr.S)
651.38ScgdOBJS+=	strchr.o
661.38Scgdstrchr.o: index.c
671.39Scgd	@echo ${COMPILE.c:Q} -DSTRCHR ${.ALLSRC} -o ${.TARGET}
681.39Scgd	@${COMPILE.c} -DSTRCHR ${.ALLSRC} -o ${.TARGET}.o
691.39Scgd	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
701.39Scgd	@rm -f ${.TARGET}.o
711.38Scgd
721.38Scgdstrchr.po: index.c
731.39Scgd	@echo ${COMPILE.c:Q} -DSTRCHR -pg ${.ALLSRC} -o ${.TARGET}
741.39Scgd	@${COMPILE.c} -DSTRCHR -pg ${.ALLSRC} -o ${.TARGET}.o
751.39Scgd	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
761.39Scgd	@rm -f ${.TARGET}.o
771.38Scgd
781.38Scgdstrchr.so: index.c
791.39Scgd	@echo ${COMPILE.c:Q} -DSTRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}
801.39Scgd	@${COMPILE.c} -DSTRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
811.39Scgd	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
821.39Scgd	@rm -f ${.TARGET}.o
831.38Scgd
841.38ScgdLOBJS+= strchr.ln
851.38Scgdstrchr.ln: index.c
861.38Scgd	${LINT} -DSTRCHR ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
871.38Scgd	    ${.ALLSRC}
881.38Scgd.endif
891.38Scgd
901.38Scgd# if no machine specific strrchr(3), build one out of rindex(3).
911.38Scgd.if empty(SRCS:Mstrrchr.S)
921.38ScgdOBJS+=	strrchr.o
931.38Scgdstrrchr.o: rindex.c
941.39Scgd	@echo ${COMPILE.c:Q} -DSTRRCHR ${.ALLSRC} -o ${.TARGET}
951.39Scgd	@${COMPILE.c} -DSTRRCHR ${.ALLSRC} -o ${.TARGET}.o
961.39Scgd	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
971.39Scgd	@rm -f ${.TARGET}.o
981.38Scgd
991.38Scgdstrrchr.po: rindex.c
1001.39Scgd	@echo ${COMPILE.c:Q} -DSTRRCHR -pg ${.ALLSRC} -o ${.TARGET}
1011.39Scgd	@${COMPILE.c} -DSTRRCHR -pg ${.ALLSRC} -o ${.TARGET}.o
1021.39Scgd	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
1031.39Scgd	@rm -f ${.TARGET}.o
1041.38Scgd
1051.38Scgdstrrchr.so: rindex.c
1061.39Scgd	@echo ${COMPILE.c:Q} -DSTRRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}
1071.39Scgd	@${COMPILE.c} -DSTRRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
1081.39Scgd	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
1091.39Scgd	@rm -f ${.TARGET}.o
1101.38Scgd
1111.38ScgdLOBJS+= strrchr.ln
1121.38Scgdstrrchr.ln: rindex.c
1131.38Scgd	${LINT} -DSTRRCHR ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
1141.38Scgd	    ${.ALLSRC}
1151.38Scgd.endif
1161.36Scjs
1171.36Scjs# only needed during build
1181.36Scjslibinstall::
1191.1Scgd
1201.1Scgd.include <bsd.lib.mk>
1211.23Smycroft
1221.23Smycroftlib${LIB}.o:: ${OBJS}
1231.23Smycroft	@echo building standard ${LIB} library
1241.23Smycroft	@rm -f lib${LIB}.o
1251.37Sgwr	@${LD} -r -o lib${LIB}.o `NM=${NM} ${LORDER} ${OBJS} | ${TSORT}`
1261.23Smycroft
1271.23SmycroftPOBJS+=	${OBJS:.o=.po} mcount.po
1281.23Smycroftlib${LIB}.po:: ${POBJS}
1291.23Smycroft	@echo building profiled ${LIB} library
1301.23Smycroft	@rm -f lib${LIB}.po
1311.37Sgwr	@${LD} -r -o lib${LIB}.po `NM=${NM} ${LORDER} ${POBJS} | ${TSORT}`
132