mk: move installation procedure in install rule
authorThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 1 Dec 2015 08:27:37 +0000 (09:27 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 6 Dec 2015 14:41:04 +0000 (15:41 +0100)
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@6wind.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
mk/rte.sdkbuild.mk
mk/rte.sdkinstall.mk
mk/rte.sdkroot.mk

index 38ec7bd..85f603c 100644 (file)
@@ -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)
index 0b80104..c5d0881 100644 (file)
@@ -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
index 9fdecf4..533afe9 100644 (file)
@@ -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