From: Matthias Schiffer Date: Thu, 1 Feb 2024 23:46:58 +0000 (+0100) Subject: build: add $(STAGING_DIR) and $(BIN_DIR) preparation to target and package subdir... X-Git-Tag: v23.05.3~36 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=81f8b93e3600953fc03d227c25e88919a6768b8c;p=openwrt%2Fopenwrt.git 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 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 (cherry picked from commit fbb924abff8af9e69ec90d7bf099046c24145b74) --- diff --git a/package/Makefile b/package/Makefile index 8e72d4ec72..4663b41de4 100644 --- a/package/Makefile +++ b/package/Makefile @@ -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)) diff --git a/target/Makefile b/target/Makefile index 83f9c4b093..3bbb9f4131 100644 --- a/target/Makefile +++ b/target/Makefile @@ -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))