关键是我希望将一些依赖关系集中在一个变量中,但依赖关系本身包含在变量中。
a=meow
b=squeek
$(a):
touch $@
$(b):
touch $@
targs=$(a) $(b)
all: $(targs)
在实际案例中,a和b的规则不同,所以我需要将它们放在不同的目标中。
当我尝试构建这样的目标时,只执行最后一次嵌套依赖:
$ make
touch meow
$ ls
. .. Makefile meow
有人可以解释一下我如何解决问题或我错在哪里? 我可以制作一个像targ这样的虚假目标:$(a)$(b),但如果有办法保持我提到的结构,我想知道它。
提前致谢!
UPD:已解决。我的错误:我没有运行make all
而是运行了make
并执行了第一个目标,而不是all
。
答案 0 :(得分:0)
Make的默认设置是使用Makefile中的第一个目标。将 all 目标移动到开头或在Makefile中的某处使用以下行
.DEFAULT_GOAL := all