diff options
author | Felix Fietkau <nbd@openwrt.org> | 2006-10-10 15:30:50 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2006-10-10 15:30:50 +0000 |
commit | af7a470f9c3f0c8546a90ae24a8494d3ee94efd6 (patch) | |
tree | c2adf76904f7a6a6449131129eac74ec00780dd1 | |
parent | c2527c7204b8fdd4638af13d1899013ab262eb28 (diff) | |
download | upstream-af7a470f9c3f0c8546a90ae24a8494d3ee94efd6.tar.gz upstream-af7a470f9c3f0c8546a90ae24a8494d3ee94efd6.tar.bz2 upstream-af7a470f9c3f0c8546a90ae24a8494d3ee94efd6.zip |
add support for a common shell include file, which is evaluated for every make shell call, simplify variable passing to the shell with shvar and shexport templates, use Package/<pkgname>/config for adding config.in data
SVN-Revision: 5014
-rw-r--r-- | openwrt/include/package.mk | 38 | ||||
-rw-r--r-- | openwrt/include/shell.sh | 15 | ||||
-rw-r--r-- | openwrt/package/busybox/Makefile | 10 | ||||
-rw-r--r-- | openwrt/rules.mk | 3 |
4 files changed, 45 insertions, 21 deletions
diff --git a/openwrt/include/package.mk b/openwrt/include/package.mk index e931924134..181ea32b6e 100644 --- a/openwrt/include/package.mk +++ b/openwrt/include/package.mk @@ -12,6 +12,15 @@ endif include $(INCLUDE_DIR)/prereq.mk +define shvar +V_$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) +endef + +define shexport +$(call shvar,$(1))=$$(call $(1)) +export $(call shvar,$(1)) +endef + define Build/DefaultTargets ifeq ($(DUMP),) ifeq ($(CONFIG_AUTOREBUILD),y) @@ -98,9 +107,8 @@ define BuildDescription endef define BuildIPKGVariable - pkg_$(subst .,_,$(subst -,_,$(1)))_$(2) = $$(Package/$(1)/$(2)) - export pkg_$(subst .,_,$(subst -,_,$(1))_$(2)) - $(1)_COMMANDS += if [ -n "$$$$$$$$pkg_$(subst .,_,$(subst -,_,$(1)))_$(2)" ]; then echo "$$$$$$$$pkg_$(subst .,_,$(subst -,_,$(1)))_$(2)" > $(2); fi; + $(call shexport,Package/$(1)/$(2)) + $(1)_COMMANDS += var2file "$(call shvar,Package/$(1)/$(2))" $(2); endef define BuildPackage @@ -168,22 +176,22 @@ define BuildPackage echo "Build-Depends: $(PKG_BUILDDEP)"; \ echo "Category: $(CATEGORY)"; \ echo "Title: $(TITLE)"; \ - echo "Description: $(DESCRIPTION)" | sed -e 's,\\,\n,g'; + echo "Description: $(DESCRIPTION)" | sed -e 's,\\,\n,g'; \ ifneq ($(URL),) DUMPINFO += \ - echo; \ - echo "$(URL)"; - endif - - DUMPINFO += \ - echo "@@"; - - ifneq ($(CONFIG),) - DUMPINFO += \ - echo "Config: $(CONFIG)" | sed -e 's,\\,\n,g'; \ - echo "@@"; + echo; \ + echo "$(URL)"; endif + + DUMPINFO += \ + echo "@@"; + + $(call shexport,Package/$(1)/config) + DUMPINFO += \ + if isset $(call shvar,Package/$(1)/config); then echo "Config: "; getvar $(call shvar,Package/$(1)/config); fi; \ + echo "@@"; + endif $(eval $(call BuildIPKGVariable,$(1),conffiles)) diff --git a/openwrt/include/shell.sh b/openwrt/include/shell.sh new file mode 100644 index 0000000000..6ee0cf6030 --- /dev/null +++ b/openwrt/include/shell.sh @@ -0,0 +1,15 @@ +getvar() { + eval "echo \"\${$1}\"" +} + +var2file() { + local var + eval "var=\"\${$1}\"" + if [ -n "$var" ]; then echo "$var" > "$2"; fi +} + +isset() { + local var + eval "var=\"\${$1}\"" + [ -n "$var" ] +} diff --git a/openwrt/package/busybox/Makefile b/openwrt/package/busybox/Makefile index c87701ad1e..f56d2462d7 100644 --- a/openwrt/package/busybox/Makefile +++ b/openwrt/package/busybox/Makefile @@ -31,10 +31,12 @@ define Package/busybox It slices, it dices, it makes Julian Fries. URL:=http://busybox.net/ MENU:=1 - CONFIG:=\\\ - menu "Configuration" \\\ - depends on PACKAGE_busybox \\\ - source "$(SOURCE)/config/Config.in" \\\ +endef + +define Package/busybox/config + menu "Configuration" + depends on PACKAGE_busybox + source "$(SOURCE)/config/Config.in" endmenu endef diff --git a/openwrt/rules.mk b/openwrt/rules.mk index 84163ba225..8e5294edb3 100644 --- a/openwrt/rules.mk +++ b/openwrt/rules.mk @@ -8,8 +8,7 @@ -include $(TOPDIR)/.config include $(TOPDIR)/include/verbose.mk -export SHELL=/bin/bash - +export SHELL=/usr/bin/env bash -c '. $(TOPDIR)/include/shell.sh; eval "$$2"' -- ARCH:=$(strip $(subst ",, $(CONFIG_ARCH))) TARGET_OPTIMIZATION:=$(strip $(subst ",, $(CONFIG_TARGET_OPTIMIZATION))) WGET:=$(strip $(subst ",, $(CONFIG_WGET))) |