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