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>
all same as build (default rule)
build build in a configured directory
clean remove files but keep configuration
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
uninstall remove all installed targets
Build variables
CROSS toolchain prefix
RTE_KERNELDIR linux headers path
V verbose
D debug dependencies
RTE_KERNELDIR linux headers path
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_*
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.
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Build directory is given with 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
endif
# Targets to install can be specified in command line. It can be a
%_install:
@echo ================== Installing $*
%_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
#
# uninstall: remove all built sdk
%_uninstall:
@echo ================== Uninstalling $*
%_uninstall:
@echo ================== Uninstalling $*
+ $(Q)rm -rf $(BUILD_DIR)/$*