假设我的 Makefile 中有以下规则:
foo: foo1.c foo2.c head1.h head2.h
gcc -o $@ foo1.c foo2.c
正如您所看到的,在这种情况下 - 在大多数情况下 - 规则中的 .c 文件对应于您传递给 gcc 的 .c 文件。我的问题是,是否有一个可以传递给 Makefile 的变量来评估“规则中的所有 .c 文件”?
就个人而言,我使用以下内容:
CFILES=$(filter %.c,$^)
foo: foo1.c foo2.c head1.h head2.h
gcc -o $@ $(CFILES)
但我不确定这是否是正确的方法......