From a0b1153d93007db17f4ca98f9f03881163d8d868 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Tue, 13 Sep 2016 21:49:14 +0100 Subject: [PATCH] Rework kernel Makefile Do not delete build container on `make clean`, as it should be fine to reuse cached layers. Signed-off-by: Justin Cormack --- alpine/kernel/Makefile | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/alpine/kernel/Makefile b/alpine/kernel/Makefile index 1bf53e271..e23b2de23 100644 --- a/alpine/kernel/Makefile +++ b/alpine/kernel/Makefile @@ -1,24 +1,17 @@ -ARCH = x86_64 DEBUG ?= 0 -all: $(ARCH)/vmlinuz64 +all: x86_64/vmlinuz64 -$(ARCH)/mobykernel-build: Dockerfile kernel_config - mkdir -p $(ARCH) && \ +x86_64/vmlinuz64: Dockerfile kernel_config + mkdir -p $(ARCH) etc docker build --build-arg DEBUG=$(DEBUG) -t mobykernel:build . - touch $@ - -$(ARCH)/bzImage: $(ARCH)/mobykernel-build - docker run --rm mobykernel:build cat /linux/arch/$(ARCH)/boot/$(notdir $@) > $@ || ! rm $@ docker run --rm --net=none mobykernel:build cat /kernel-modules.tar | tar xf - - docker run --rm mobykernel:build cat /aufs-utils.tar | tar xf - - docker run --rm mobykernel:build cat /kernel-source-info > etc/kernel-source-info - mkdir -p etc + docker run --rm --net=none mobykernel:build cat /aufs-utils.tar | tar xf - + docker run --rm --net=none mobykernel:build cat /kernel-source-info > etc/kernel-source-info + docker run --rm --net=none mobykernel:build cat /linux/arch/x86_64/boot/bzImage > $@ cp -a patches etc/kernel-patches -$(ARCH)/vmlinuz64: $(ARCH)/bzImage - cp $< $@ - clean: - rm -rf $(ARCH) lib etc usr sbin - docker images -q mobykernel:build | xargs docker rmi -f || true + rm -rf x86_64 lib etc usr sbin + +.DELETE_ON_ERROR: