Makefile revision 1.34
11.34Skamil#	$NetBSD: Makefile,v 1.34 2018/06/21 10:44:01 kamil Exp $
21.34Skamil
31.34SkamilNOSANITIZER=		# defined
41.1Slukem
51.1Slukem.include <bsd.own.mk>
61.1Slukem.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
71.1Slukem
81.1SlukemWARNS=		1
91.21Smrg# XXX
101.21Smrg.if ${MACHINE_ARCH} != "m68000"
111.31SmattDBG+=		-Os
121.21Smrg.endif
131.21Smrg
141.21SmrgCRUNCHGEN_FLAGS=-d "${DBG}"
151.1Slukem
161.33Schristos.if ${MKSTATICPIE:Uno} == "yes"
171.33SchristosCRUNCHGEN_FLAGS+=-p
181.33SchristosCFLAGS+=-fPIE
191.33Schristos.endif
201.33Schristos
211.8SlukemRESCUEDIR=	/rescue
221.1SlukemCRUNCHBIN=	rescue
231.8SlukemCRUNCHENV=	RESCUEDIR=${RESCUEDIR}
241.6SlukemSMALLPROG=	0
251.1SlukemLISTS=		${.CURDIR}/list
261.1SlukemTARGETDIR=	${DESTDIR}/rescue
271.1SlukemPARSELISTENV+=  TARGETDIR=${TARGETDIR:Q}
281.1Slukem
291.28Smartin.for f in ldconfig
301.1SlukemPROG_${f}!=	cd ${NETBSDSRCDIR}/sbin/${f} && ${MAKE} -V PROG
311.1Slukem.if (${PROG_${f}} != "")
321.1SlukemLISTS+=		${.CURDIR}/list.${f}
331.1Slukem.endif
341.1Slukem.endfor
351.1Slukem
361.28Smartin.for f in pdisk
371.29SchristosPROG_${f}!=	cd ${NETBSDSRCDIR}/external/bsd/${f}/bin && ${MAKE} -V PROG
381.28Smartin.if (${PROG_${f}} != "")
391.28SmartinLISTS+=		${.CURDIR}/list.${f}
401.28Smartin.endif
411.28Smartin.endfor
421.28Smartin
431.12Slukem.if ${USE_INET6} != "no"
441.13SlukemLISTS+=		${.CURDIR}/list.inet6
451.12Slukem.endif
461.12Slukem
471.14SlukemLISTS+=		${.CURDIR}/list.crypto
481.16SlukemCRUNCHENV+=	MKKERBEROS=no		# for ssh
491.14Slukem
501.22SmrgLISTS+=		${.CURDIR}/list.ldd
511.22SmrgLDD_ELF32DIR!=	cd ${NETBSDSRCDIR}/usr.bin/ldd/elf32 && ${PRINTOBJDIR}
521.22SmrgLDD_ELF64DIR!=	cd ${NETBSDSRCDIR}/usr.bin/ldd/elf64 && ${PRINTOBJDIR}
531.23ShePARSELISTENV+=	LDD_ELF32DIR=${LDD_ELF32DIR} LDD_ELF64DIR=${LDD_ELF64DIR}
541.8Slukem
551.30SchristosSMB_LIBDIR!=	cd ${NETBSDSRCDIR}/external/bsd/smbfs/lib/libsmb && ${PRINTOBJDIR}
561.30SchristosPARSELISTENV+=	SMB_LIBDIR=${SMB_LIBDIR}
571.30Schristos
581.17Slukem#	Specially built objects to override the behaviour of
591.17Slukem#	various library functions
601.17Slukem#
611.17Slukem
621.17SlukemOVERRIDEOBJS=	rcmd.o
631.17Slukem.PATH:	${NETBSDSRCDIR}/lib/libc/net
641.17SlukemCPPFLAGS.rcmd.c+=-I${NETBSDSRCDIR}/lib/libc/include -DRESCUEDIR=\"${RESCUEDIR}\"
651.17Slukem
661.17SlukemLIBOVERRIDE=	liboverride.o
671.17Slukem${LIBOVERRIDE}: ${OVERRIDEOBJS}
681.18Slukem	${_MKTARGET_LINK}
691.17Slukem	${LD} -r -o $@ ${OVERRIDEOBJS}
701.17Slukem
711.26SroyCLEANFILES+=	${OVERRIDEOBJS} ${LIBOVERRIDE}
721.17Slukem
731.17Slukem${CRUNCHBIN}:	${LIBOVERRIDE}
741.17Slukem
751.17Slukem
761.17Slukem#	The primary target ...
771.17Slukem#
781.17Slukem
791.9StronCLEANFILES+=	rescue.unstripped
801.1Slukem
811.1Slukem.include "${DISTRIBDIR}/common/Makefile.crunch"
821.1Slukem
831.26Sroyrealall: ${CRUNCHBIN}
841.1Slukem
851.1Slukeminstall: ${CRUNCHBIN}
861.19Slukem# XXX this MKMSG doesn't line up
871.15Slukem	${_MKMSG} "populate ${TARGETDIR}"
881.1Slukem	${PARSELIST} -v mode=install ${LISTS} | ${MAKE} -f - install
891.1Slukem
901.1Slukem.include <bsd.prog.mk>
91