[dpdk-dev] [PATCH 02/10] mk: move installation procedure in install rule

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Dec 2 04:57:48 CET 2015


The real installation was called "binary install" and was done
after the build when DESTDIR was specified.
Remove this limitation and move the code in install rule only.

Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
---
 mk/rte.sdkbuild.mk   | 16 ----------------
 mk/rte.sdkinstall.mk | 21 ++++++++++++++++++---
 2 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk
index 38ec7bd..85f603c 100644
--- a/mk/rte.sdkbuild.mk
+++ b/mk/rte.sdkbuild.mk
@@ -29,8 +29,6 @@
 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-# If DESTDIR variable is given, install binary dpdk
-
 #
 # include rte.vars.mk if config file exists
 #
@@ -61,20 +59,6 @@ CLEANDIRS = $(addsuffix _clean,$(ROOTDIRS-y) $(ROOTDIRS-n) $(ROOTDIRS-))
 .PHONY: build
 build: $(ROOTDIRS-y)
 	@echo "Build complete [$(RTE_TARGET)]"
-ifneq ($(DESTDIR),)
-	$(Q)mkdir -p $(DESTDIR)
-	$(Q)tar -C $(RTE_SDK) -cf - mk scripts/*.sh | tar -C $(DESTDIR) -x \
-	  --keep-newer-files --warning=no-ignore-newer -f -
-	$(Q)mkdir -p $(DESTDIR)/`basename $(RTE_OUTPUT)`
-	$(Q)tar -C $(RTE_OUTPUT) -chf - \
-	  --exclude app --exclude hostapp --exclude build \
-	  --exclude Makefile --exclude .depdirs . | \
-	  tar -C $(DESTDIR)/`basename $(RTE_OUTPUT)` -x --keep-newer-files \
-	  --warning=no-ignore-newer -f -
-	$(Q)install -D $(RTE_OUTPUT)/app/testpmd \
-	  $(DESTDIR)/`basename $(RTE_OUTPUT)`/app/testpmd
-	@echo Installation in $(DESTDIR) complete
-endif
 
 .PHONY: clean
 clean: $(CLEANDIRS)
diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index e8355eb..ed3ed86 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -37,9 +37,8 @@ O ?= .
 # The build directory is T and may be prepended with O
 BUILD_DIR := $O/$T
 
-.PHONY: install
-install:
-	@echo ================== Installing $T
+.PHONY: pre_install
+pre_install:
 	$(Q)if [ ! -f $(BUILD_DIR)/.config ]; then \
 		$(MAKE) config T=$T O=$(BUILD_DIR); \
 	elif cmp -s $(BUILD_DIR)/.config.orig $(BUILD_DIR)/.config; then \
@@ -56,3 +55,19 @@ install:
 		echo "Using local configuration"; \
 	fi
 	$(Q)$(MAKE) all O=$(BUILD_DIR)
+
+.PHONY: install
+install: pre_install
+	@echo ================== Installing $(DESTDIR)
+	$(Q)mkdir -p $(DESTDIR)
+	$(Q)tar -C $(RTE_SDK) -cf - mk scripts/*.sh | tar -C $(DESTDIR) -x \
+	  --keep-newer-files --warning=no-ignore-newer -f -
+	$(Q)mkdir -p $(DESTDIR)/$T
+	$(Q)tar -C $(BUILD_DIR) -chf - \
+	  --exclude app --exclude hostapp --exclude build \
+	  --exclude Makefile --exclude .depdirs . | \
+	  tar -C $(DESTDIR)/$T -x --keep-newer-files \
+	  --warning=no-ignore-newer -f -
+	$(Q)install -D $(BUILD_DIR)/app/testpmd \
+	  $(DESTDIR)/$T/app/testpmd
+	@echo Installation in $(DESTDIR) complete
-- 
2.5.2



More information about the dev mailing list