我有一个场景,我需要使用相同的C文件来构建具有不同CFLAGS的不同目标。
让我们说像我有common1.c common2.c common3.c常用文件。
Target1有其他文件a.c b.c和CFLAGS为CFLAGS1
Target2有其他文件1.c 2.c和CFLAGS为CFLAGS2
Target1需要使用CFLAGS1编译的公共文件 Target2需要使用CFLAGS2编译的公共文件。
我该怎么做。
先谢谢你 卡塔斯
答案 0 :(得分:0)
所以我认为文档的这一部分就是你所追求的: https://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html
"目标特定变量还有一个特殊功能:当您定义特定于目标的变量时,变量值对该目标的所有先决条件及其所有先决条件等都有效(除非这些先决条件使用自己的特定于目标的变量值覆盖该变量。因此,例如,这样的声明:"
prog : CFLAGS = -g
prog : prog.o foo.o bar.o
阅读页面非常重要,因为需要这样的配方(或只是执行它)有一些含义