clean up automake/pkg-config handling, move separate host/package variable exports...
[openwrt/svn-archive/archive.git] / include / package.mk
index 80836326841a5a581835045b907ecc1bca5e3c43..9bffcd1563982de4e623e22bcf8b1f077e00665d 100644 (file)
@@ -4,7 +4,6 @@
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 all: $(if $(DUMP),dumpinfo,compile)
 
@@ -36,7 +35,6 @@ CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)
 ifneq ($(CONFIG_LINUX_2_4),)
   CONFIG_SITE:=$(subst linux-,linux2.4-,$(CONFIG_SITE))
 endif
-export CONFIG_SITE
 CUR_MAKEFILE:=$(filter-out Makefile,$(firstword $(MAKEFILE_LIST)))
 SUBMAKE:=$(NO_TRACE_MAKE) $(if $(CUR_MAKEFILE),-f $(CUR_MAKEFILE))
 
@@ -64,6 +62,16 @@ define sep
 
 endef
 
+define Build/Exports/Default
+  $(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR)/usr/share/aclocal $$(STAGING_DIR)/usr/share/aclocal-* $$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*),-I $$(p))
+  $(1) : export STAGING_PREFIX=$$(STAGING_DIR)/usr
+  $(1) : export PATH=$$(TARGET_PATH_PKG)
+  $(1) : export CONFIG_SITE:=$$(CONFIG_SITE)
+  $(1) : export PKG_CONFIG_PATH=$$(STAGING_DIR)/usr/lib/pkgconfig
+  $(1) : export PKG_CONFIG_LIBDIR=$$(STAGING_DIR)/usr/lib/pkgconfig
+endef
+Build/Exports=$(Build/Exports/Default)
+
 define Build/DefaultTargets
   $(if $(QUILT),$(Build/Quilt))
   $(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))
@@ -78,14 +86,14 @@ define Build/DefaultTargets
        $(foreach hook,$(Hooks/Prepare/Post),$(call $(hook))$(sep))
        touch $$@
 
-  $(STAMP_CONFIGURED) : export PATH=$$(TARGET_PATH_PKG)
-  $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(HOST_STAMP_INSTALLED)
+  $(call Build/Exports,$(STAMP_CONFIGURED))
+  $(STAMP_CONFIGURED): $(STAMP_PREPARED)
        $(foreach hook,$(Hooks/Configure/Pre),$(call $(hook))$(sep))
        $(Build/Configure)
        $(foreach hook,$(Hooks/Configure/Post),$(call $(hook))$(sep))
        touch $$@
 
-  $(STAMP_BUILT) : export PATH=$$(TARGET_PATH_PKG)
+  $(call Build/Exports,$(STAMP_BUILT))
   $(STAMP_BUILT): $(STAMP_CONFIGURED)
        $(foreach hook,$(Hooks/Compile/Pre),$(call $(hook))$(sep))
        $(Build/Compile)
@@ -155,7 +163,7 @@ endif
       ), $(BuildTarget/$(target)) \
     ) \
   )
-  $(if $(DUMP),,$(call Build/DefaultTargets,$(1)))
+  $(if $(PKG_HOST_ONLY)$(DUMP),,$(call Build/DefaultTargets,$(1)))
 endef
 
 define pkg_install_files