summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorOlivier Matz <olivier.matz@6wind.com>2013-01-30 16:29:43 +0100
committerThomas Monjalon <thomas.monjalon@6wind.com>2014-01-15 18:08:43 +0100
commit8dde522c7b53df82ac5e08dd1dc3a7a52619b363 (patch)
tree5757620e755b8738599d4c65edb4bbbefd986706 /mk
parent1ed94ea604399cc2302ebd09d21018fd18295aeb (diff)
downloaddpdk-8dde522c7b53df82ac5e08dd1dc3a7a52619b363.zip
dpdk-8dde522c7b53df82ac5e08dd1dc3a7a52619b363.tar.gz
dpdk-8dde522c7b53df82ac5e08dd1dc3a7a52619b363.tar.xz
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>
Diffstat (limited to 'mk')
-rw-r--r--mk/rte.sdkinstall.mk15
1 files changed, 7 insertions, 8 deletions
diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index 1b6744b..66e8568 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -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)/$*