all: ipkdbg ARCH_PPC64LE_BINS= ARCH_X86_64_BINS= SOURCE_DATE_EPOCH=$(shell git log --format='%at' -n1 -- `git ls-files bin`) STRIPPED_ARCH_PPC64LE_BINS=$(patsubst %,stripped/%,$(ARCH_PPC64LE_BINS)) STRIPPED_ARCH_X86_64_BINS=$(patsubst %,stripped/%,$(ARCH_X86_64_BINS)) STRIPPED_BINS=$(STRIPPED_ARCH_PPC64LE_BINS) \ $(STRIPPED_ARCH_X86_64_BINS) $(STRIPPED_ARCH_PPC64LE_BINS): stripped/%: % mkdir -p $(dir $@) && \ powerpc64le-linux-gnu-strip --strip-all -o $@ $< $(STRIPPED_ARCH_X86_64_BINS): stripped/%: % mkdir -p $(dir $@) && \ x86_64-linux-gnu-strip --strip-all -o $@ $< # https://reproducible-builds.org/docs/archives/ # https://www.gnu.org/software/tar/manual/html_section/create-options.html bin.tar.gz: $(STRIPPED_BINS) tar \ --sort=name \ --clamp-mtime \ --mtime="@${SOURCE_DATE_EPOCH}" \ --owner=0 --group=0 --numeric-owner \ --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \ -czf $@ \ -C stripped $(patsubst stripped/%,%,$^) bin.tar.gz.b64: bin.tar.gz base64 $^ > $@ ipkdbg: ipkdbg.in bin.tar.gz.b64 cat $^ > $@ chmod +x $@ .PHONY: clean clean: $(RM) -r stripped $(RM) bin.tar.gz bin.tar.gz.b64 ipkdbg