From patchwork Thu Dec 3 05:02:02 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 9271 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 46A618E82; Thu, 3 Dec 2015 06:03:34 +0100 (CET) Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by dpdk.org (Postfix) with ESMTP id 03B0A8E7C for ; Thu, 3 Dec 2015 06:03:32 +0100 (CET) Received: by wmww144 with SMTP id w144so6487623wmw.0 for ; Wed, 02 Dec 2015 21:03:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=cD7JCPIlcvrjk5FLs7QN8HfRI/i0mbjRIZBBFm86g0U=; b=y9omO0c8jCAtk5I7pAF71u/aiIW/QGrtj00J9V+IVi59VrTEsk2bmroJPzRQ+hiVRp cLgUfxQkl7C501IHa2R0Kp5S23pfbizgqCuGxg3Lhkl52K8ZBaXZOMgIwlA8oVpePxZz PEWR8mbTCNtyyo7VytHAGe1TUZGLEb1YynZgC0PeqQYmJUfspXtN/uPpY1c6D4PsmmwZ ETEst7cowwOfKPd7sBWMFPt9ndcwBcEnJ5eHIeHAIxs1AQ8SOLjw6kKxjIZCimrvoZ2k IuJ8TX2s6YIifiEL7INIiRDkWdbaAbRpcSKprkfYsacMfUzdqhnWlep4Vw3ZNDiSWi6q JnHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=cD7JCPIlcvrjk5FLs7QN8HfRI/i0mbjRIZBBFm86g0U=; b=OiGtCU4mjsXo8U1n+nkXGUxKFVz0/5V2ph7ECWAiGhNQzws8pW+kXaFqM1HflaD1AT ACaJipyN5i5gMsTc1v0xgbrkFgpRYbOX5pwaFNQysktArLnjzTsSZ1a+F4408Cf3Pu6Y 1Y9CSFWhEXcoHM8CToXQsogYuwVLpiG7lbyN/wts3cYWYNsl7YGErkeZvpq4eIz+2Xrd +FnUjdkP6AdVrn8vBSoW8OIL1rme/Vsux9euJHMz1BrLUYa8ZPPG8HrxUalJfHQqCbkR nBByStDweKZ/J5XMbIl9Nw6QzLjq2AAxLAnlsAaTUOx7EkFA69aoAlDifnhFcciGq17U nf0w== X-Gm-Message-State: ALoCoQlUytUoPLX2UJezxW+JxnH57P5t3Ca5j62HY605rbA47c06w9Y0h5HCzJSi6B782fay6K2v X-Received: by 10.194.133.137 with SMTP id pc9mr8596706wjb.162.1449119011891; Wed, 02 Dec 2015 21:03:31 -0800 (PST) Received: from XPS13.ibrowse.com ([93.158.46.55]) by smtp.gmail.com with ESMTPSA id gl4sm5720379wjd.17.2015.12.02.21.03.30 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 02 Dec 2015 21:03:31 -0800 (PST) From: Thomas Monjalon To: dev@dpdk.org Date: Thu, 3 Dec 2015 06:02:02 +0100 Message-Id: <1449118929-19962-6-git-send-email-thomas.monjalon@6wind.com> X-Mailer: git-send-email 2.5.2 In-Reply-To: <1449118929-19962-1-git-send-email-thomas.monjalon@6wind.com> References: <1449028676-19232-1-git-send-email-thomas.monjalon@6wind.com> <1449118929-19962-1-git-send-email-thomas.monjalon@6wind.com> Subject: [dpdk-dev] [PATCH v2 05/12] mk: introduce new install syntax X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list 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. The default prefix /usr/local is empty in the T= case which is used only for a local install. Signed-off-by: Thomas Monjalon --- doc/build-sdk-quick.txt | 7 ++++--- doc/guides/prog_guide/dev_kit_root_make_help.rst | 4 +--- mk/rte.sdkinstall.mk | 12 ++++++++++++ 3 files changed, 17 insertions(+), 6 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/doc/guides/prog_guide/dev_kit_root_make_help.rst b/doc/guides/prog_guide/dev_kit_root_make_help.rst index b0429d8..fb3520e 100644 --- a/doc/guides/prog_guide/dev_kit_root_make_help.rst +++ b/doc/guides/prog_guide/dev_kit_root_make_help.rst @@ -107,8 +107,6 @@ Install Targets * Install - Build the DPDK binary. - The name of the target to install is specified using T=mytarget. The list of available targets are in $(RTE_SDK)/config (remove the defconfig\_ prefix). The GNU standards variables may be used: @@ -119,7 +117,7 @@ Install Targets .. code-block:: console - make install T=x86_64-native-linuxapp-gcc prefix=/usr + make install DESTDIR=myinstall prefix=/usr Test Targets ------------ diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk index 4816998..6a7aedd 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -33,11 +33,21 @@ # Configuration, compilation and installation can be done at once # with make install T= +ifdef T # config, build and install combined # The build directory is T and may be prepended with O O ?= . BUILD_DIR := $O/$T +else # standard install +# Build directory is given with O= +O ?= build +BUILD_DIR := $O +endif +ifdef T # defaults with T= will install an almost flat staging tree +export prefix ?= +else prefix ?= /usr/local +endif exec_prefix ?= $(prefix) bindir ?= $(exec_prefix)/bin libdir ?= $(exec_prefix)/lib @@ -58,6 +68,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 \ @@ -74,6 +85,7 @@ pre_install: echo "Using local configuration"; \ fi $(Q)$(MAKE) all O=$(BUILD_DIR) +endif .PHONY: install install: pre_install