-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
142 lines (122 loc) · 4.94 KB
/
Makefile
File metadata and controls
142 lines (122 loc) · 4.94 KB
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
SRCDIR ?= src
SPECIAL_FILES += 1mb
SPECIAL_FILES += errors
STATIC_FILES += hw.ipxe
STATIC_FILES += ipxe.png
STATIC_FILES += texture.png
STATIC_FILES += tinycore.ipxe
STATIC_FILES += demo/boot.php
STATIC_FILES += demo/index.html
BIN_FILES += bin/ipxe.lkrn
BIN_FILES += bin/ipxe.pxe
BIN_FILES += bin/ipxe-legacy.lkrn
BIN_FILES += bin/ipxe-legacy.pxe
BIN_FILES += bin/undionly.kpxe
BIN_FILES += bin/version.txt
BIN_FILES += bin/relnotes.md
BIN_FILES += bin/niclist.txt
BIN_COMBI_FILES += bin-combi/ipxe.iso
BIN_COMBI_FILES += bin-combi/ipxe.usb
BIN_COMBI_FILES += bin-combi/ipxe-legacy.iso
BIN_COMBI_FILES += bin-combi/ipxe-legacy.usb
BIN_COMBI_FILES += bin-combi/ipxeboot.tar.gz
BIN_OTHER_FILES += bin-arm32-efi/ipxe.efi
BIN_OTHER_FILES += bin-arm32-efi/ipxe-legacy.efi
BIN_OTHER_FILES += bin-arm32-efi/snponly.efi
BIN_OTHER_FILES += bin-arm32-linux/ipxe.linux
BIN_OTHER_FILES += bin-arm64-efi/ipxe.efi
BIN_OTHER_FILES += bin-arm64-efi/ipxe-legacy.efi
BIN_OTHER_FILES += bin-arm64-efi/snponly.efi
BIN_OTHER_FILES += bin-arm64-efi-sb/ipxe.efi
BIN_OTHER_FILES += bin-arm64-efi-sb/snponly.efi
BIN_OTHER_FILES += bin-arm64-efi-sb/testsign.crt
BIN_OTHER_FILES += bin-arm64-linux/ipxe.linux
BIN_OTHER_FILES += bin-i386-efi/ipxe.efi
BIN_OTHER_FILES += bin-i386-efi/ipxe-legacy.efi
BIN_OTHER_FILES += bin-i386-efi/snponly.efi
BIN_OTHER_FILES += bin-i386-linux/ipxe.linux
BIN_OTHER_FILES += bin-loong64-efi/ipxe.efi
BIN_OTHER_FILES += bin-loong64-efi/ipxe-legacy.efi
BIN_OTHER_FILES += bin-loong64-efi/snponly.efi
BIN_OTHER_FILES += bin-loong64-linux/ipxe.linux
BIN_OTHER_FILES += bin-riscv32/ipxe.lkrn
BIN_OTHER_FILES += bin-riscv32/ipxe.sbi
BIN_OTHER_FILES += bin-riscv32-efi/ipxe.efi
BIN_OTHER_FILES += bin-riscv32-efi/ipxe-legacy.efi
BIN_OTHER_FILES += bin-riscv32-efi/snponly.efi
BIN_OTHER_FILES += bin-riscv32-linux/ipxe.linux
BIN_OTHER_FILES += bin-riscv64/ipxe.lkrn
BIN_OTHER_FILES += bin-riscv64/ipxe.sbi
BIN_OTHER_FILES += bin-riscv64-efi/ipxe.efi
BIN_OTHER_FILES += bin-riscv64-efi/ipxe-legacy.efi
BIN_OTHER_FILES += bin-riscv64-efi/snponly.efi
BIN_OTHER_FILES += bin-riscv64-linux/ipxe.linux
BIN_OTHER_FILES += bin-x86_64-efi/ipxe.efi
BIN_OTHER_FILES += bin-x86_64-efi/ipxe-legacy.efi
BIN_OTHER_FILES += bin-x86_64-efi/snponly.efi
BIN_OTHER_FILES += bin-x86_64-efi-sb/ipxe.efi
BIN_OTHER_FILES += bin-x86_64-efi-sb/snponly.efi
BIN_OTHER_FILES += bin-x86_64-efi-sb/testsign.crt
BIN_OTHER_FILES += bin-x86_64-linux/ipxe.linux
BIN_OTHER_FILES += bin-x86_64-pcbios/ipxe.lkrn
BIN_OTHER_FILES += bin-x86_64-pcbios/ipxe.pxe
BIN_OTHER_FILES += bin-x86_64-pcbios/undionly.kpxe
SHIM_FILES += shim/shimaa64.efi
SHIM_FILES += shim/shimx64.efi
ERROR_FILES += bin/errors
ERROR_FILES += bin-arm32-efi/errors
ERROR_FILES += bin-arm32-linux/errors
ERROR_FILES += bin-arm64-efi/errors
ERROR_FILES += bin-arm64-linux/errors
ERROR_FILES += bin-i386-efi/errors
ERROR_FILES += bin-i386-linux/errors
ERROR_FILES += bin-loong64-efi/errors
ERROR_FILES += bin-loong64-linux/errors
ERROR_FILES += bin-riscv32/errors
ERROR_FILES += bin-riscv32-efi/errors
ERROR_FILES += bin-riscv32-linux/errors
ERROR_FILES += bin-riscv64/errors
ERROR_FILES += bin-riscv64-efi/errors
ERROR_FILES += bin-riscv64-linux/errors
ERROR_FILES += bin-x86_64-efi/errors
ERROR_FILES += bin-x86_64-linux/errors
ERROR_FILES += bin-x86_64-pcbios/errors
OUTPUTS_SPECIAL := $(patsubst %,output/%,$(SPECIAL_FILES))
OUTPUTS_STATIC := $(patsubst %,output/%,$(STATIC_FILES))
OUTPUTS_BIN := $(patsubst bin/%,output/%,$(BIN_FILES))
OUTPUTS_BIN_COMBI := $(patsubst bin-combi/%,output/%,$(BIN_COMBI_FILES))
OUTPUTS_BIN_OTHER := $(patsubst bin-%,output/%,$(BIN_OTHER_FILES))
OUTPUTS_SHIM += $(patsubst shim/%,output/%,$(SHIM_FILES))
ALL_OUTPUTS += $(OUTPUTS_SPECIAL)
ALL_OUTPUTS += $(OUTPUTS_STATIC)
ALL_OUTPUTS += $(OUTPUTS_BIN)
ALL_OUTPUTS += $(OUTPUTS_BIN_COMBI)
ALL_OUTPUTS += $(OUTPUTS_BIN_OTHER)
ALL_OUTPUTS += $(OUTPUTS_SHIM)
INDEX_DIRS := $(sort $(foreach X,$(ALL_OUTPUTS),$(dir $(X))))
INDEX_FILES := $(patsubst %/,%/index.html,$(INDEX_DIRS))
INDEX_FIXED := $(filter %/index.html,$(ALL_OUTPUTS))
INDEX_DYNAMIC := $(filter-out $(INDEX_FIXED),$(INDEX_FILES))
all : $(ALL_OUTPUTS) $(INDEX_DYNAMIC)
clean :
find output -type f ! -name .gitignore -delete
find output -type d -empty -delete
output/1mb :
dd if=/dev/zero bs=1M count=1 | \
openssl aes-256-ctr -nosalt -pass pass:none -iter 1 -out $@
output/errors : $(patsubst %,$(SRCDIR)/%,$(ERROR_FILES))
sort -u $^ -o $@
$(OUTPUTS_STATIC) : output/% : static/%
ln -sf $(realpath $<) $@
$(OUTPUTS_BIN) : output/% : $(SRCDIR)/bin/%
ln -sf $(realpath $<) $@
$(OUTPUTS_BIN_COMBI) : output/% : $(SRCDIR)/bin-combi/%
ln -sf $(realpath $<) $@
$(OUTPUTS_BIN_OTHER) : output/% : $(SRCDIR)/bin-%
ln -sf $(realpath $<) $@
$(OUTPUTS_SHIM) : output/% : $(SRCDIR)/shim/%
ln -sf $(realpath $<) $@
$(INDEX_DYNAMIC) : output/% : $(ALL_OUTPUTS)
( cd $(dir $@) ; \
tree -H "." -C -T "iPXE files" --filesfirst \
-I index.html -o index.html )