如何在GNUmakefile中检索参数
不确定是否有人知道这个问题的答案,我环顾四周,还没有找到解决办法。我有一个makefile,如下所示:如何在GNUmakefile中检索参数,makefile,Makefile,不确定是否有人知道这个问题的答案,我环顾四周,还没有找到解决办法。我有一个makefile,如下所示: MODELS := abc def all: all_models all_models: $(foreach m,$(MODELS),test$(m)) test%: echo $(subst test,,$@) Output: echo abc abc echo def def 我知道$(m
MODELS := abc def
all: all_models
all_models: $(foreach m,$(MODELS),test$(m))
test%:
echo $(subst test,,$@)
Output:
echo abc
abc
echo def
def
我知道$(m)abc和def是通过test%传入的:我的问题是,如果出于某些文件依赖性原因,我必须硬编码test%:到类似“test”的东西:我如何检索参数,即abc和def?例如,新条款如下
test:
# how do I retrieve abc and def from MODELS ?
谢谢我仍然不认为你是在要求你真正想要的东西,但事情是这样的 在文件
模型中
:
MODELS := abc def ghi jkl
在makefile中:
include models
test:
@echo do something with $(word 1,$(MODELS))
@echo MODELS := $(wordlist 2,$(words $(MODELS)), $(MODELS)) > models
官方的GNU make手册大约有200页长,包括索引,你可能很快就能阅读它,我没有找到解决方案。也许做不到?你的要求很简单。我想你心里有一个不同的问题。对,很抱歉没有把我的问题说清楚。我的意思是在第一次执行test:时检索“abc”,在第二次执行test:时检索“def”,等等。为什么在您的“硬编码”情况下,
test
会多次运行?在您的宇宙中,静态目标如何以不同的依赖关系运行?