Merge remote-tracking branch 'origin/vendor/OPENSSH'
[dragonfly.git] / initrd / Makefile
1 INITRD_MAKE=    LC_ALL=C \
2                 make -m ${.CURDIR}/../share/mk
3 INITRD_SUBDIRS= etc
4 RESCUE_SUBDIRS= oinit rescue rescue.libcrypto
5
6 # Temporary directory to stage the files for creating the initrd image.
7 #
8 # NOTE: Do not place this directory in the object tree, so that the entire
9 #       object tree can be exported read-only for upgrading other machines.
10 #
11 TMPDIR?=        /tmp
12 STAGEDIR:=      ${TMPDIR}/initrd_staged.${.MAKE.PID}
13
14
15 all:
16         @echo "--------------------------------------------------------------"
17         @echo ">>> building rescue tools and initrd contents ..."
18         @echo "--------------------------------------------------------------"
19 .for _dir in ${RESCUE_SUBDIRS} ${INITRD_SUBDIRS}
20         (cd ${.CURDIR}/${_dir}; \
21             ${INITRD_MAKE} obj; \
22             ${INITRD_MAKE} depend all)
23 .endfor
24         @echo "--------------------------------------------------------------"
25         @echo ">>> complete building rescue and initrd"
26         @echo "--------------------------------------------------------------"
27
28
29 install:
30         # If called by 'installworld' (i.e., 'WORLDINSTALL' defined),
31         # do not overwrite the existing ones.
32 .if !(defined(WORLDINSTALL) && exists(${DESTDIR}/rescue/rescue))
33         @echo "--------------------------------------------------------------"
34         @echo ">>> installing rescue tools to ${DESTDIR}/rescue ..."
35         @echo "--------------------------------------------------------------"
36 .for _dir in ${RESCUE_SUBDIRS}
37         (cd ${.CURDIR}/${_dir}; \
38             ${INITRD_MAKE} BINDIR=/rescue install)
39 .endfor
40 .endif
41
42 .if !(defined(WORLDINSTALL) && exists(${DESTDIR}/boot/kernel/initrd.img.gz))
43         @echo "--------------------------------------------------------------"
44         @echo ">>> setting up ${DESTDIR}/boot/kernel/initrd.img.gz ..."
45         @echo "--------------------------------------------------------------"
46         rm -rf ${STAGEDIR}
47 .for _dir in ${INITRD_SUBDIRS}
48         (cd ${.CURDIR}/${_dir}; \
49             mkdir -p ${STAGEDIR}/${_dir}; \
50             ${INITRD_MAKE} BINDIR=${STAGEDIR}/${_dir} DESTDIR="" install)
51 .endfor
52         sh ${.CURDIR}/mkinitrd.sh \
53             -b ${DESTDIR}/boot \
54             -r ${DESTDIR}/rescue \
55             -c ${STAGEDIR}
56         rm -rf ${STAGEDIR}
57 .endif
58
59
60 clean:
61 .for _dir in ${RESCUE_SUBDIRS} ${INITRD_SUBDIRS}
62         (cd ${.CURDIR}/${_dir} && ${INITRD_MAKE} clean cleandepend)
63 .endfor
64
65
66 .ORDER: all install
67 .MAIN: all