From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: [PATCH 04/10] mk: introduce new install syntax Date: Wed, 2 Dec 2015 04:57:50 +0100 Message-ID: <1449028676-19232-5-git-send-email-thomas.monjalon@6wind.com> References: <1449028676-19232-1-git-send-email-thomas.monjalon@6wind.com> To: dev@dpdk.org Return-path: Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by dpdk.org (Postfix) with ESMTP id 0B4788E5B for ; Wed, 2 Dec 2015 04:59:23 +0100 (CET) Received: by wmec201 with SMTP id c201so234691930wme.0 for ; Tue, 01 Dec 2015 19:59:23 -0800 (PST) In-Reply-To: <1449028676-19232-1-git-send-email-thomas.monjalon@6wind.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The old install command was: make install T=x86_64-native-linuxapp-gcc DESTDIR=install It still works and can be replaced by these more standard commands: make config T=x86_64-native-linuxapp-gcc 0=x86_64-native-linuxapp-gcc make O=x86_64-native-linuxapp-gcc make install O=x86_64-native-linuxapp-gcc prefix= DESTDIR=install It means the "make install" do not perform any compilation anymore when T is not used. It is done only in pre_install to keep compatibility with the old syntax based on T= option. Signed-off-by: Thomas Monjalon --- doc/build-sdk-quick.txt | 7 ++++--- mk/rte.sdkinstall.mk | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt index 662ef63..acd1bfe 100644 --- a/doc/build-sdk-quick.txt +++ b/doc/build-sdk-quick.txt @@ -5,7 +5,8 @@ Build commands all same as build (default rule) build build in a configured directory clean remove files but keep configuration - install configure, build and install a target in DESTDIR + install T= configure, build and install a target in DESTDIR + install install optionally staged in DESTDIR examples build examples for given targets (T=) examples_clean clean examples for given targets (T=) Build variables @@ -17,8 +18,8 @@ Build variables CROSS toolchain prefix V verbose D debug dependencies - O build directory (default: build/ - install default: ./) - DESTDIR second-stage install directory + O build directory (default: build/ - install T= default: ./) + DESTDIR staging install directory prefix root install directory T target template - used with config or install format: diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk index 91273be..9b4303a 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -32,6 +32,7 @@ # Build directory is given with O= O ?= . +BUILD_DIR := $O prefix ?= /usr/local exec_prefix ?= $(prefix) @@ -46,10 +47,12 @@ sdkdir ?= $(datadir) # Configuration, compilation and installation can be done at once # with make install T= +ifdef T # The build directory is T and may be prepended with O BUILD_DIR := $O/$T # Default usage of T= will install an almost flat staging tree export prefix = +endif # Create the directory $1 if not exists rte_mkdir = test -d $1 || mkdir -p $1 @@ -60,6 +63,7 @@ rte_symlink = ln -snf $$($(RTE_SDK)/scripts/relpath.sh $1 $(dir $2)) $2 .PHONY: pre_install pre_install: +ifdef T $(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 \ @@ -76,6 +80,7 @@ pre_install: echo "Using local configuration"; \ fi $(Q)$(MAKE) all O=$(BUILD_DIR) +endif .PHONY: install install: pre_install -- 2.5.2