aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-01-18 20:38:36 +0100
committerFelix Fietkau <nbd@nbd.name>2017-01-18 23:57:08 +0100
commitc150a190f59afa3d34924a76bb9306bdb0914533 (patch)
tree1768bd27f5b581a3857f40b82f63c9fac51e6f0c
parent87d9e3462d25e16abb6b5c18da56312d7b90d7b6 (diff)
downloadupstream-c150a190f59afa3d34924a76bb9306bdb0914533.tar.gz
upstream-c150a190f59afa3d34924a76bb9306bdb0914533.tar.bz2
upstream-c150a190f59afa3d34924a76bb9306bdb0914533.zip
build: stage bin/ packages inside PKG_BUILD_DIR
This makes the build slightly more efficient by avoiding the need to re-stage packages on every full build run. It is also necessary for the upcoming CONFIG_AUTOREMOVE feature Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--include/package-bin.mk11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/package-bin.mk b/include/package-bin.mk
index e5224517f8..a777eadad9 100644
--- a/include/package-bin.mk
+++ b/include/package-bin.mk
@@ -10,6 +10,7 @@ ifeq ($(DUMP),)
ifeq ($(if $(VARIANT),$(BUILD_VARIANT)),$(VARIANT))
ifdef Package/$(1)/install
ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),)
+ .compile: $(PKG_BUILD_DIR)/.pkgdir/$(1).installed
compile: install-bin-$(1)
else
compile: $(1)-disabled
@@ -19,10 +20,16 @@ ifeq ($(DUMP),)
endif
endif
- install-bin-$(1): $(STAMP_BUILT)
+ $(PKG_BUILD_DIR)/.pkgdir/$(1).installed: $(STAMP_BUILT)
+ rm -rf $(PKG_BUILD_DIR)/.pkgdir/$(1) $$@
+ mkdir -p $(PKG_BUILD_DIR)/.pkgdir/$(1)
+ $(call Package/$(1)/install,$(PKG_BUILD_DIR)/.pkgdir/$(1))
+ touch $$@
+
+ install-bin-$(1): $(PKG_BUILD_DIR)/.pkgdir/$(1).installed
rm -rf $(BIN_DIR)/$(1)
$(INSTALL_DIR) $(BIN_DIR)/$(1)
- $(call Package/$(1)/install,$(BIN_DIR)/$(1))
+ $(CP) $(PKG_BUILD_DIR)/.pkgdir/$(1)/. $(BIN_DIR)/$(1)/
clean-$(1):
rm -rf $(BIN_DIR)/$(1)