fix multiple ipkg builds of the same arch but with different targets in the same...
[openwrt/svn-archive/archive.git] / include / host-build.mk
index e92c7b3e68f33ec435d63a5357a2b5044ab83b88..4bac6801470801d01728ab078dcc76a92e2bef11 100644 (file)
@@ -12,7 +12,8 @@ include $(INCLUDE_DIR)/host.mk
 include $(INCLUDE_DIR)/unpack.mk
 include $(INCLUDE_DIR)/depends.mk
 
-HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared$(if $(QUILT)$(DUMP),,$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPEND),)))
+BUILD_TYPES += host
+HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared$(if $(HOST_QUILT)$(DUMP),,$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPENDS),)))
 HOST_STAMP_CONFIGURED:=$(HOST_BUILD_DIR)/.configured
 HOST_STAMP_BUILT:=$(HOST_BUILD_DIR)/.built
 HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.$(PKG_NAME)_installed
@@ -77,9 +78,18 @@ define Host/Compile
   $(call Host/Compile/Default)
 endef
 
-ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),)
+define Host/Install/Default
+       $(MAKE) -C $(HOST_BUILD_DIR) install
+endef
+
+define Host/Install
+  $(call Host/Install/Default)
+endef
+
+
+ifneq ($(if $(HOST_QUILT),,$(CONFIG_AUTOREBUILD)),)
   define HostHost/Autoclean
-    $(call rdep,${CURDIR} $(PKG_FILE_DEPEND),$(HOST_STAMP_PREPARED))
+    $(call rdep,${CURDIR} $(PKG_FILE_DEPENDS),$(HOST_STAMP_PREPARED))
     $(if $(if $(Host/Compile),$(filter prepare,$(MAKECMDGOALS)),1),,$(call rdep,$(HOST_BUILD_DIR),$(HOST_STAMP_BUILT)))
   endef
 endif
@@ -93,10 +103,18 @@ define Download/default
   MD5SUM:=$(PKG_MD5SUM)
 endef
 
+define Host/Exports/Default
+  $(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR_HOST)/share/aclocal $$(STAGING_DIR_HOST)/share/aclocal-*),-I $$(p))
+  $(1) : export STAGING_PREFIX=$$(STAGING_DIR_HOST)
+  $(1) : export PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig
+  $(1) : export PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
+endef
+Host/Exports=$(Host/Exports/Default)
+
 ifndef DUMP
   define HostBuild
-  $(if $(QUILT),$(Host/Quilt))
-  $(if $(STAMP_PREPARED),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default)))
+  $(if $(HOST_QUILT),$(Host/Quilt))
+  $(if $(if $(PKG_HOST_ONLY),,$(STAMP_PREPARED)),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default)))
   $(if $(DUMP),,$(call HostHost/Autoclean))
 
   $(HOST_STAMP_PREPARED):
@@ -105,10 +123,12 @@ ifndef DUMP
        $(call Host/Prepare)
        touch $$@
 
+  $(call Host/Exports,$(HOST_STAMP_CONFIGURED))
   $(HOST_STAMP_CONFIGURED): $(HOST_STAMP_PREPARED)
        $(call Host/Configure)
        touch $$@
 
+  $(call Host/Exports,$(HOST_STAMP_BUILT))
   $(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED)
        $(call Host/Compile)
        touch $$@
@@ -122,7 +142,15 @@ ifndef DUMP
     host-install: $(HOST_STAMP_INSTALLED)
   endif
 
-  download:
+  ifndef STAMP_BUILT
+    prepare: host-prepare
+    compile: host-compile
+    install: host-install
+    clean: host-clean
+    update: host-update
+  else
+    host-compile: $(HOST_STAMP_INSTALLED)
+  endif
   host-prepare: $(HOST_STAMP_PREPARED)
   host-configure: $(HOST_STAMP_CONFIGURED)
   host-compile: $(HOST_STAMP_BUILT)
@@ -134,10 +162,11 @@ ifndef DUMP
 
   endef
 
-  prepare: host-prepare
-  compile: host-compile $(if $(STAMP_BUILT),host-install)
-  install: host-install
-  clean: host-clean
+  download:
+  prepare:
+  compile:
+  install:
+  clean:
 
 endif