使用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)
Run Code Online (Sandbox Code Playgroud)
但是,这非常hacky并且不以直观的方式使用addsuffix功能.有没有更好的方法呢?