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