mk: allow to specify O= in install rule
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>
This commit is contained in:
parent
4403715ec6
commit
713295f1e0
@ -5,7 +5,7 @@ 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) in fixed directories
|
||||
install build many targets (wildcard allowed)
|
||||
uninstall remove all installed targets
|
||||
Build variables
|
||||
CROSS toolchain prefix
|
||||
@ -15,7 +15,7 @@ Build variables
|
||||
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_*
|
||||
|
@ -29,10 +29,11 @@
|
||||
# (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=
|
||||
ifdef 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
|
||||
@ -55,8 +56,8 @@ install: $(INSTALL_TARGETS)
|
||||
|
||||
%_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
|
||||
@ -69,6 +70,4 @@ uninstall: $(UNINSTALL_TARGETS)
|
||||
|
||||
%_uninstall:
|
||||
@echo ================== Uninstalling $*
|
||||
$(Q)rm -rf $*
|
||||
|
||||
|
||||
$(Q)rm -rf $(BUILD_DIR)/$*
|
||||
|
Loading…
Reference in New Issue
Block a user