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>
Acked-by: Panu Matilainen <pmatilai at redhat.com>
---
mk/rte.sdkbuild.mk | 16 ----------------
mk/rte.sdkinstall.mk | 21 ++++++++++++++++++---
mk/rte.sdkroot.mk | 1 +
3 files changed, 19 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 0b80104..c5d0881 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -36,9 +36,8 @@
O ?= .
RTE_OUTPUT := $O/$T
-.PHONY: install
-install:
- @echo ================== Installing $T
+.PHONY: pre_install
+pre_install:
$(Q)if [ ! -f $(RTE_OUTPUT)/.config ]; then \
$(MAKE) config O=$(RTE_OUTPUT); \
elif cmp -s $(RTE_OUTPUT)/.config.orig $(RTE_OUTPUT)/.config; then \
@@ -55,3 +54,19 @@ install:
echo "Using local configuration"; \
fi
$(Q)$(MAKE) all O=$(RTE_OUTPUT)
+
+.PHONY: install
+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 $(RTE_OUTPUT) -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 $(RTE_OUTPUT)/app/testpmd \
+ $(DESTDIR)/$T/app/testpmd
+ @echo Installation in $(DESTDIR) complete
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 9fdecf4..533afe9 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -95,6 +95,7 @@ test fast_test ring_test mempool_test perf_test coverage:
.PHONY: install
install:
+ $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk pre_install
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
.PHONY: doc help
--
2.5.2