image: fix device profile specific COMPILE targets
authorMichael Pratt <mcpratt@pm.me>
Tue, 22 Nov 2022 00:37:39 +0000 (00:37 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 21 Dec 2022 23:14:30 +0000 (00:14 +0100)
Commit a01d23e75 ("image: always rebuild kernel loaders")
is a step in the right direction, but exposed some issues
and regressions in the makefile.

Some of the files made by device specific COMPILE targets
start with an "append" command (i.e. >> instead of > redirection)
and if the file already exists, the target file is the
input to itself before the first recipe-specified input.

Fixes: a01d23e75 ("image: always rebuild kernel loaders")
Fixes: a7fb589e8 ("image: always rebuild kernel loaders")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit 1bff0752bd5e7feb0f311224a09b3bf217a9aeb3)

include/image.mk

index c7a2e082abb8b3b2d94f2f2217a4b2705ba00d82..ba1bd3c03f8b36c481adce4b697fccda43e8cacb 100644 (file)
@@ -525,6 +525,7 @@ define Device/Build/compile
   $$(_COMPILE_TARGET): $(KDIR)/$(1)
   $(eval $(call Device/Export,$(KDIR)/$(1)))
   $(KDIR)/$(1): FORCE
+       rm -f $(KDIR)/$(1)
        $$(call concat_cmd,$(COMPILE/$(1)))
 
 endef