build: add $(STAGING_DIR) and $(BIN_DIR) preparation to target and package subdir compile dependencies

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 ed6ba2801c ("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: ed6ba2801c ("tools: keep stamp file in $(STAGING_DIR_HOST)")
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
This commit is contained in:
Matthias Schiffer 2024-02-02 00:46:58 +01:00
parent 37bbed6f95
commit fbb924abff
No known key found for this signature in database
GPG Key ID: 16EF3F64CB201D9C
2 changed files with 4 additions and 0 deletions

View 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))

View 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))