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
- 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_*
# (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
#
.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)