Makefile revision 1.41
11.40Schristos# $NetBSD: Makefile,v 1.41 2020/03/01 20:59:54 christos Exp $ 21.34Skamil 31.35SkamilNOLIBCSANITIZER= # defined 41.34SkamilNOSANITIZER= # defined 51.1Slukem 61.1Slukem.include <bsd.own.mk> 71.1Slukem.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib" 81.1Slukem 91.1SlukemWARNS= 1 101.21Smrg# XXX 111.21Smrg.if ${MACHINE_ARCH} != "m68000" 121.31SmattDBG+= -Os 131.21Smrg.endif 141.21Smrg 151.39SchristosCRUNCHGEN_FLAGS+=-V DBG="${DBG}" 161.1Slukem 171.33Schristos.if ${MKSTATICPIE:Uno} == "yes" 181.33SchristosCFLAGS+=-fPIE 191.39SchristosCRUNCHGEN_FLAGS+=-V LDSTATIC="-static -pie" 201.39Schristos.else 211.39SchristosCRUNCHGEN_FLAGS+=-V LDSTATIC="-static" -V NOPIE= 221.33Schristos.endif 231.33Schristos 241.39SchristosCRUNCHGEN_FLAGS+=-V NOLIBCSANITIZER= -V NOSANITIZER= -V NOMAN= 251.39Schristos 261.8SlukemRESCUEDIR= /rescue 271.1SlukemCRUNCHBIN= rescue 281.8SlukemCRUNCHENV= RESCUEDIR=${RESCUEDIR} 291.6SlukemSMALLPROG= 0 301.1SlukemLISTS= ${.CURDIR}/list 311.1SlukemTARGETDIR= ${DESTDIR}/rescue 321.1SlukemPARSELISTENV+= TARGETDIR=${TARGETDIR:Q} 331.1Slukem 341.28Smartin.for f in pdisk 351.29SchristosPROG_${f}!= cd ${NETBSDSRCDIR}/external/bsd/${f}/bin && ${MAKE} -V PROG 361.28Smartin.if (${PROG_${f}} != "") 371.28SmartinLISTS+= ${.CURDIR}/list.${f} 381.28Smartin.endif 391.28Smartin.endfor 401.28Smartin 411.12Slukem.if ${USE_INET6} != "no" 421.13SlukemLISTS+= ${.CURDIR}/list.inet6 431.12Slukem.endif 441.12Slukem 451.14SlukemLISTS+= ${.CURDIR}/list.crypto 461.16SlukemCRUNCHENV+= MKKERBEROS=no # for ssh 471.14Slukem 481.22SmrgLISTS+= ${.CURDIR}/list.ldd 491.22SmrgLDD_ELF32DIR!= cd ${NETBSDSRCDIR}/usr.bin/ldd/elf32 && ${PRINTOBJDIR} 501.22SmrgLDD_ELF64DIR!= cd ${NETBSDSRCDIR}/usr.bin/ldd/elf64 && ${PRINTOBJDIR} 511.23ShePARSELISTENV+= LDD_ELF32DIR=${LDD_ELF32DIR} LDD_ELF64DIR=${LDD_ELF64DIR} 521.8Slukem 531.30SchristosSMB_LIBDIR!= cd ${NETBSDSRCDIR}/external/bsd/smbfs/lib/libsmb && ${PRINTOBJDIR} 541.30SchristosPARSELISTENV+= SMB_LIBDIR=${SMB_LIBDIR} 551.30Schristos 561.17Slukem# Specially built objects to override the behaviour of 571.17Slukem# various library functions 581.17Slukem# 591.17Slukem 601.41SchristosOVERRIDEOBJS= rcmd.o 611.41Schristos.PATH: ${NETBSDSRCDIR}/lib/libc/net 621.17SlukemCPPFLAGS.rcmd.c+=-I${NETBSDSRCDIR}/lib/libc/include -DRESCUEDIR=\"${RESCUEDIR}\" 631.17Slukem 641.17SlukemLIBOVERRIDE= liboverride.o 651.17Slukem${LIBOVERRIDE}: ${OVERRIDEOBJS} 661.18Slukem ${_MKTARGET_LINK} 671.17Slukem ${LD} -r -o $@ ${OVERRIDEOBJS} 681.17Slukem 691.26SroyCLEANFILES+= ${OVERRIDEOBJS} ${LIBOVERRIDE} 701.17Slukem 711.17Slukem${CRUNCHBIN}: ${LIBOVERRIDE} 721.17Slukem 731.17Slukem 741.17Slukem# The primary target ... 751.17Slukem# 761.17Slukem 771.9StronCLEANFILES+= rescue.unstripped 781.1Slukem 791.1Slukem.include "${DISTRIBDIR}/common/Makefile.crunch" 801.1Slukem 811.26Sroyrealall: ${CRUNCHBIN} 821.1Slukem 831.1Slukeminstall: ${CRUNCHBIN} 841.19Slukem# XXX this MKMSG doesn't line up 851.15Slukem ${_MKMSG} "populate ${TARGETDIR}" 861.1Slukem ${PARSELIST} -v mode=install ${LISTS} | ${MAKE} -f - install 871.1Slukem 881.1Slukem.include <bsd.prog.mk> 89