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

Reply via email to