Merge branch 'vendor/DIFFUTILS'
[dragonfly.git] / initrd / Makefile
1 # Target directory to install the rescue tools
2 RESCUE_DIR?=            /rescue
3
4 # Temporary directory to stage the initrd files (e.g., /etc)
5 # NOTE: Ignore ${DESTDIR} when staging files into this directory
6 INITRD_STAGEDIR!=       mktemp -d -t initrd-stage
7
8 .END:
9         rm -rf ${INITRD_STAGEDIR}
10
11 rescue:
12         @${ECHO} ">>> Building and installing rescue tools ..."
13 .for _dir in bin oinit sbin sbin.libcrypto sbin.lvm
14         (cd ${.CURDIR}/${_dir}; \
15             ${ECHO} "=> ${_dir}"; \
16             make BINDIR=${RESCUE_DIR} clean cleandepend ; \
17             make BINDIR=${RESCUE_DIR} obj ; \
18             make BINDIR=${RESCUE_DIR} depend all install clean cleandepend)
19 .endfor
20
21 initrd: rescue
22         @${ECHO} ">>> Preparing initrd contents ..."
23         (cd ${.CURDIR}/etc; \
24             mkdir ${INITRD_STAGEDIR}/etc; \
25             make DESTDIR="" BINDIR=${INITRD_STAGEDIR}/etc \
26                 depend all install)
27         @${ECHO} ">>> Creating initrd.img.gz ..."
28         sh ${.CURDIR}/mkinitrd.sh \
29             -b ${DESTDIR}/boot \
30             -r ${DESTDIR}${RESCUE_DIR} \
31             -c ${INITRD_STAGEDIR}
32         (cd ${.CURDIR}/etc; make clean cleandepend)
33
34 clean:
35         @${ECHO} ">>> Cleaning ..."
36 .for _dir in bin oinit sbin sbin.libcrypto sbin.lvm
37         (cd ${.CURDIR}/${_dir}; \
38             ${ECHO} "=> ${_dir}"; \
39             make BINDIR=${RESCUE_DIR} clean cleandepend)
40 .endfor