diff options
author | Felix Fietkau <nbd@nbd.name> | 2017-01-18 20:38:36 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2017-01-18 23:57:08 +0100 |
commit | c150a190f59afa3d34924a76bb9306bdb0914533 (patch) | |
tree | 1768bd27f5b581a3857f40b82f63c9fac51e6f0c | |
parent | 87d9e3462d25e16abb6b5c18da56312d7b90d7b6 (diff) | |
download | upstream-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.mk | 11 |
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) |