【发布时间】:2015-04-30 10:41:55
【问题描述】:
使用 GNU-make,假设我的 Makefile 中有两个列表,我想将它们组合起来以将它们的 Cartesian product 作为另一个列表,以便我可以将其用作目标列表。
作为我更了解的另一种语言的示例,R has a function expand.grid() 可以完成此操作。
我实际上想出了一个使用 Makefile 的方法:
.PHONY: all
prefix := 1 2
base := A B
add_prefix = $(addsuffix $(base), $(prefix))
Obj = $(foreach base, $(base), $(add_prefix))
all:
@echo $(Obj)
但是,这很 hacky,并且没有以直观的方式使用 addsuffix 函数。有更好的方法吗?
【问题讨论】:
标签: makefile gnu-make cartesian-product