壓縮列表
Version = GNU make
這個 pairmap
函式有三個引數:
- 功能名稱
- 第一個以空格分隔的列表
- 第二個以空格分隔的列表
對於列表中的每個壓縮元組,它將使用以下引數呼叫該函式:
- 第一個列表中的元組元素
- 第二個列表中的元組元素
它將擴充套件為以空格分隔的函式擴充套件列表。
list-rem = $(wordlist 2,$(words $1),$1)
pairmap = $(and $(strip $2),$(strip $3),$(call \
$1,$(firstword $2),$(firstword $3)) $(call \
pairmap,$1,$(call list-rem,$2),$(call list-rem,$3)))
例如,這個:
LIST1 := foo bar baz
LIST2 := 1 2 3
func = $1-$2
all:
@echo $(call pairmap,func,$(LIST1),$(LIST2))
.PHONY: all
將列印 foo-1 bar-2 baz-3
。