Makefile revision 1.34
1# $NetBSD: Makefile,v 1.34 2018/06/21 10:44:01 kamil Exp $ 2 3NOSANITIZER= # defined 4 5.include <bsd.own.mk> 6.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib" 7 8WARNS= 1 9# XXX 10.if ${MACHINE_ARCH} != "m68000" 11DBG+= -Os 12.endif 13 14CRUNCHGEN_FLAGS=-d "${DBG}" 15 16.if ${MKSTATICPIE:Uno} == "yes" 17CRUNCHGEN_FLAGS+=-p 18CFLAGS+=-fPIE 19.endif 20 21RESCUEDIR= /rescue 22CRUNCHBIN= rescue 23CRUNCHENV= RESCUEDIR=${RESCUEDIR} 24SMALLPROG= 0 25LISTS= ${.CURDIR}/list 26TARGETDIR= ${DESTDIR}/rescue 27PARSELISTENV+= TARGETDIR=${TARGETDIR:Q} 28 29.for f in ldconfig 30PROG_${f}!= cd ${NETBSDSRCDIR}/sbin/${f} && ${MAKE} -V PROG 31.if (${PROG_${f}} != "") 32LISTS+= ${.CURDIR}/list.${f} 33.endif 34.endfor 35 36.for f in pdisk 37PROG_${f}!= cd ${NETBSDSRCDIR}/external/bsd/${f}/bin && ${MAKE} -V PROG 38.if (${PROG_${f}} != "") 39LISTS+= ${.CURDIR}/list.${f} 40.endif 41.endfor 42 43.if ${USE_INET6} != "no" 44LISTS+= ${.CURDIR}/list.inet6 45.endif 46 47LISTS+= ${.CURDIR}/list.crypto 48CRUNCHENV+= MKKERBEROS=no # for ssh 49 50LISTS+= ${.CURDIR}/list.ldd 51LDD_ELF32DIR!= cd ${NETBSDSRCDIR}/usr.bin/ldd/elf32 && ${PRINTOBJDIR} 52LDD_ELF64DIR!= cd ${NETBSDSRCDIR}/usr.bin/ldd/elf64 && ${PRINTOBJDIR} 53PARSELISTENV+= LDD_ELF32DIR=${LDD_ELF32DIR} LDD_ELF64DIR=${LDD_ELF64DIR} 54 55SMB_LIBDIR!= cd ${NETBSDSRCDIR}/external/bsd/smbfs/lib/libsmb && ${PRINTOBJDIR} 56PARSELISTENV+= SMB_LIBDIR=${SMB_LIBDIR} 57 58# Specially built objects to override the behaviour of 59# various library functions 60# 61 62OVERRIDEOBJS= rcmd.o 63.PATH: ${NETBSDSRCDIR}/lib/libc/net 64CPPFLAGS.rcmd.c+=-I${NETBSDSRCDIR}/lib/libc/include -DRESCUEDIR=\"${RESCUEDIR}\" 65 66LIBOVERRIDE= liboverride.o 67${LIBOVERRIDE}: ${OVERRIDEOBJS} 68 ${_MKTARGET_LINK} 69 ${LD} -r -o $@ ${OVERRIDEOBJS} 70 71CLEANFILES+= ${OVERRIDEOBJS} ${LIBOVERRIDE} 72 73${CRUNCHBIN}: ${LIBOVERRIDE} 74 75 76# The primary target ... 77# 78 79CLEANFILES+= rescue.unstripped 80 81.include "${DISTRIBDIR}/common/Makefile.crunch" 82 83realall: ${CRUNCHBIN} 84 85install: ${CRUNCHBIN} 86# XXX this MKMSG doesn't line up 87 ${_MKMSG} "populate ${TARGETDIR}" 88 ${PARSELIST} -v mode=install ${LISTS} | ${MAKE} -f - install 89 90.include <bsd.prog.mk> 91