2011-09-23 85 views
10

我有许多.c.h文件,通过将代码块放入预处理器指令中来禁用部分代码。为make中的所有文件定义预处理器变量

#ifdef FOOBAR 
// some code that can be compiled if needed by defining FOOBAR in pre-processor. 
#endif 

不,我需要定义FOOBAR使得它的每一个由使用GCC编译make文件中定义。

有没有办法做到这一点做一些选择或Makefile

谢谢。

回答

16

编译器选项-DFOOBAR添加到make变量CFLAGS

+3

应当指出的是,这不只是一个gcc主义但对于C编译器调用POSIX标准的一部分。 –

+0

谢谢......尽管我有几个文件夹,每个文件夹都有自己的'Makefile',并且我必须将这个'CFLAGS = ...'添加到它们中的每一个中。我希望在调用make时有这样的事情。像例如'make -flags -DFOOBAR'或类似的东西。但是,谢谢你的回答。 – mtahmed

+4

@ mtahmed,有。只要将变量定义放在make的命令行中,'make CFLAGS =' - O3 -march = native -DFOOBAR'' –