基于当前目标的 Makefile 依赖目标

Vin*_*nod 5 dependencies gnu makefile target

我的 Makefile 中有以下代码:

Target0: Deps0 Common Rule to build Target Target1: Deps1 Common Rule to build Target ...

我的问题是,由于所有目标都有一个共同的规则,是否有任何方法可以将目标组合成单个目标并指定目标特定的依赖关系?

Eta*_*ner 5

请参阅GNU Make 手册中的“一条规则中的多个目标”“一个目标的多个规则”

$ cat Makefile.common
all: Target0 Target1

Target0: Deps0
Target1: Deps1

Deps%:
        @echo 'Making $@'

Target0 Target1:
        @echo 'Making $@ from $^'

$ make -f Makefile.common
Making Deps0
Making Target0 from Deps0
Making Deps1
Making Target1 from Deps1
Run Code Online (Sandbox Code Playgroud)