Makefile基于其他变量的新变量

时间:2014-04-03 12:14:36

标签: variables makefile

我是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。有人可以指出我做错了吗?

1 个答案:

答案 0 :(得分:0)

_dirs := $(shell PERL5OPT="" get-list.pl)
dirs=$(_dirs:%=dir_%)

这应该解决它。

它会:

  

a b c d

  

dir_a dir_b dir_c dir_d