build: add $(STAGING_DIR) and $(BIN_DIR) preparation to target and package subdir...
authorMatthias Schiffer <mschiffer@universe-factory.net>
Thu, 1 Feb 2024 23:46:58 +0000 (00:46 +0100)
committerRISCi_ATOM <bob@bobcall.me>
Thu, 14 Mar 2024 14:34:30 +0000 (10:34 -0400)
In a pristine build, these directories are created as dependencies of
the tools subdir compile, however this step never runs when the tools
compile stamp already exists. Since commit ed6ba2801c0a ("tools: keep
stamp file in $(STAGING_DIR_HOST)"), this will happen after `make clean`:
$(STAGING_DIR) has been deleted, but the tools stamp still exists, so
the next build will fail because $(STAGING_DIR) has not been set up
correctly.

Fix builds after `make clean` by adding the preparation as dependencies
for the target and package directories as well.

Fixes: ed6ba2801c0a ("tools: keep stamp file in $(STAGING_DIR_HOST)")
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
(cherry picked from commit fbb924abff8af9e69ec90d7bf099046c24145b74)

package/Makefile
target/Makefile

index 8e72d4ec726dbcfeb6502820bcf29d16813d3551..4663b41de4aea0930fa48287f685537e6027bca7 100644 (file)
@@ -117,6 +117,8 @@ endif
 
 $(curdir)/flags-install:= -j1
 
+$(curdir)//compile = $(STAGING_DIR)/.prepared $(BIN_DIR)
+
 $(eval $(call stampfile,$(curdir),package,prereq,.config))
 $(eval $(call stampfile,$(curdir),package,cleanup,$(TMP_DIR)/.build))
 $(eval $(call stampfile,$(curdir),package,compile,$(TMP_DIR)/.build))
index 83f9c4b0934a58b69e92af7cdf7a85896a9e330b..3bbb9f4131336d126030a598f2c9da339bbfd553 100644 (file)
@@ -19,6 +19,8 @@ $(curdir)/builddirs-install:=\
 $(curdir)/sdk/install:=$(curdir)/linux/install
 $(curdir)/imagebuilder/install:=$(curdir)/linux/install
 
+$(curdir)//compile = $(STAGING_DIR)/.prepared $(BIN_DIR)
+
 $(eval $(call stampfile,$(curdir),target,prereq,.config))
 $(eval $(call stampfile,$(curdir),target,compile,$(TMP_DIR)/.build))
 $(eval $(call stampfile,$(curdir),target,install,$(TMP_DIR)/.build))