blob: e9a235a9111ffe307606a3e14f87973589c43632 (
plain) (
blame)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
VERSION=linux-6.8.8
VERSION_DISTR = $(VERSION)-vmkos
VERSION_BUILD = $(VERSION_DISTR)-night
CLEAN_BUILD = $(subst linux-,,$(VERSION_BUILD))
TRUSTED_KEYS = ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds
TRUSTED_KEYS += 647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman
SRC_URL = https://cdn.kernel.org/pub/linux/kernel/v6.x/$(VERSION).tar.xz
# PGP_SGN_URL = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.4.tar.sign
CFLAGS = -std=gnu2x -Wall -Werror -Wno-pointer-sign -Werror=vla
C_ARCH = $$(uname -m)
ifdef ONELINE_OUTPUT
# SED_SUBST = | stdbuf --output=L sed 's/^/\\e[0A\\e[K3<>/gi'
SED_SUBST = | stdbuf --output=L ./interliner
else
SED_SUBST=
endif
SILENCE=
ifdef QUIET
SILENCE += >all.log
endif
ifdef SILENT
SILENCE += 2>err.log
endif
OUT_FMT = $(SED_SUBST) $(SILENCE)
default: all
all: pre_install install post_install
pre_install: interliner $(VERSION).tar
@printf "> MAKING::$@\n"
tar --skip-old-files -xvf $(VERSION).tar 2>tar.err.log | grep -v "skipping existing file" | sed 's/^/\t=> /g' $(OUT_FMT)
@printf "> MAKING::$@::DONE\n"
install: interliner $(VERSION) clear.ok patch patch.ok build build.ok
@printf "> MAKING::$@\n"
sudo install -C -m755 $(VERSION)/arch/$(C_ARCH)/boot/bzImage /boot/vmlinuz-linux-VMKOS
./mkcp.sh $(VERSION) | sed 's/^/\t==> /g' $(SED_SUBST) $(OUT_FMT)
@printf "> MAKING::$@::DONE\n"
reinstall: interliner $(VERSION) clear.ok patch patch.ok build build.ok
@printf "> MAKING::$@\n"
tar -xvf $(VERSION).tar.xz 2>tar.err.log | sed 's/^/\t=> /g' $(OUT_FMT)
sudo install -C -m755 $(VERSION)/arch/$(C_ARCH)/boot/bzImage /boot/vmlinuz-linux-VMKOS
./mkcp.sh $(VERSION) | sed 's/^/\t==> /g' $(SED_SUBST) $(OUT_FMT)
@printf "> MAKING::$@::DONE\n"
post_install: interliner
# @printf "> MAKING::$@\n"
@printf "> MAKING::$@::DONE\n"
.PHONY: pre_install install post_install clean clean_misc
$(VERSION).tar: $(VERSION).tar.xz $(VERSION).tar.sign
@printf "\t> MAKING::$@\n"
xz -kd $(VERSION).tar.xz | sed 's/^/\t==> /g' $(OUT_FMT)
ifdef NO_VERIFY
@printf "\t==> Will not verify\n"
else ifdef SKIP_VERIFY
@printf "\t==> Will not verify\n"
else
@printf "\t==> Verifying...\n"
gpg2 --recv-keys $(TRUSTED_KEYS) $(OUT_FMT)
if [ "$$(gpg2 --logger-fd 1 --verify $(VERSION).tar.sign | grep 'Good signature')" == "" ]; then false; fi
endif
@printf "\t> MAKING::$@::DONE\n"
$(VERSION).tar.xz:
@printf "\t> MAKING::$@\n"
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/$(VERSION).tar.xz | sed 's/^/\t==> /g' $(OUT_FMT)
@printf "\t> MAKING::$@::DONE\n"
$(VERSION).tar.sign:
@printf "\t> MAKING::$@\n"
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/$(VERSION).tar.sign | sed 's/^/\t==> /g' $(OUT_FMT)
@printf "\t> MAKING::$@::DONE\n"
patch: ./patch.sh
@printf "\t> MAKING::$@\n"
./patch.sh $(VERSION) skip | sed 's/^/\t==> /g' $(SED_SUBST) $(OUT_FMT)
@printf "\t> MAKING::$@::DONE\n"
build: ./build.sh
@printf "\t> MAKING::$@\n"
./build.sh $(VERSION) $(CLEAN_BUILD) | sed 's/^/\t==> /g' $(SED_SUBST) $(OUT_FMT)
@printf "\t> MAKING::$@::DONE\n"
mkcp: ./mkcp.sh
@printf "\t> MAKING::$@\n"
./mkcp.sh $(VERSION) $(CLEAN_BUILD) | sed 's/^/\t==> /g' $(SED_SUBST) $(OUT_FMT)
@printf "\t> MAKING::$@::DONE\n"
interliner: interliner.c
clean: interliner
rm -rf *.tar *.sign *.sign?? *.xz interliner $(VERSION) $(OUT_FMT)
clean_misc: interliner
rm -rf *.tar *.sign *.sign?? $(OUT_FMT)
clear.ok:
rm -f *.ok
|