[source] build: stage bin/ packages inside PKG_BUILD_DIR

LEDE Commits lede-commits at lists.infradead.org
Wed Jan 18 14:57:26 PST 2017


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/c150a190f59afa3d34924a76bb9306bdb0914533

commit c150a190f59afa3d34924a76bb9306bdb0914533
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Wed Jan 18 20:38:36 2017 +0100

    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 at nbd.name>
---
 include/package-bin.mk | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/include/package-bin.mk b/include/package-bin.mk
index e522451..a777ead 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)



More information about the lede-commits mailing list