我是Makefiles的新手,对Makefile中的变量有疑问。
让我说,我有
dirs := $(shell PERL5OPT="" get-list.pl)
其中, get-list.pl说返回b c d
现在我想制作一些新的变量dirs_a,dirs_b,dirs_c等。
我目前的表现如下:
dirs := $(shell PERL5OPT="" get-list.pl)
dirs_$(var) := $(shell PERL%OPT="" some-other-perl-file.pl $(var))
define new-var
$(foreach var,$(dirs),$(dirs_$(var)))
endef
final-target:
$(new-var)
这似乎不起作用,并且没有参数传递给some-other-perl-file.pl。有人可以指出我做错了吗?
答案 0 :(得分:0)
_dirs := $(shell PERL5OPT="" get-list.pl)
dirs=$(_dirs:%=dir_%)
这应该解决它。
它会:
a b c d
到
dir_a dir_b dir_c dir_d