diff --git a/kernel/Makefile b/kernel/Makefile index 1af43509f..09fa5caad 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -9,47 +9,27 @@ x86_64/kernel.img: docker run --rm --read-only --net=none --log-driver=none --tmpfs /tmp -i $(TAR2INITRD_IMAGE) > $@ ifdef AUFS -x86_64/vmlinuz64: Dockerfile.aufs kernel_config kernel_config.debug kernel_config.aufs patches-4.9 - mkdir -p x86_64 etc lib usr sbin - BUILD=$$( tar cf - $^ | docker build -f Dockerfile.aufs --build-arg DEBUG=$(DEBUG) -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && \ - docker run --rm --net=none --log-driver=none $$BUILD cat aufs-utils.tar | tar xf - && \ - docker run --rm --net=none --log-driver=none $$BUILD cat kernel-source-info > etc/kernel-source-info && \ - docker run --rm --net=none --log-driver=none $$BUILD tar cf - bzImage kernel-dev.tar kernel-headers.tar vmlinux kernel-modules.tar | tar xf - -C x86_64 - mv x86_64/bzImage $@ - rm -rf etc/kernel-patches - mkdir -p etc/kernel-patches - cp -a patches-4.9/* etc/kernel-patches - tar xf x86_64/kernel-modules.tar - $(MAKE) x86_64/kernel.img +kernel.tag: Dockerfile.aufs kernel_config kernel_config.debug kernel_config.aufs patches-4.9 else ifdef LTS4.4 -x86_64/vmlinuz64: Dockerfile.4.4 kernel_config kernel_config.debug kernel_config.4.4 patches-4.4 - mkdir -p x86_64 etc lib usr sbin - BUILD=$$( tar cf - $^ | docker build -f Dockerfile.4.4 --build-arg DEBUG=$(DEBUG) -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && \ - docker run --rm --net=none --log-driver=none $$BUILD cat kernel-source-info > etc/kernel-source-info && \ - docker run --rm --net=none --log-driver=none $$BUILD tar cf - bzImage kernel-dev.tar kernel-headers.tar vmlinux kernel-modules.tar | tar xf - -C x86_64 - mv x86_64/bzImage $@ - rm -rf etc/kernel-patches - mkdir -p etc/kernel-patches - cp -a patches-4.4/* etc/kernel-patches - tar xf x86_64/kernel-modules.tar - $(MAKE) x86_64/kernel.img +kernel.tag: Dockerfile.4.4 kernel_config kernel_config.debug kernel_config.4.4 patches-4.4 else -x86_64/vmlinuz64: Dockerfile kernel_config kernel_config.debug patches-4.9 - mkdir -p x86_64 etc lib usr sbin - BUILD=$$( tar cf - $^ | docker build --build-arg DEBUG=$(DEBUG) -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && \ - docker run --rm --net=none --log-driver=none $$BUILD cat kernel-source-info > etc/kernel-source-info && \ - docker run --rm --net=none --log-driver=none $$BUILD tar cf - bzImage kernel-dev.tar kernel-headers.tar vmlinux kernel-modules.tar | tar xf - -C x86_64 - mv x86_64/bzImage $@ +kernel.tag: Dockerfile kernel_config kernel_config.debug patches-4.9 +endif +endif + BUILD=$$( tar cf - $^ | docker build -f $< --build-arg DEBUG=$(DEBUG) -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && echo "$$BUILD" > $@ + +x86_64/vmlinuz64: kernel.tag rm -rf etc/kernel-patches - mkdir -p etc/kernel-patches - cp -a patches-4.9/* etc/kernel-patches + mkdir -p x86_64 etc lib usr sbin etc/kernel-patches + docker run --rm --net=none --log-driver=none $(shell cat kernel.tag) cat kernel-source-info > etc/kernel-source-info + docker run --rm --net=none --log-driver=none $(shell cat kernel.tag) tar cf - bzImage kernel-dev.tar kernel-headers.tar vmlinux kernel-modules.tar | tar xf - -C x86_64 + docker run --rm --net=none --log-driver=none $(shell cat kernel.tag) tar cf - -C patches . | tar xf - -C etc/kernel-patches + mv x86_64/bzImage $@ tar xf x86_64/kernel-modules.tar $(MAKE) x86_64/kernel.img -endif -endif clean: - rm -rf x86_64 lib etc usr sbin + rm -rf x86_64 lib etc usr sbin kernel.tag .DELETE_ON_ERROR: