From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH 1/3] mk: allow to specify O= in install rule
Date: Fri, 26 Jul 2013 15:13:43 +0200 [thread overview]
Message-ID: <ace35b8a40a768834d2ca082fb394aa6b5ab4147.1374843652.git.thomas.monjalon@6wind.com> (raw)
In-Reply-To: <cover.1374843652.git.thomas.monjalon@6wind.com>
In-Reply-To: <cover.1374843652.git.thomas.monjalon@6wind.com>
From: Olivier Matz <olivier.matz@6wind.com>
This variable $(O) can be used to specify a build directory
when doing an "install" procedure. The default is ".", which
means that targets will be built in the source dpdk.
This option is useful to compile outside of the source tree that may be
read-only.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
doc/build-sdk-quick.txt | 4 ++--
mk/rte.sdkinstall.mk | 15 +++++++--------
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt
index c839676..d66f0d5 100644
--- a/doc/build-sdk-quick.txt
+++ b/doc/build-sdk-quick.txt
@@ -5,7 +5,7 @@ Build commands
all same as build (default rule)
build build in a configured directory
clean remove files but keep configuration
- install build many targets (wildcard allowed) in fixed directories
+ install build many targets (wildcard allowed)
uninstall remove all installed targets
Build variables
CROSS toolchain prefix
@@ -14,7 +14,7 @@ Build variables
EXTRA_LDFLAGS linker options
V verbose
D debug dependencies
- O output directory (default: build/) - cannot be used with install
+ O output directory (default: build/ - install default: ./)
T target template (install default: *) - used with config or install
format: <arch-machine-execenv-toolchain>
templates in config/defconfig_*
diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index 022cd70..a280234 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -30,10 +30,11 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
+# Build directory is given with O=
ifdef O
-ifeq ("$(origin O)", "command line")
-$(error "Cannot use O= with install target")
-endif
+BUILD_DIR=$(O)
+else
+BUILD_DIR=.
endif
# Targets to install can be specified in command line. It can be a
@@ -56,8 +57,8 @@ install: $(INSTALL_TARGETS)
%_install:
@echo ================== Installing $*
- $(Q)$(MAKE) config T=$* O=$*
- $(Q)$(MAKE) all O=$*
+ $(Q)$(MAKE) config T=$* O=$(BUILD_DIR)/$*
+ $(Q)$(MAKE) all O=$(BUILD_DIR)/$*
#
# uninstall: remove all built sdk
@@ -70,6 +71,4 @@ uninstall: $(UNINSTALL_TARGETS)
%_uninstall:
@echo ================== Uninstalling $*
- $(Q)rm -rf $*
-
-
+ $(Q)rm -rf $(BUILD_DIR)/$*
--
1.7.10.4
next prev parent reply other threads:[~2013-07-26 13:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-26 13:13 [dpdk-dev] [PATCH 0/3] real "make install" rule Thomas Monjalon
2013-07-26 13:13 ` Thomas Monjalon [this message]
2013-07-26 13:13 ` [dpdk-dev] [PATCH 2/3] mk: in install rule, don't overwrite .config if it already exists Thomas Monjalon
2013-07-26 13:13 ` [dpdk-dev] [PATCH 3/3] mk: allow to specify DESTDIR in build rule Thomas Monjalon
2013-07-26 13:36 ` [dpdk-dev] [PATCH 0/3] real "make install" rule Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ace35b8a40a768834d2ca082fb394aa6b5ab4147.1374843652.git.thomas.monjalon@6wind.com \
--to=thomas.monjalon@6wind.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).