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