CFLAGS这个术语在Makefile中有什么意义吗?

时间:2014-10-03 19:09:34

标签: gcc makefile

我想知道我是否正在制作一个makefile。而不是使用CFLAGS我使用CFLAGS_1,这是否有效。这是因为尝试使用逻辑(使用ifeq和else),如果我必须编译两组文件,例如A.c和B.c但B.c依赖于共享对象,所以我想更改用于它的CFLAGS。但是,我无法让它工作。

${PROG}: ${OBJS}
     ${CC} ${CFLAGS} -o ${PROG} ${OBJS} ${LDFLAGS}

2 个答案:

答案 0 :(得分:1)

使用CFLAGS_1很好,它只是不适用于已经使用CFLAGS的任何内置规则。

虽然这回答了你实际问过的问题,但我觉得你没有提出的问题是更相关的问题。

答案 1 :(得分:1)

您想要的是“特定于目标”的变量:一个变量,其值取决于我们正在构建的文件:

A : CFLAGS := ...

B : CFLAGS := ...

PROG := A B
${PROG}:...
    here you can use ${CFLAGS} and it will be the one assigned for the target you are building