xref: /netbsd/rescue/Makefile (revision 11c18d4d)
1*11c18d4dSchristos#	$NetBSD: Makefile,v 1.42 2020/04/04 17:57:16 christos Exp $
2efafb21cSkamil
333be55f2SkamilNOLIBCSANITIZER=	# defined
4efafb21cSkamilNOSANITIZER=		# defined
58290f523Slukem
68290f523Slukem.include <bsd.own.mk>
78290f523Slukem.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
88290f523Slukem
98290f523SlukemWARNS=		1
10ecc90aa0Smrg# XXX
11ecc90aa0Smrg.if ${MACHINE_ARCH} != "m68000"
1242b740beSmattDBG+=		-Os
13ecc90aa0Smrg.endif
14ecc90aa0Smrg
15e91a52edSchristosCRUNCHGEN_FLAGS+=-V DBG="${DBG}"
168290f523Slukem
17d100d42bSchristos.if ${MKSTATICPIE:Uno} == "yes"
18d100d42bSchristosCFLAGS+=-fPIE
19e91a52edSchristosCRUNCHGEN_FLAGS+=-V LDSTATIC="-static -pie"
20e91a52edSchristos.else
21e91a52edSchristosCRUNCHGEN_FLAGS+=-V LDSTATIC="-static" -V NOPIE=
22d100d42bSchristos.endif
23d100d42bSchristos
24e91a52edSchristosCRUNCHGEN_FLAGS+=-V NOLIBCSANITIZER= -V NOSANITIZER= -V NOMAN=
25e91a52edSchristos
26adb7a5bfSlukemRESCUEDIR=	/rescue
278290f523SlukemCRUNCHBIN=	rescue
28adb7a5bfSlukemCRUNCHENV=	RESCUEDIR=${RESCUEDIR}
290ec638c2SlukemSMALLPROG=	0
308290f523SlukemLISTS=		${.CURDIR}/list
318290f523SlukemTARGETDIR=	${DESTDIR}/rescue
328290f523SlukemPARSELISTENV+=  TARGETDIR=${TARGETDIR:Q}
338290f523Slukem
3491007268Smartin.for f in pdisk
35be439cbbSchristosPROG_${f}!=	cd ${NETBSDSRCDIR}/external/bsd/${f}/bin && ${MAKE} -V PROG
3691007268Smartin.if (${PROG_${f}} != "")
3791007268SmartinLISTS+=		${.CURDIR}/list.${f}
3891007268Smartin.endif
3991007268Smartin.endfor
4091007268Smartin
4171570115Slukem.if ${USE_INET6} != "no"
42497e7684SlukemLISTS+=		${.CURDIR}/list.inet6
4371570115Slukem.endif
4471570115Slukem
45e1375832SlukemLISTS+=		${.CURDIR}/list.crypto
46242baa62SlukemCRUNCHENV+=	MKKERBEROS=no		# for ssh
47e1375832Slukem
489b688fedSmrgLISTS+=		${.CURDIR}/list.ldd
499b688fedSmrgLDD_ELF32DIR!=	cd ${NETBSDSRCDIR}/usr.bin/ldd/elf32 && ${PRINTOBJDIR}
509b688fedSmrgLDD_ELF64DIR!=	cd ${NETBSDSRCDIR}/usr.bin/ldd/elf64 && ${PRINTOBJDIR}
516ef3b52dShePARSELISTENV+=	LDD_ELF32DIR=${LDD_ELF32DIR} LDD_ELF64DIR=${LDD_ELF64DIR}
528290f523Slukem
5383846d37Slukem#	Specially built objects to override the behaviour of
5483846d37Slukem#	various library functions
5583846d37Slukem#
5683846d37Slukem
57e9157c95SchristosOVERRIDEOBJS=	rcmd.o
58e9157c95Schristos.PATH:	${NETBSDSRCDIR}/lib/libc/net
5983846d37SlukemCPPFLAGS.rcmd.c+=-I${NETBSDSRCDIR}/lib/libc/include -DRESCUEDIR=\"${RESCUEDIR}\"
6083846d37Slukem
6183846d37SlukemLIBOVERRIDE=	liboverride.o
6283846d37Slukem${LIBOVERRIDE}: ${OVERRIDEOBJS}
63366ee6e7Slukem	${_MKTARGET_LINK}
6483846d37Slukem	${LD} -r -o $@ ${OVERRIDEOBJS}
6583846d37Slukem
66d930bbb9SroyCLEANFILES+=	${OVERRIDEOBJS} ${LIBOVERRIDE}
6783846d37Slukem
6883846d37Slukem${CRUNCHBIN}:	${LIBOVERRIDE}
6983846d37Slukem
7083846d37Slukem
7183846d37Slukem#	The primary target ...
7283846d37Slukem#
7383846d37Slukem
74af789804StronCLEANFILES+=	rescue.unstripped
75adb7a5bfSlukem
768290f523Slukem.include "${DISTRIBDIR}/common/Makefile.crunch"
778290f523Slukem
78d930bbb9Sroyrealall: ${CRUNCHBIN}
798290f523Slukem
808290f523Slukeminstall: ${CRUNCHBIN}
81dfee6713Slukem# XXX this MKMSG doesn't line up
8244173303Slukem	${_MKMSG} "populate ${TARGETDIR}"
838290f523Slukem	${PARSELIST} -v mode=install ${LISTS} | ${MAKE} -f - install
848290f523Slukem
858290f523Slukem.include <bsd.prog.mk>
86