summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Matz <olivier.matz@6wind.com>2013-01-30 16:32:15 +0100
committerThomas Monjalon <thomas.monjalon@6wind.com>2013-09-17 14:16:11 +0200
commit0dd1c9eb4769a20e834585926afed1eca05ececf (patch)
tree62d28d1c63d2e9155a94c4979e3c4edec5773e43
parent99225b4f9c25c253fcc9aabb8ab6646436ed9165 (diff)
downloaddpdk-0dd1c9eb4769a20e834585926afed1eca05ececf.zip
dpdk-0dd1c9eb4769a20e834585926afed1eca05ececf.tar.gz
dpdk-0dd1c9eb4769a20e834585926afed1eca05ececf.tar.xz
mk: allow to specify DESTDIR in build rule
This will install the binary sdk (bin + modules + libs + headers + mk) in the specified directory. This directory can be used as RTE_SDK by external applications. Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
-rw-r--r--doc/build-sdk-quick.txt13
-rw-r--r--mk/rte.sdkbuild.mk16
2 files changed, 23 insertions, 6 deletions
diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt
index d66f0d5..18b0ee6 100644
--- a/doc/build-sdk-quick.txt
+++ b/doc/build-sdk-quick.txt
@@ -5,16 +5,17 @@ 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)
+ install build many targets (wildcard allowed) and install in DESTDIR
uninstall remove all installed targets
Build variables
- CROSS toolchain prefix
EXTRA_CPPFLAGS preprocessor options
EXTRA_CFLAGS compiler options
EXTRA_LDFLAGS linker options
- V verbose
- D debug dependencies
- O output directory (default: build/ - install default: ./)
- T target template (install default: *) - used with config or install
+ CROSS toolchain prefix
+ V verbose
+ D debug dependencies
+ O build directory (default: build/ - install default: ./)
+ DESTDIR second-stage install directory
+ T target template (install default: *) - used with config or install
format: <arch-machine-execenv-toolchain>
templates in config/defconfig_*
diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk
index 5ea4202..087d3ab 100644
--- a/mk/rte.sdkbuild.mk
+++ b/mk/rte.sdkbuild.mk
@@ -30,6 +30,8 @@
# 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
#
@@ -60,6 +62,20 @@ CLEANDIRS = $(addsuffix _clean,$(ROOTDIRS-y) $(ROOTDIRS-n) $(ROOTDIRS-))
.PHONY: build
build: $(ROOTDIRS-y)
@echo Build complete
+ifneq ($(DESTDIR),)
+ $(Q)mkdir -p $(DESTDIR)
+ $(Q)tar -C $(RTE_SDK) -cf - mk | 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)