blob: 9262f1f6a4975bc9c9a6beaf458fc968ecd6adba [file] [log] [blame]
Andrew Jefferyc7a446e2022-07-21 10:14:54 +09301all: ipkdbg
2
3ARCH_PPC64LE_BINS=
4ARCH_X86_64_BINS=
5
6SOURCE_DATE_EPOCH=$(shell git log --format='%at' -n1 -- `git ls-files bin`)
7
8STRIPPED_ARCH_PPC64LE_BINS=$(patsubst %,stripped/%,$(ARCH_PPC64LE_BINS))
9STRIPPED_ARCH_X86_64_BINS=$(patsubst %,stripped/%,$(ARCH_X86_64_BINS))
10
11STRIPPED_BINS=$(STRIPPED_ARCH_PPC64LE_BINS) \
12 $(STRIPPED_ARCH_X86_64_BINS)
13
14$(STRIPPED_ARCH_PPC64LE_BINS): stripped/%: %
15 mkdir -p $(dir $@) && \
16 powerpc64le-linux-gnu-strip --strip-all -o $@ $<
17
18$(STRIPPED_ARCH_X86_64_BINS): stripped/%: %
19 mkdir -p $(dir $@) && \
20 x86_64-linux-gnu-strip --strip-all -o $@ $<
21
22# https://reproducible-builds.org/docs/archives/
23# https://www.gnu.org/software/tar/manual/html_section/create-options.html
24bin.tar.gz: $(STRIPPED_BINS)
25 tar \
26 --sort=name \
27 --clamp-mtime \
28 --mtime="@${SOURCE_DATE_EPOCH}" \
29 --owner=0 --group=0 --numeric-owner \
30 --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
31 -czf $@ \
32 -C stripped $(patsubst stripped/%,%,$^)
33
34bin.tar.gz.b64: bin.tar.gz
35 base64 $^ > $@
36
37ipkdbg: ipkdbg.in bin.tar.gz.b64
38 cat $^ > $@
39 chmod +x $@
40
41.PHONY: clean
42clean:
43 $(RM) -r stripped
44 $(RM) bin.tar.gz bin.tar.gz.b64 ipkdbg