使用GNU-make,假设我的Makefile中有两个列表,并且我想将它们组合起来以将其笛卡尔积作为另一个列表,以便可以将其用作目标列表。
作为我更了解另一种语言的示例,R具有一个功能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函数。有更好的方法吗?
为什么不将它分为两个循环呢?
obj := $(foreach X,$(prefix),$(foreach Y,$(base),$X$Y))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句