1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2010-2014 Intel Corporation
4 MAKEFLAGS += --no-print-directory
6 # define Q to '@' or not. $(Q) is used to prefix all shell commands to
7 # be executed silently.
13 ifeq ("$(origin V)", "command line")
20 $(error RTE_SDK is not defined)
23 RTE_SRCDIR = $(CURDIR)
27 export BUILDING_RTE_SDK
30 # We can specify the configuration template when doing the "make
31 # config". For instance: make config T=x86_64-native-linux-gcc
33 RTE_CONFIG_TEMPLATE :=
35 ifeq ("$(origin T)", "command line")
36 RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
39 export RTE_CONFIG_TEMPLATE
42 # Default output is $(RTE_SRCDIR)/build
43 # output files wil go in a separate directory
46 ifeq ("$(origin O)", "command line")
47 RTE_OUTPUT := $(abspath $(O))
50 RTE_OUTPUT ?= $(RTE_SRCDIR)/build
53 # the directory where intermediate build files are stored, like *.o,
55 BUILDDIR = $(RTE_OUTPUT)/build
58 export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
60 .PHONY: default test-build
61 default test-build: all
66 @echo "=========================== WARNING ============================"
67 @echo "It is recommended to build DPDK using 'meson' and 'ninja'"
68 @echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html"
69 @echo "Building DPDK with 'make' will be deprecated in a future release"
70 @echo "================================================================"
72 @test "$(MAKE_PAUSE)" = n || ( \
73 echo "This deprecation warning can be passed by adding MAKE_PAUSE=n"; \
74 echo "to 'make' command line or as an exported environment variable."; \
75 echo "Press enter to continue..."; read junk)
77 .PHONY: config defconfig showconfigs showversion showversionum
79 config defconfig showconfigs showversion showversionum:
80 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
82 .PHONY: cscope gtags tags etags
83 cscope gtags tags etags:
84 $(Q)$(RTE_SDK)/devtools/build-tags.sh $@ $T
86 .PHONY: test test-fast test-perf coverage test-drivers test-dump
87 test test-fast test-perf coverage test-drivers test-dump:
88 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@
92 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk pre_install
93 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
95 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
101 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk $*
103 .PHONY: gcov gcovclean
105 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkgcov.mk $@
107 .PHONY: examples examples_clean
108 examples examples_clean:
109 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkexamples.mk $@
111 # all other build targets
113 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig
114 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkroot.mk warning
115 $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk $@