github.com/opencontainers/runtime-tools@v0.9.0/contrib/rootfs-builder/Makefile (about)

     1  ARCHES ?= amd64
     2  
     3  all: $(ARCHES:%=rootfs-%.tar.gz)
     4  
     5  rootfs-%.tar.gz: rootfs/%/bin/echo
     6  	tar -czf $@ -C rootfs/$* .
     7  
     8  .PRECIOUS: rootfs/%/bin/busybox
     9  rootfs/%/bin/busybox: downloads/stage3-%-current.tar rootfs-files
    10  	gpg --verify $<.DIGESTS.asc
    11  	(cd downloads && \
    12  		grep -A1 '^# SHA512 HASH' stage3-$*-current.tar.DIGESTS.asc | \
    13  		grep -v '^--' | \
    14  		sha512sum -c)
    15  	sudo rm -rf rootfs/$*
    16  	sudo mkdir -p rootfs/$*
    17  	sudo tar -xvf downloads/stage3-$*-current.tar -C rootfs/$* \
    18  		--no-recursion --wildcards $$(cat rootfs-files)
    19  	sudo touch $@
    20  
    21  .PRECIOUS: rootfs/%/bin/echo
    22  rootfs/%/bin/echo: rootfs/%/bin/busybox
    23  	sudo sh -c 'COMMANDS=$$($< --list | grep -v "^busybox$$") || exit 1; for COMMAND in $${COMMANDS}; do \
    24  		test -L "rootfs/$*/bin/$${COMMAND}" || ln -rs $< "rootfs/$*/bin/$${COMMAND}" || exit; \
    25  	done'
    26  
    27  downloads/stage3-%-current.tar: get-stage3.sh
    28  	STAGE3_ARCH=$* ./$<
    29  	touch downloads/stage3-$*-*.tar
    30  
    31  clean:
    32  	rm -f downloads/*
    33  	sudo rm -rf rootfs