Home | History | Annotate | Line # | Download | only in rescue
Makefile revision 1.46
      1  1.46   thorpej #	$NetBSD: Makefile,v 1.46 2025/12/28 18:43:25 thorpej Exp $
      2  1.34     kamil 
      3  1.35     kamil NOLIBCSANITIZER=	# defined
      4  1.34     kamil NOSANITIZER=		# defined
      5   1.1     lukem 
      6   1.1     lukem .include <bsd.own.mk>
      7   1.1     lukem .include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
      8   1.1     lukem 
      9   1.1     lukem WARNS=		1
     10  1.21       mrg # XXX
     11  1.21       mrg .if ${MACHINE_ARCH} != "m68000"
     12  1.31      matt DBG+=		-Os
     13  1.21       mrg .endif
     14  1.21       mrg 
     15  1.39  christos CRUNCHGEN_FLAGS+=-V DBG="${DBG}"
     16   1.1     lukem 
     17  1.33  christos .if ${MKSTATICPIE:Uno} == "yes"
     18  1.33  christos CFLAGS+=-fPIE
     19  1.39  christos CRUNCHGEN_FLAGS+=-V LDSTATIC="-static -pie"
     20  1.39  christos .else
     21  1.39  christos CRUNCHGEN_FLAGS+=-V LDSTATIC="-static" -V NOPIE=
     22  1.33  christos .endif
     23  1.33  christos 
     24  1.39  christos CRUNCHGEN_FLAGS+=-V NOLIBCSANITIZER= -V NOSANITIZER= -V NOMAN=
     25  1.39  christos 
     26  1.46   thorpej .if (${MKSSH} != "no")
     27  1.43  riastrad # libssh is private, so libssh.a is not installed in DESTDIR, so we
     28  1.43  riastrad # have to get it out of the objdir.
     29  1.43  riastrad #
     30  1.43  riastrad # XXX Should do this differently, and uniformly for all libraries.
     31  1.43  riastrad .if !defined(LIBDO.ssh)
     32  1.43  riastrad LIBDO.ssh!=	cd ${NETBSDSRCDIR}/crypto/external/bsd/openssh/lib && \
     33  1.43  riastrad 		${PRINTOBJDIR}
     34  1.43  riastrad .MAKEOVERRIDES+=LIBDO.ssh
     35  1.43  riastrad .endif
     36  1.43  riastrad CRUNCHGEN_FLAGS+=-L ${LIBDO.ssh}
     37  1.46   thorpej .endif		# MKSSH != "no"
     38  1.43  riastrad 
     39   1.8     lukem RESCUEDIR=	/rescue
     40   1.1     lukem CRUNCHBIN=	rescue
     41   1.8     lukem CRUNCHENV=	RESCUEDIR=${RESCUEDIR}
     42   1.6     lukem SMALLPROG=	0
     43   1.1     lukem LISTS=		${.CURDIR}/list
     44   1.1     lukem TARGETDIR=	${DESTDIR}/rescue
     45   1.1     lukem PARSELISTENV+=  TARGETDIR=${TARGETDIR:Q}
     46   1.1     lukem 
     47  1.28    martin .for f in pdisk
     48  1.29  christos PROG_${f}!=	cd ${NETBSDSRCDIR}/external/bsd/${f}/bin && ${MAKE} -V PROG
     49  1.28    martin .if (${PROG_${f}} != "")
     50  1.28    martin LISTS+=		${.CURDIR}/list.${f}
     51  1.28    martin .endif
     52  1.28    martin .endfor
     53  1.28    martin 
     54  1.44   thorpej RESCUEFSLIST=	adosfs cd9660fs efs ext2fs fdescfs filecorefs kernfs lfs \
     55  1.44   thorpej 		msdosfs nfs ntfs nullfs overlayfs procfs tmpfs umapfs unionfs
     56  1.44   thorpej 
     57  1.44   thorpej .for f in ${RESCUEFSLIST}
     58  1.44   thorpej .if (${MK${f:tu}} != "no")
     59  1.44   thorpej LISTS+=		${.CURDIR}/list.${f}
     60  1.44   thorpej .endif
     61  1.44   thorpej .endfor
     62  1.44   thorpej 
     63  1.12     lukem .if ${USE_INET6} != "no"
     64  1.13     lukem LISTS+=		${.CURDIR}/list.inet6
     65  1.12     lukem .endif
     66  1.12     lukem 
     67  1.45   thorpej .if ${MKIPSEC} != "no"
     68  1.45   thorpej LISTS+=		${.CURDIR}/list.ipsec
     69  1.45   thorpej .endif
     70  1.45   thorpej 
     71  1.46   thorpej .if ${MKSSH} != "no"
     72  1.46   thorpej LISTS+=		${.CURDIR}/list.ssh
     73  1.46   thorpej CRUNCHENV+=	MKKERBEROS=no		# for ssh
     74  1.46   thorpej .endif
     75  1.46   thorpej 
     76  1.14     lukem LISTS+=		${.CURDIR}/list.crypto
     77  1.14     lukem 
     78  1.22       mrg LISTS+=		${.CURDIR}/list.ldd
     79  1.22       mrg LDD_ELF32DIR!=	cd ${NETBSDSRCDIR}/usr.bin/ldd/elf32 && ${PRINTOBJDIR}
     80  1.22       mrg LDD_ELF64DIR!=	cd ${NETBSDSRCDIR}/usr.bin/ldd/elf64 && ${PRINTOBJDIR}
     81  1.23        he PARSELISTENV+=	LDD_ELF32DIR=${LDD_ELF32DIR} LDD_ELF64DIR=${LDD_ELF64DIR}
     82   1.8     lukem 
     83  1.17     lukem #	Specially built objects to override the behaviour of
     84  1.17     lukem #	various library functions
     85  1.17     lukem #
     86  1.17     lukem 
     87  1.41  christos OVERRIDEOBJS=	rcmd.o
     88  1.41  christos .PATH:	${NETBSDSRCDIR}/lib/libc/net
     89  1.17     lukem CPPFLAGS.rcmd.c+=-I${NETBSDSRCDIR}/lib/libc/include -DRESCUEDIR=\"${RESCUEDIR}\"
     90  1.17     lukem 
     91  1.17     lukem LIBOVERRIDE=	liboverride.o
     92  1.17     lukem ${LIBOVERRIDE}: ${OVERRIDEOBJS}
     93  1.18     lukem 	${_MKTARGET_LINK}
     94  1.17     lukem 	${LD} -r -o $@ ${OVERRIDEOBJS}
     95  1.17     lukem 
     96  1.26       roy CLEANFILES+=	${OVERRIDEOBJS} ${LIBOVERRIDE}
     97  1.17     lukem 
     98  1.17     lukem ${CRUNCHBIN}:	${LIBOVERRIDE}
     99  1.17     lukem 
    100  1.17     lukem 
    101  1.17     lukem #	The primary target ...
    102  1.17     lukem #
    103  1.17     lukem 
    104   1.9      tron CLEANFILES+=	rescue.unstripped
    105   1.1     lukem 
    106   1.1     lukem .include "${DISTRIBDIR}/common/Makefile.crunch"
    107   1.1     lukem 
    108  1.26       roy realall: ${CRUNCHBIN}
    109   1.1     lukem 
    110   1.1     lukem install: ${CRUNCHBIN}
    111  1.19     lukem # XXX this MKMSG doesn't line up
    112  1.15     lukem 	${_MKMSG} "populate ${TARGETDIR}"
    113   1.1     lukem 	${PARSELIST} -v mode=install ${LISTS} | ${MAKE} -f - install
    114   1.1     lukem 
    115   1.1     lukem .include <bsd.prog.mk>
    116