在C文件file.c中我有
#define STUFF
我想要一个Makefile,以便我可以阻止在file.c中定义STUFF。我想仅使用Makefile来控制编译(我不想直接在.c文件中注释掉这一行。)
gcc有-D选项。我能做到
gcc -D STUFF file.c -o output
用于定义STUFF;但我不能Undefine STUFF调用gcc或使用Makefile(当然在Makefile中调用gcc)。
任何提示?
答案 0 :(得分:6)
#define STUFF
#ifdef REMOVE_STUFF
#undef STUFF
#endif
然后使用gcc -DREMOVE_STUFF ...
答案 1 :(得分:2)
您需要更改file.c,如果不更改源文件,则无法执行此操作。 例如做到:
#ifdef ENABLE_STUFF
#define STUFF
#endif
让你的makefile添加-DENABLE_STUFF
标志