diff options
author | Gordon GECOS <u@adam> | 2023-11-22 16:07:32 -0500 |
---|---|---|
committer | Gordon GECOS <u@adam> | 2023-11-22 16:14:17 -0500 |
commit | e015b8cbe957a1913f178dc5e4ba166972f79320 (patch) | |
tree | b11b5af7586d05d2bd064ea3b4c14612897b6e02 /Makefile | |
parent | 81fdd7a90cc0dfdc2bc2744d41a346c0d255a6af (diff) |
build system cleanup
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 52 |
1 files changed, 30 insertions, 22 deletions
@@ -1,9 +1,11 @@ | |||
1 | prefix?=/usr/local | 1 | prefix?=/usr/local |
2 | bindir = $(prefix)/bin | ||
3 | initrd_bindir = $(prefix)/lib/samizdat/initrd/bin | ||
2 | 4 | ||
3 | cc_files=wait_for_files samizdat-pinentry krng-add-entropy samizdat-ficlonerange | 5 | cc_files=wait_for_files samizdat-pinentry krng-add-entropy samizdat-ficlonerange |
4 | cpp_files=dynmenu | 6 | cpp_files=dynmenu |
5 | 7 | ||
6 | compiled_programs=${cc_files} ${cpp_files} | 8 | compiled_programs = $(addprefix _build/, ${cc_files} ${cpp_files}) |
7 | 9 | ||
8 | CC=gcc -std=gnu99 | 10 | CC=gcc -std=gnu99 |
9 | CFLAGS=-Os | 11 | CFLAGS=-Os |
@@ -18,7 +20,7 @@ all: ${compiled_programs} ${SUBMODULES} | |||
18 | install-stack: | 20 | install-stack: |
19 | curl -sSL https://get.haskellstack.org/ | sh | 21 | curl -sSL https://get.haskellstack.org/ | sh |
20 | stack: | 22 | stack: |
21 | @which stack >/dev/null || make install-stack | 23 | @command -v stack >/dev/null || make install-stack |
22 | 24 | ||
23 | build-deps: build-deps-stamp | 25 | build-deps: build-deps-stamp |
24 | build-deps-stamp: build-deps.control | 26 | build-deps-stamp: build-deps.control |
@@ -26,25 +28,27 @@ build-deps-stamp: build-deps.control | |||
26 | sudo ./src/mk-build-deps --root-cmd sudo build-deps.control --install --remove | 28 | sudo ./src/mk-build-deps --root-cmd sudo build-deps.control --install --remove |
27 | touch $@ | 29 | touch $@ |
28 | 30 | ||
29 | dynmenu: src/dynmenu.cpp | build-deps | 31 | _build/dynmenu: src/dynmenu.cpp | build-deps |
30 | $(CXX) $(CFLAGS) $< -o $@ -lcurses | 32 | $(CXX) $(CFLAGS) $< -o $@ -lcurses |
31 | samizdat-pinentry: src/samizdat-pinentry.c | build-deps | 33 | _build/samizdat-pinentry: src/samizdat-pinentry.c | build-deps |
32 | $(CC) $(CFLAGS) $< -o $@ -lcurses | 34 | $(CC) $(CFLAGS) $< -o $@ -lcurses |
33 | krng-add-entropy: src/krng-add-entropy.c | build-deps | 35 | _build/krng-add-entropy: src/krng-add-entropy.c | build-deps |
34 | $(CC) $(CFLAGS) $< -o $@ | 36 | $(CC) $(CFLAGS) $< -o $@ |
35 | wait_for_files: src/wait_for_files.c | build-deps | 37 | _build/wait_for_files: src/wait_for_files.c | build-deps |
36 | $(CC) $(CFLAGS) $< -o $@ | 38 | $(CC) $(CFLAGS) $< -o $@ |
37 | %: src/%.c | build-deps | 39 | _build/%: src/%.c | build-deps |
38 | $(CC) $(CFLAGS) $< -o $@ | 40 | $(CC) $(CFLAGS) $< -o $@ |
39 | 41 | ||
40 | src_bin_programs = btrfs-functions.sh var.sh usb partvi | 42 | src_bin_programs = btrfs-functions.sh var.sh usb partvi |
41 | 43 | ||
42 | bin_programs=$(addprefix src/, $(src_bin_programs)) ${cc_files} ${btrfs_utils} | 44 | bin_programs=$(addprefix src/, $(src_bin_programs)) ${btrfs_utils} |
43 | 45 | ||
44 | btrfs_utils=$(addprefix src/btrfs-utils/, btarfs with-btrfs-seed) | 46 | btrfs_utils=$(addprefix src/btrfs-utils/, btarfs with-btrfs-seed) |
45 | 47 | ||
46 | initrd_files:=$(wildcard src/initrd/*) dynmenu wait_for_files | 48 | initrd_files = $(addprefix src/initrd/,btrfs-create.sh common.sh firstboot.service grok-block \ |
47 | initramfs_conf_files:=$(wildcard initramfs-tools/*) | 49 | loop-layer.sh make-total-destroy mdadm-dup.sh menu-select patchroot.sh) |
50 | |||
51 | initrd_files += $(addprefix _build/, dynmenu wait_for_files) | ||
48 | 52 | ||
49 | isolinux_files:=$(wildcard isolinux/*) | 53 | isolinux_files:=$(wildcard isolinux/*) |
50 | 54 | ||
@@ -203,7 +207,7 @@ rootfs/seed.iso: $(rootfs) $(if $(VERITY),$(addprefix $(rootfs),.verity .verity. | |||
203 | 207 | ||
204 | .PHONY: install | 208 | .PHONY: install |
205 | install: | 209 | install: |
206 | $(SUDO_MAKE) install-stamp | 210 | $(SUDO_MAKE) install-stamp initrd-install-stamp |
207 | 211 | ||
208 | build-submodules-stamp: build-submodules | 212 | build-submodules-stamp: build-submodules |
209 | touch $@ | 213 | touch $@ |
@@ -211,28 +215,32 @@ build-submodules-stamp: build-submodules | |||
211 | install-submodules-stamp: install-submodules | 215 | install-submodules-stamp: install-submodules |
212 | touch $@ | 216 | touch $@ |
213 | 217 | ||
214 | bindir = /usr/local/bin | 218 | initrd_deps = $(initrd_conf_files) $(initrd_files) |
219 | |||
220 | initrd-stamp: initrd-install-stamp | ||
221 | sudo update-initramfs -u | ||
222 | touch $@ | ||
215 | 223 | ||
216 | install-bin-programs: ${bin_programs} | 224 | initrd-install-stamp: $(initrd_deps) |
217 | install -D -p -t ${instdir}${bindir} ${bin_programs} | 225 | install -D -t $(initrd_bindir) -- $(initrd_files) |
226 | install -D -t /etc/initramfs-tools/hooks -- initramfs-tools/hooks/samizdat | ||
227 | install -D -t /etc/initramfs-tools/scripts -- initramfs-tools/scripts/samizdat | ||
228 | touch $@ | ||
218 | 229 | ||
219 | CP=cp --preserve=timestamps -r | 230 | conf_files = conf/bookworm.list conf/eschew-unstable.pref conf/grub.default |
231 | initrd_conf_files = initramfs-tools/hooks/samizdat initramfs-tools/scripts/samizdat | ||
220 | 232 | ||
221 | defaults_conf_files = conf/grub.default | 233 | install-stamp: $(conf_files) ${bin_programs} |
222 | initramfs_conf_files = $(addprefix initramfs-tools/,hooks/samizdat scripts/samizdat) | 234 | install -D -p -t ${instdir}${bindir} -- ${bin_programs} |
223 | install-stamp: install-bin-programs ${compiled_programs} | ||
224 | rm -f /etc/apt/apt.conf.d/default-release | 235 | rm -f /etc/apt/apt.conf.d/default-release |
225 | install -m644 -t /etc/apt/preferences.d -- conf/eschew-unstable.pref | 236 | install -m644 -t /etc/apt/preferences.d -- conf/eschew-unstable.pref |
226 | install -m644 -t /etc/apt/sources.list.d -- conf/bookworm.list | 237 | install -m644 -t /etc/apt/sources.list.d -- conf/bookworm.list |
227 | install -m644 --backup=t -T -- conf/grub.default /etc/default/grub | 238 | install -m644 --backup=t -T -- conf/grub.default /etc/default/grub |
228 | install -t /etc/initramfs-tools/hooks -- initramfs-tools/hooks/samizdat | ||
229 | install -t /etc/initramfs-tools/scripts -- initramfs-tools/scripts/samizdat | ||
230 | touch $@ | 239 | touch $@ |
231 | 240 | ||
232 | .PHONY: update upgrade up upgrade-key initrd | 241 | .PHONY: update upgrade up upgrade-key initrd |
233 | 242 | ||
234 | initrd: install | 243 | initrd: initrd-stamp |
235 | sudo update-initramfs -u | ||
236 | 244 | ||
237 | update: apt-get-update-stamp | 245 | update: apt-get-update-stamp |
238 | git pull --ff-only --recurse-submodules | 246 | git pull --ff-only --recurse-submodules |