kernel: Rely on Kbuild for freshness
We shouldn't attempt to determine when files are "up-to-date"
and instead treat kernel builds as phony targets and rely on its outputs
instead.
Change-Id: I35c7632e1fdb95a077b59cfe02945916cb740d38
diff --git a/kernel.mk b/kernel.mk
index 1c9e28b..4d746bf 100644
--- a/kernel.mk
+++ b/kernel.mk
@@ -12,29 +12,28 @@
# in parallel.
kernel:
+make -f $(ROOTDIR)/build/kernel.mk $(KERNEL_OUT_DIR)/.config
+ +make -C $(KERNEL_SRC_DIR) O=$(KERNEL_OUT_DIR) ARCH=arm64 CROSS_COMPILE=$(TOOLCHAIN) Image modules dtbs
+make -f $(ROOTDIR)/build/kernel.mk $(PRODUCT_OUT)/kernel
+make -f $(ROOTDIR)/build/kernel.mk $(PRODUCT_OUT)/fsl-imx8mq-phanbell.dtb
+$(KERNEL_OUT_DIR)/.config: $(ROOTDIR)/build/defconfig
+ mkdir -p $(KERNEL_OUT_DIR)
+ +make -C $(KERNEL_SRC_DIR) O=$(KERNEL_OUT_DIR) ARCH=arm64 CROSS_COMPILE=$(TOOLCHAIN) mrproper defconfig
+ cat $(ROOTDIR)/build/defconfig | tee -a $(KERNEL_OUT_DIR)/.config
+
+$(PRODUCT_OUT)/kernel: $(KERNEL_OUT_DIR)/.config $(KERNEL_OUT_DIR)/arch/arm64/boot/Image
+ cp $(KERNEL_OUT_DIR)/arch/arm64/boot/Image $(PRODUCT_OUT)/kernel
+
+$(PRODUCT_OUT)/fsl-imx8mq-phanbell.dtb: $(KERNEL_OUT_DIR)/.config $(KERNEL_OUT_DIR)/arch/arm64/boot/dts/freescale/fsl-imx8mq-phanbell.dtb
+ cp $(KERNEL_OUT_DIR)/arch/arm64/boot/dts/freescale/fsl-imx8mq-phanbell.dtb $(PRODUCT_OUT)/fsl-imx8mq-phanbell.dtb
+
+modules_install: $(PRODUCT_OUT)/kernel
+ +sudo make -C $(KERNEL_SRC_DIR) O=$(KERNEL_OUT_DIR) ARCH=arm64 CROSS_COMPILE=$(TOOLCHAIN) INSTALL_MOD_PATH=$(PRODUCT_OUT)/obj/ROOTFS/rootfs modules_install
+
targets::
@echo "kernel - builds the kernel and boot partition"
clean::
+make -C $(KERNEL_SRC_DIR) mrproper
-$(KERNEL_OUT_DIR)/.config: $(ROOTDIR)/build/defconfig
- mkdir -p $(KERNEL_OUT_DIR)
- +make -C $(KERNEL_SRC_DIR) O=$(KERNEL_OUT_DIR) ARCH=arm64 CROSS_COMPILE=$(TOOLCHAIN) defconfig
- cat $(ROOTDIR)/build/defconfig | tee -a $(KERNEL_OUT_DIR)/.config
-
-$(PRODUCT_OUT)/kernel: $(KERNEL_OUT_DIR)/.config
- +make -C $(KERNEL_SRC_DIR) O=$(KERNEL_OUT_DIR) ARCH=arm64 CROSS_COMPILE=$(TOOLCHAIN) Image modules
- cp $(KERNEL_OUT_DIR)/arch/arm64/boot/Image $(PRODUCT_OUT)/kernel
-
-$(PRODUCT_OUT)/fsl-imx8mq-phanbell.dtb: $(KERNEL_OUT_DIR)/.config
- +make -C $(KERNEL_SRC_DIR) O=$(KERNEL_OUT_DIR) ARCH=arm64 CROSS_COMPILE=$(TOOLCHAIN) dtbs
- cp $(KERNEL_OUT_DIR)/arch/arm64/boot/dts/freescale/fsl-imx8mq-phanbell.dtb $(PRODUCT_OUT)/fsl-imx8mq-phanbell.dtb
-
-modules_install: $(PRODUCT_OUT)/kernel
- +sudo make -C $(KERNEL_SRC_DIR) O=$(KERNEL_OUT_DIR) ARCH=arm64 CROSS_COMPILE=$(TOOLCHAIN) INSTALL_MOD_PATH=$(PRODUCT_OUT)/obj/ROOTFS/rootfs modules_install
-
.PHONY:: kernel modules_install