diff options
author | Felix Fietkau <nbd@openwrt.org> | 2016-01-03 20:57:53 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2016-01-03 20:57:53 +0000 |
commit | c77cd9461b123d7f909f77a8eddf0a9a325f8235 (patch) | |
tree | 6c5f9ff6c36111cdcdbbf4870418cabe45f8e3da /rules.mk | |
parent | ebfd643593e1f5428a8007a05249640fbebfe94f (diff) | |
download | master-187ad058-c77cd9461b123d7f909f77a8eddf0a9a325f8235.tar.gz master-187ad058-c77cd9461b123d7f909f77a8eddf0a9a325f8235.tar.bz2 master-187ad058-c77cd9461b123d7f909f77a8eddf0a9a325f8235.zip |
build: add pure make tolower/toupper funtions that do not require shell calls
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48105 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'rules.mk')
-rw-r--r-- | rules.mk | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -26,6 +26,11 @@ merge=$(subst $(space),,$(1)) confvar=$(call merge,$(foreach v,$(1),$(if $($(v)),y,n))) strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1)) +paren_left = ( +paren_right = ) +chars_lower = a b c d e f g h i j k l m n o p q r s t u v w x y z +chars_upper = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z + define sep endef @@ -35,6 +40,15 @@ define newline endef +__tr_list = $(join $(join $(1),$(foreach char,$(1),$(comma))),$(2)) +__tr_head_stripped = $(subst $(space),,$(foreach cv,$(call __tr_list,$(1),$(2)),$$$(paren_left)subst$(cv)$(comma))) +__tr_head = $(subst $(paren_left)subst,$(paren_left)subst$(space),$(__tr_head_stripped)) +__tr_tail = $(subst $(space),,$(foreach cv,$(1),$(paren_right))) +__tr_template = $(__tr_head)$$(1)$(__tr_tail) + +$(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper))) +$(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower))) + _SINGLE=export MAKEFLAGS=$(space); CFLAGS:= ARCH:=$(subst i486,i386,$(subst i586,i386,$(subst i686,i386,$(call qstrip,$(CONFIG_ARCH))))) |