Makefile revision 1.39
11.39Scgd#	$NetBSD: Makefile,v 1.39 1998/01/23 19:01:17 cgd 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.38Scgd
361.38Scgd# if no machine specific strchr(3), build one out of index(3).
371.38Scgd.if empty(SRCS:Mstrchr.S)
381.38ScgdOBJS+=	strchr.o
391.38Scgdstrchr.o: index.c
401.39Scgd	@echo ${COMPILE.c:Q} -DSTRCHR ${.ALLSRC} -o ${.TARGET}
411.39Scgd	@${COMPILE.c} -DSTRCHR ${.ALLSRC} -o ${.TARGET}.o
421.39Scgd	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
431.39Scgd	@rm -f ${.TARGET}.o
441.38Scgd
451.38Scgdstrchr.po: index.c
461.39Scgd	@echo ${COMPILE.c:Q} -DSTRCHR -pg ${.ALLSRC} -o ${.TARGET}
471.39Scgd	@${COMPILE.c} -DSTRCHR -pg ${.ALLSRC} -o ${.TARGET}.o
481.39Scgd	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
491.39Scgd	@rm -f ${.TARGET}.o
501.38Scgd
511.38Scgdstrchr.so: index.c
521.39Scgd	@echo ${COMPILE.c:Q} -DSTRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}
531.39Scgd	@${COMPILE.c} -DSTRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
541.39Scgd	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
551.39Scgd	@rm -f ${.TARGET}.o
561.38Scgd
571.38ScgdLOBJS+= strchr.ln
581.38Scgdstrchr.ln: index.c
591.38Scgd	${LINT} -DSTRCHR ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
601.38Scgd	    ${.ALLSRC}
611.38Scgd.endif
621.38Scgd
631.38Scgd# if no machine specific strrchr(3), build one out of rindex(3).
641.38Scgd.if empty(SRCS:Mstrrchr.S)
651.38ScgdOBJS+=	strrchr.o
661.38Scgdstrrchr.o: rindex.c
671.39Scgd	@echo ${COMPILE.c:Q} -DSTRRCHR ${.ALLSRC} -o ${.TARGET}
681.39Scgd	@${COMPILE.c} -DSTRRCHR ${.ALLSRC} -o ${.TARGET}.o
691.39Scgd	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
701.39Scgd	@rm -f ${.TARGET}.o
711.38Scgd
721.38Scgdstrrchr.po: rindex.c
731.39Scgd	@echo ${COMPILE.c:Q} -DSTRRCHR -pg ${.ALLSRC} -o ${.TARGET}
741.39Scgd	@${COMPILE.c} -DSTRRCHR -pg ${.ALLSRC} -o ${.TARGET}.o
751.39Scgd	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
761.39Scgd	@rm -f ${.TARGET}.o
771.38Scgd
781.38Scgdstrrchr.so: rindex.c
791.39Scgd	@echo ${COMPILE.c:Q} -DSTRRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}
801.39Scgd	@${COMPILE.c} -DSTRRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
811.39Scgd	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
821.39Scgd	@rm -f ${.TARGET}.o
831.38Scgd
841.38ScgdLOBJS+= strrchr.ln
851.38Scgdstrrchr.ln: rindex.c
861.38Scgd	${LINT} -DSTRRCHR ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
871.38Scgd	    ${.ALLSRC}
881.38Scgd.endif
891.36Scjs
901.36Scjs# only needed during build
911.36Scjslibinstall::
921.1Scgd
931.1Scgd.include <bsd.lib.mk>
941.23Smycroft
951.23Smycroftlib${LIB}.o:: ${OBJS}
961.23Smycroft	@echo building standard ${LIB} library
971.23Smycroft	@rm -f lib${LIB}.o
981.37Sgwr	@${LD} -r -o lib${LIB}.o `NM=${NM} ${LORDER} ${OBJS} | ${TSORT}`
991.23Smycroft
1001.23SmycroftPOBJS+=	${OBJS:.o=.po} mcount.po
1011.23Smycroftlib${LIB}.po:: ${POBJS}
1021.23Smycroft	@echo building profiled ${LIB} library
1031.23Smycroft	@rm -f lib${LIB}.po
1041.37Sgwr	@${LD} -r -o lib${LIB}.po `NM=${NM} ${LORDER} ${POBJS} | ${TSORT}`
105