host-build: add HOST_MAKE_FLAGS similar to package MAKE_FLAGS
[openwrt/staging/yousong.git] / include / host-build.mk
index 6fc29b3a97925ea9342dc35d5ad4566b40bfe9d8..66795c8e1082c848a941dc09c87abd113a7e1387 100644 (file)
@@ -9,11 +9,17 @@ HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSIO
 HOST_INSTALL_DIR ?= $(HOST_BUILD_DIR)/host-install
 HOST_BUILD_PARALLEL ?=
 
+ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),)
+  HOST_MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) -j)
+else
+  HOST_MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS)
+endif
+
 ifeq ($(strip $(HOST_BUILD_PARALLEL)),0)
 HOST_JOBS?=-j1
 else
 HOST_JOBS?=$(if $(HOST_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\
-       $(if $(CONFIG_PKG_BUILD_PARALLEL),-j$(CONFIG_PKG_BUILD_JOBS),-j1),-j1)
+       $(if $(CONFIG_PKG_BUILD_PARALLEL),$(HOST_MAKE_J),-j1),-j1)
 endif
 
 include $(INCLUDE_DIR)/host.mk
@@ -47,7 +53,7 @@ endef
 HOST_CONFIGURE_VARS = \
        CC="$(HOSTCC)" \
        CFLAGS="$(HOST_CFLAGS)" \
-       CPPFLAGS="$(HOST_CFLAGS)" \
+       CPPFLAGS="$(HOST_CPPFLAGS)" \
        LDFLAGS="$(HOST_LDFLAGS)" \
        SHELL="$(BASH)"
 
@@ -63,8 +69,16 @@ HOST_CONFIGURE_ARGS = \
        --localstatedir=$(STAGING_DIR_HOST)/var \
        --sbindir=$(STAGING_DIR_HOST)/bin
 
+HOST_MAKE_FLAGS =
+
 HOST_CONFIGURE_CMD = ./configure
 
+ifneq ($(HOST_OS),Darwin)
+  ifeq ($(CONFIG_BUILD_STATIC_TOOLS),y)
+    HOST_STATIC_LINKING = -static
+  endif
+endif
+
 define Host/Configure/Default
        (cd $(HOST_BUILD_DIR)/$(3); \
                if [ -x configure ]; then \
@@ -83,7 +97,9 @@ define Host/Configure
 endef
 
 define Host/Compile/Default
-       $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) $(1)
+       $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \
+               $(HOST_MAKE_FLAGS) \
+               $(1)
 endef
 
 define Host/Compile
@@ -124,6 +140,8 @@ define Host/Exports/Default
 endef
 Host/Exports=$(Host/Exports/Default)
 
+.NOTPARALLEL:
+
 ifndef DUMP
   define HostBuild
   $(if $(HOST_QUILT),$(Host/Quilt))