From 4169a2e834f174440e0547b3460ddce4bb627b5e Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Fri, 7 Aug 2009 21:58:35 +0000
Subject: [PATCH] add a staging directory for unstripped package files, useful
 for debugging, will be used for mklibs integration later

SVN-Revision: 17167
---
 include/package-ipkg.mk | 7 ++++++-
 package/Makefile        | 2 +-
 rules.mk                | 1 +
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 8b4c042a07..debed2dfe4 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -38,7 +38,7 @@ ifeq ($(DUMP),)
 
     ifdef Package/$(1)/install
       ifneq ($(CONFIG_PACKAGE_$(1))$(SDK)$(DEVELOPER),)
-        compile: $$(IPKG_$(1))
+        compile: $$(IPKG_$(1)) $(STAGING_DIR_ROOT)/stamp/.$(1)_installed
 
         ifeq ($(CONFIG_PACKAGE_$(1)),y)
           install: $$(INFO_$(1))
@@ -82,6 +82,11 @@ ifeq ($(DUMP),)
 		$($(1)_COMMANDS) \
 	)
 
+    $(STAGING_DIR_ROOT)/stamp/.$(1)_installed:
+	mkdir -p $(STAGING_DIR_ROOT)/stamp
+	$(call Package/$(1)/install,$(STAGING_DIR_ROOT))
+	touch $$@
+
     $$(IPKG_$(1)): $(STAGING_DIR)/etc/ipkg.conf $(PKG_BUILD_DIR)/.built $$(IDIR_$(1))/CONTROL/control
 	$(call Package/$(1)/install,$$(IDIR_$(1)))
 	mkdir -p $(PACKAGE_DIR)
diff --git a/package/Makefile b/package/Makefile
index 5e28720438..b7337a6840 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -23,7 +23,7 @@ endif
 $(curdir)/install:=$(curdir)/install-cleanup
 
 $(curdir)/cleanup: $(TMP_DIR)/.build
-	rm -rf $(TARGET_DIR)
+	rm -rf $(TARGET_DIR) $(STAGING_DIR_ROOT)
 
 $(curdir)/rootfs-prepare: $(TMP_DIR)/.build
 	@-$(MAKE) package/preconfig
diff --git a/rules.mk b/rules.mk
index 6ed82988a1..9e27710e27 100644
--- a/rules.mk
+++ b/rules.mk
@@ -63,6 +63,7 @@ STAMP_DIR:=$(BUILD_DIR)/stamp
 STAMP_DIR_HOST=$(BUILD_DIR_HOST)/stamp
 TARGET_ROOTFS_DIR?=$(if $(call qstrip,$(CONFIG_TARGET_ROOTFS_DIR)),$(call qstrip,$(CONFIG_TARGET_ROOTFS_DIR)),$(BUILD_DIR))
 TARGET_DIR:=$(TARGET_ROOTFS_DIR)/root-$(BOARD)
+STAGING_DIR_ROOT:=$(STAGING_DIR)/root-$(BOARD)
 DEBUG_DIR:=$(BUILD_DIR)/debug-$(BOARD)
 BUILD_LOG_DIR:=$(TOPDIR)/logs
 
-- 
GitLab