1INITRD_MAKE= LC_ALL=C \ 2 make -m ${.CURDIR}/../share/mk 3 4# Target directory to install the rescue tools 5RESCUE_DIR?= /rescue 6 7# Temporary directory to stage the initrd files (e.g., /etc) 8# NOTE: Ignore ${DESTDIR} when staging files into this directory 9INITRD_STAGEDIR!= mktemp -d -t initrd-stage 10 11.END: 12 @rm -rf ${INITRD_STAGEDIR} 13 14_build_rescue: 15 @echo ">>> Building rescue tools ..." 16.for _dir in oinit rescue rescue.libcrypto 17 (cd ${.CURDIR}/${_dir} && \ 18 ${INITRD_MAKE} obj && \ 19 ${INITRD_MAKE} depend all) 20.endfor 21 22_install_rescue: 23 @echo ">>> Installing rescue tools ..." 24.for _dir in oinit rescue rescue.libcrypto 25 (cd ${.CURDIR}/${_dir} && \ 26 ${INITRD_MAKE} BINDIR=${RESCUE_DIR} install) 27.endfor 28 29_stage_initrd: 30 @echo ">>> Staging initrd contents ..." 31 (cd ${.CURDIR}/etc && \ 32 mkdir ${INITRD_STAGEDIR}/etc && \ 33 ${INITRD_MAKE} obj && \ 34 ${INITRD_MAKE} depend all && \ 35 ${INITRD_MAKE} BINDIR=${INITRD_STAGEDIR}/etc DESTDIR="" install) 36 37_make_initrd: 38 @echo ">>> Creating initrd.img.gz ..." 39 sh ${.CURDIR}/mkinitrd.sh \ 40 -b ${DESTDIR}/boot \ 41 -r ${DESTDIR}${RESCUE_DIR} \ 42 -c ${INITRD_STAGEDIR} 43 44_clean_rescue: 45 @echo ">>> Cleaning rescue ..." 46.for _dir in oinit rescue rescue.libcrypto 47 (cd ${.CURDIR}/${_dir} && ${INITRD_MAKE} clean cleandepend) 48.endfor 49 50_clean_initrd: 51 @echo ">>> Cleaning initrd ..." 52 (cd ${.CURDIR}/etc && ${INITRD_MAKE} clean cleandepend) 53 54clean: _clean_rescue _clean_initrd 55 56_quickrescue: _build_rescue _install_rescue 57rescue: _clean_rescue _quickrescue .PHONY 58.ORDER: _clean_rescue _build_rescue _install_rescue 59 60_quickinitrd: _stage_initrd _make_initrd 61_initrd: _clean_initrd _quickinitrd 62.ORDER: _clean_initrd _stage_initrd _make_initrd 63 64quickrescue: _quickrescue 65quickinitrd: _quickrescue _quickinitrd 66initrd: rescue _initrd 67.ORDER: _quickrescue _quickinitrd 68.ORDER: rescue _initrd 69