ar71xx: generalize cybertan partition parser
[openwrt/openwrt.git] / include / package-ipkg.mk
index b8c8cd6f99cc9938fae2fdc72b37b6d3f0fd3d3d..b7dc0ad1e8071e50f7a83e6db8a67c275f65b186 100644 (file)
@@ -13,10 +13,14 @@ IPKG_BUILD:= \
 
 IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg
 
+# 1: package name
+# 2: variable name
+# 3: variable suffix
 define BuildIPKGVariable
 ifdef Package/$(1)/$(2)
   $$(IPKG_$(1)) : VAR_$(2)$(3)=$$(Package/$(1)/$(2))
-  $(1)_COMMANDS += echo "$$$$$(2)$(3)" > $(2)$(3);
+  $(call shexport,Package/$(1)/$(2))
+  $(1)_COMMANDS += echo "$$$$$$$$$(call shvar,Package/$(1)/$(2))" > $(2)$(3);
 endif
 endef
 
@@ -62,7 +66,7 @@ ifneq ($(PKG_NAME),toolchain)
                                XARGS="$(XARGS)"; \
                        $(SCRIPT_DIR)/gen-dependencies.sh "$$(IDIR_$(1))"; \
                ) | while read FILE; do \
-                       grep -q "$$$$FILE" $(PKG_INFO_DIR)/$(1).provides || \
+                       grep -qxF "$$$$FILE" $(PKG_INFO_DIR)/$(1).provides || \
                                echo "$$$$FILE" >> $(PKG_INFO_DIR)/$(1).missing; \
                done; \
                if [ -f "$(PKG_INFO_DIR)/$(1).missing" ]; then \
@@ -109,7 +113,7 @@ ifeq ($(DUMP),)
                        echo "$(1)" >> $(PKG_INSTALL_STAMP)
         endif
       else
-        $$(info WARNING: skipping $(1) -- package not selected)
+        $(if $(CONFIG_PACKAGE_$(1)),$$(info WARNING: skipping $(1) -- package not selected))
       endif
     endif
     endif