summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2011-06-10 23:59:26 +0200
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2011-06-10 23:59:26 +0200
commit7693b34c4aba1ff79707487b478592105293ee2a (patch)
tree9855944442ab5d617837154f0c4de20156b8c672
parent0785b0fdb55b2db8baa88e20db74d4fa9baf25ec (diff)
downloadembtoolkit-7693b34c4aba1ff79707487b478592105293ee2a.tar.gz
embtoolkit-7693b34c4aba1ff79707487b478592105293ee2a.tar.bz2
embtoolkit-7693b34c4aba1ff79707487b478592105293ee2a.tar.xz
Build system: generic macros: add ability to specify make options and directories
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
-rw-r--r--mk/macros.mk30
1 files changed, 23 insertions, 7 deletions
diff --git a/mk/macros.mk b/mk/macros.mk
index 4aca579..f602b1a 100644
--- a/mk/macros.mk
+++ b/mk/macros.mk
@@ -285,21 +285,37 @@ endef
# Usage:
# $(call EMBTK_INSTALL_PKG,PACKAGE)
#
+__EMBTK_MULTI_MAKE = $(foreach builddir,$($(1)_MAKE_DIRS), \
+ $(MAKE) -C $($(1)_BUILD_DIR)/$(builddir) \
+ $($(1)_MAKE_OPTS) $(J))
+
+__EMBTK_SINGLE_MAKE = $(MAKE) -C $($(1)_BUILD_DIR) $($(1)_MAKE_OPTS) $(J)
+
+__EMBTK_MULTI_MAKE_INSTALL = $(foreach builddir,$($(1)_MAKE_DIRS), \
+ $(MAKE) -C $($(1)_BUILD_DIR)/$(builddir) \
+ DESTDIR=$(SYSROOT)/$($(1)_SYSROOT_SUFFIX) $($(1)_MAKE_OPTS) install)
+
+__EMBTK_SINGLE_MAKE_INSTALL = $(MAKE) -C $($(1)_BUILD_DIR) \
+ DESTDIR=$(SYSROOT)/$($(1)_SYSROOT_SUFFIX) $($(1)_MAKE_OPTS) install
+
define __EMBTK_INSTALL_PKG_MAKE
$(call EMBTK_GENERIC_MSG,"Compiling and installing $($(1)_NAME)-$($(1)_VERSION) in your root filesystem...")
$(Q)$(if $(strip $($(1)_DEPS)),$(MAKE) $($(1)_DEPS))
$(Q)$(call EMBTK_DOWNLOAD_PKG,$(1))
$(Q)$(call EMBTK_DECOMPRESS_PKG,$(1))
$(Q)$(call EMBTK_CONFIGURE_PKG,$(1))
- $(Q)$(MAKE) -C $($(1)_BUILD_DIR) $(J)
- $(Q)$(MAKE) -C $($(1)_BUILD_DIR) \
- DESTDIR=$(SYSROOT)/$($(1)_SYSROOT_SUFFIX) install
+ $(Q)$(if $($(1)_MAKE_DIRS), \
+ $(__EMBTK_MULTI_MAKE), \
+ $(__EMBTK_SINGLE_MAKE))
+ $(Q)$(if $($(1)_MAKE_DIRS), \
+ $(__EMBTK_MULTI_MAKE_INSTALL), \
+ $(__EMBTK_SINGLE_MAKE_INSTALL))
$(Q)$(call __EMBTK_FIX_LIBTOOL_FILES)
$(Q)$(call __EMBTK_FIX_PKGCONFIG_FILES)
@touch $($(1)_BUILD_DIR)/.installed
endef
define EMBTK_INSTALL_PKG
- @$(if $(shell test -e $($(1)_BUILD_DIR)/.installed && echo y), \
+ @$(if $(shell test -e $($(1)_BUILD_DIR)/.installed && echo y), \
true,$(call __EMBTK_INSTALL_PKG_MAKE,$(1)))
endef
@@ -315,12 +331,12 @@ define __EMBTK_INSTALL_HOSTPKG_MAKE
$(Q)$(call EMBTK_DOWNLOAD_PKG,$(1))
$(Q)$(call EMBTK_DECOMPRESS_HOSTPKG,$(1))
$(Q)$(call EMBTK_CONFIGURE_HOSTPKG,$(1))
- $(Q)$(MAKE) -C $($(1)_BUILD_DIR) $(J)
- $(Q)$(MAKE) -C $($(1)_BUILD_DIR) install
+ $(Q)$(MAKE) -C $($(1)_BUILD_DIR) $($(1)_MAKE_OPTS) $(J)
+ $(Q)$(MAKE) -C $($(1)_BUILD_DIR) $($(1)_MAKE_OPTS) install
@touch $($(1)_BUILD_DIR)/.installed
endef
define EMBTK_INSTALL_HOSTPKG
- @$(if $(shell test -e $($(1)_BUILD_DIR)/.installed && echo y), \
+ @$(if $(shell test -e $($(1)_BUILD_DIR)/.installed && echo y), \
true,$(call __EMBTK_INSTALL_HOSTPKG_MAKE,$(1)))
endef