[CRIU] [PATCH 3/6] scripts/build/Makefile: brevity is the soul of wit

Kir Kolyshkin kir at openvz.org
Mon Feb 22 18:44:13 PST 2016


Make the Makefile leaner and cleaner.

Signed-off-by: Kir Kolyshkin <kir at openvz.org>
---
 scripts/build/Makefile | 47 ++++++++++++-----------------------------------
 1 file changed, 12 insertions(+), 35 deletions(-)

diff --git a/scripts/build/Makefile b/scripts/build/Makefile
index 71b7ada..ec4146b 100644
--- a/scripts/build/Makefile
+++ b/scripts/build/Makefile
@@ -1,24 +1,8 @@
-all: armv7hf aarch64 ppc64le
+ARCHES ?= armv7hf aarch64 ppc64le # x86_64
+all: $(ARCHES)
 
-AARCH64_IMG ?= aarch64/ubuntu:trusty
-ARMV7HF_IMG ?= armv7/armhf-ubuntu
-PPC64LE_IMG ?= ppc64le/ubuntu
-
-Dockerfile.aarch64: Dockerfile.aarch64.hdr Dockerfile.tmpl
-	cat Dockerfile.aarch64.hdr > Dockerfile.aarch64
-	cat Dockerfile.tmpl >> Dockerfile.aarch64
-
-Dockerfile.armv7hf: Dockerfile.armv7hf.hdr Dockerfile.tmpl
-	cat Dockerfile.armv7hf.hdr > Dockerfile.armv7hf
-	cat Dockerfile.tmpl >> Dockerfile.armv7hf
-
-Dockerfile.ppc64le: Dockerfile.ppc64le.hdr Dockerfile.tmpl
-	cat Dockerfile.ppc64le.hdr > Dockerfile.ppc64le
-	cat Dockerfile.tmpl >> Dockerfile.ppc64le
-
-Dockerfile.x86_64: Dockerfile.x86_64.hdr Dockerfile.tmpl
-	cat Dockerfile.x86_64.hdr > Dockerfile.x86_64
-	cat Dockerfile.tmpl >> Dockerfile.x86_64
+Dockerfile.%: Dockerfile.%.hdr Dockerfile.tmpl
+	cat $^ > $@
 
 qemu-user-static:
 	./extract-deb-pkg qemu-user-static
@@ -27,20 +11,13 @@ binfmt_misc:
 	./binfmt_misc
 .PHONY: binfmt_misc
 
-armv7hf: qemu-user-static binfmt_misc Dockerfile.armv7hf
-	docker build  -t criu-armv7hf -f Dockerfile.armv7hf ../..
-
-aarch64: qemu-user-static binfmt_misc Dockerfile.aarch64
-	docker build  -t criu-aarch64 -f Dockerfile.aarch64 ../..
-
-ppc64le: qemu-user-static binfmt_misc Dockerfile.ppc64le
-	docker build  -t criu-ppc64le -f Dockerfile.ppc64le ../..
-
-x86_64: Dockerfile.x86_64
-	docker build  -t criu-x86_64 -f Dockerfile.x86_64 ../..
+%: Dockerfile.% qemu-user-static binfmt_misc
+	docker build  -t criu-$@ -f $< ../..
 
 clean:
-	[ ! -f /proc/sys/fs/binfmt_misc/ppc64le ] || echo -1 > /proc/sys/fs/binfmt_misc/ppc64le
-	[ ! -f /proc/sys/fs/binfmt_misc/armv7hf ] || echo -1 > /proc/sys/fs/binfmt_misc/armv7hf
-	[ ! -f /proc/sys/fs/binfmt_misc/aarch64 ] || echo -1 > /proc/sys/fs/binfmt_misc/aarch64
-	rm -rf qemu-user-static Dockerfile.aarch64 Dockerfile.armv7hf Dockerfile.ppc64le Dockerfile.x86_64
+	rm -rf qemu-user-static
+	for ARCH in $(ARCHES); do \
+		FILE=/proc/sys/fs/binfmt_misc/$$ARCH; \
+		test -f $$FILE && echo -1 > $$FILE; \
+		rm -f Dockerfile.$$ARCH; \
+	done
-- 
2.5.0



More information about the CRIU mailing list