summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2019-10-04 16:30:35 -0400
committerAndrew Cady <d@jerkface.net>2019-10-04 16:30:35 -0400
commit80d7d4c67300129f416fb8462db4b1f016dfdf46 (patch)
tree0e26507e20aef56302c47fdb247d3d939b573115 /Makefile
parent31a0bc2cd34f48a126e7967d4eec017cc1a2a437 (diff)
improve Makefile
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile32
1 files changed, 24 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index b93941f..0a174e2 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,9 @@ compiled_programs=${cc_files} ${cpp_files}
8CC=gcc -std=gnu99 8CC=gcc -std=gnu99
9CFLAGS=-Os 9CFLAGS=-Os
10 10
11all: samizdat-paths.sh ${compiled_programs} 11SUBMODULES = fsmgr kiki openssh
12
13all: samizdat-paths.sh ${compiled_programs} ${SUBMODULES}
12 14
13dynmenu: src/dynmenu.cpp 15dynmenu: src/dynmenu.cpp
14 $(CXX) $(CFLAGS) $< -o $@ -lcurses 16 $(CXX) $(CFLAGS) $< -o $@ -lcurses
@@ -50,15 +52,18 @@ endif
50 52
51include user.mk 53include user.mk
52 54
53SUBMODULES = fsmgr kiki openssh 55.PHONY: submodule $(SUBMODULES)
54.PHONY: rootfs submodule $(SUBMODULES)
55
56$(SUBMODULES): 56$(SUBMODULES):
57 [ -e $@/Makefile ] || git submodule update --init 57 [ -e $@/Makefile ] || git submodule update --init
58 $(MAKE) -C $@ 58 $(MAKE) -C $@ $(cmd)
59 $(MAKE) -C $@ install
60 59
61rootfs: $(SUBMODULES) 60install-submodules: cmd=install
61install-submodules: $(SUBMODULES)
62
63.PHONY: rootfs
64rootfs:
65 [ -e install-submodules-stamp ] || make install-submodules-stamp
66 [ -e install-stamp ] || sudo make install-stamp
62 $(MAKE) -C rootfs 67 $(MAKE) -C rootfs
63 sudo mkdir -p /srv/nbd 68 sudo mkdir -p /srv/nbd
64 sudo ln -sf "$$PWD"/rootfs/samizdat.btrfs /srv/nbd/samizdat.btrfs 69 sudo ln -sf "$$PWD"/rootfs/samizdat.btrfs /srv/nbd/samizdat.btrfs
@@ -78,8 +83,18 @@ isotest-nonet: install
78 xorriso-usb.sh $(reuse_child) --out samizdat-nonet.iso 83 xorriso-usb.sh $(reuse_child) --out samizdat-nonet.iso
79 USE_ISO=y SLOW_BOOT=y NO_NET=y qemu.sh samizdat-nonet.iso 84 USE_ISO=y SLOW_BOOT=y NO_NET=y qemu.sh samizdat-nonet.iso
80 85
81install: ${bin_programs} samizdat-paths.sh ${compiled_programs} 86.PHONY: install
87install:
88 [ -e install-submodules-stamp ] || make install-submodules-stamp
89 sudo make install-stamp
90
91install-submodules-stamp: install-submodules
92 touch $@
93
94install-bin-programs: ${bin_programs}
82 install -p ${bin_programs} ${instdir}${samizdat_bindir} 95 install -p ${bin_programs} ${instdir}${samizdat_bindir}
96
97install-stamp: install-bin-programs samizdat-paths.sh ${compiled_programs}
83 mkdir -p ${instdir}${samizdat_initrd_files_dir} 98 mkdir -p ${instdir}${samizdat_initrd_files_dir}
84 mkdir -p ${instdir}${samizdat_child_dir} 99 mkdir -p ${instdir}${samizdat_child_dir}
85 mkdir -p ${instdir}${samizdat_grub_efi_dir} 100 mkdir -p ${instdir}${samizdat_grub_efi_dir}
@@ -89,3 +104,4 @@ install: ${bin_programs} samizdat-paths.sh ${compiled_programs}
89 cp -r ${initrd_files} ${instdir}${samizdat_initrd_files_dir} 104 cp -r ${initrd_files} ${instdir}${samizdat_initrd_files_dir}
90 cp -r ${initramfs_conf_files} ${instdir}${samizdat_initramfs_conf_dir} 105 cp -r ${initramfs_conf_files} ${instdir}${samizdat_initramfs_conf_dir}
91 cp -r ${isolinux_files} ${instdir}${samizdat_isolinux_dir} 106 cp -r ${isolinux_files} ${instdir}${samizdat_isolinux_dir}
107 touch $@