summaryrefslogtreecommitdiff
path: root/Makefile
blob: 0efb2cfab8c162a4a794b784c0d0f6a18176e86e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
MAKEFLAGS += -r
CFLAGS += -Wall -Wextra
KERNVER ?= $(shell uname -r)

all: initramfs.img

initramfs.img: gen_init_cpio load-random-seed dropbear_ed25519_host_key modules.dep
	KERNVER=$(KERNVER) COMPRESSOR="zstd -19 -c -T0" ./make

%: %.c
	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $< -o $@

dropbear_ed25519_host_key:
	dropbearkey -t ed25519 -f $@

modules.dep.ver: FORCE
	if ! [ -f $@ ] || [ "$$(cat $@)" != "$(KERNVER)" ]; then echo $(KERNVER) > $@; fi

modules.dep: modules /lib/modules/$(KERNVER)/modules.dep modules.dep.ver
	awk '!/^#/ { print $1 }' modules | xargs modinfo -F filename -k $(KERNVER) | sed -e 's:^/lib/modules/$(KERNVER)/:^:' | grep -f - /lib/modules/$(KERNVER)/modules.dep > $@

install: initramfs.img
	rm -f /boot/initramfs.img.old /boot/initramfs.img.new
	cp initramfs.img /boot/initramfs.img.new || rm -f /boot/initramfs.img.new
	if [ -e /boot/initramfs.img ]; then mv /boot/initramfs.img /boot/initramfs.img.old; fi
	mv /boot/initramfs.img.new /boot/initramfs.img

clean:
	rm -f initramfs.img initramfs.d gen_init_cpio load-random-seed modules.dep

-include initramfs.d

.PHONY: all install clean
FORCE: