From 80d7d4c67300129f416fb8462db4b1f016dfdf46 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Fri, 4 Oct 2019 16:30:35 -0400 Subject: improve Makefile --- Makefile | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index b93941f..0a174e2 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,9 @@ compiled_programs=${cc_files} ${cpp_files} CC=gcc -std=gnu99 CFLAGS=-Os -all: samizdat-paths.sh ${compiled_programs} +SUBMODULES = fsmgr kiki openssh + +all: samizdat-paths.sh ${compiled_programs} ${SUBMODULES} dynmenu: src/dynmenu.cpp $(CXX) $(CFLAGS) $< -o $@ -lcurses @@ -50,15 +52,18 @@ endif include user.mk -SUBMODULES = fsmgr kiki openssh -.PHONY: rootfs submodule $(SUBMODULES) - +.PHONY: submodule $(SUBMODULES) $(SUBMODULES): [ -e $@/Makefile ] || git submodule update --init - $(MAKE) -C $@ - $(MAKE) -C $@ install + $(MAKE) -C $@ $(cmd) -rootfs: $(SUBMODULES) +install-submodules: cmd=install +install-submodules: $(SUBMODULES) + +.PHONY: rootfs +rootfs: + [ -e install-submodules-stamp ] || make install-submodules-stamp + [ -e install-stamp ] || sudo make install-stamp $(MAKE) -C rootfs sudo mkdir -p /srv/nbd sudo ln -sf "$$PWD"/rootfs/samizdat.btrfs /srv/nbd/samizdat.btrfs @@ -78,8 +83,18 @@ isotest-nonet: install xorriso-usb.sh $(reuse_child) --out samizdat-nonet.iso USE_ISO=y SLOW_BOOT=y NO_NET=y qemu.sh samizdat-nonet.iso -install: ${bin_programs} samizdat-paths.sh ${compiled_programs} +.PHONY: install +install: + [ -e install-submodules-stamp ] || make install-submodules-stamp + sudo make install-stamp + +install-submodules-stamp: install-submodules + touch $@ + +install-bin-programs: ${bin_programs} install -p ${bin_programs} ${instdir}${samizdat_bindir} + +install-stamp: install-bin-programs samizdat-paths.sh ${compiled_programs} mkdir -p ${instdir}${samizdat_initrd_files_dir} mkdir -p ${instdir}${samizdat_child_dir} mkdir -p ${instdir}${samizdat_grub_efi_dir} @@ -89,3 +104,4 @@ install: ${bin_programs} samizdat-paths.sh ${compiled_programs} cp -r ${initrd_files} ${instdir}${samizdat_initrd_files_dir} cp -r ${initramfs_conf_files} ${instdir}${samizdat_initramfs_conf_dir} cp -r ${isolinux_files} ${instdir}${samizdat_isolinux_dir} + touch $@ -- cgit v1.2.3