我应该通过Makefile编译用C编写的程序。我应该在Makefile中插入一些选项,例如:-O2, -march=i686
。如何在不写入文件的情况下在Makefile中插入此选项?
答案 0 :(得分:20)
您应该使用像CFLAGS这样的宏。查看GNU GCC documentation。
这样的事情应该有效:
CFLAGS := $(CFLAGS) -O2 -march=i686
或者,如果您不想修改makefile,请使用:
make CFLAGS='-O2 -march=i686'
其他选项会自动被选中。请参阅overriding variables。
答案 1 :(得分:0)
例如,如果您想链接特定的库(例如 -lm),这可能会很麻烦。如果您并不总是需要 math.h,将它放入 make 似乎有点过分。我希望有一种方法可以运行 make 并动态添加链接器库。除非我误解了文档。