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>
This commit is contained in:
parent
1c858a7dfe
commit
1fa0fd9d6b
@ -5,17 +5,18 @@ 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
|
||||
RTE_KERNELDIR linux headers path
|
||||
CROSS toolchain prefix
|
||||
V verbose
|
||||
D debug dependencies
|
||||
O output directory (default: build/ - install default: ./)
|
||||
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_*
|
||||
|
@ -29,6 +29,8 @@
|
||||
# (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
|
||||
#
|
||||
@ -59,6 +61,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)
|
||||
|
Loading…
Reference in New Issue
Block a user