[dpdk-dev,v2,03/12] mk: move installation procedure in install rule
Commit Message
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>
---
mk/rte.sdkbuild.mk | 16 ----------------
mk/rte.sdkinstall.mk | 21 ++++++++++++++++++---
2 files changed, 18 insertions(+), 19 deletions(-)
@@ -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)
@@ -36,9 +36,8 @@
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 \
@@ -55,3 +54,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