From 9db78eb58979d4641796a14f335b12439558b35d Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Tue, 1 Dec 2015 09:27:37 +0100 Subject: [PATCH] mk: move installation procedure in install rule 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 Acked-by: Panu Matilainen --- 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 38ec7bd26b..85f603cb6c 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 0b80104517..c5d088121f 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 9fdecf4ebd..533afe90fa 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.20.1