我应该通过Makefile编译用C编写的程序。我应该在Makefile中插入一些选项,例如:-O2, -march=i686
。我如何在Makefile中插入这个选项而不写入它?在不编辑的情况下添加编译器选项Makefile
回答
你应该使用像CFLAGS这样的宏。查看GNU GCC documentation。
像这样的东西应该工作:
CFLAGS := $(CFLAGS) -O2 -march=i686
或者,如果你不喜欢修改Makefile使用:
make CFLAGS='-O2 -march=i686'
其他选项会虽然自动拾取。见overriding variables。
请注意,CFLAGS可能是从复杂的子宏创建的。重写其中一个子宏可能会更好。如果在CFLAGS中没有相互矛盾的选项,我经常使用''使CC =“gcc -O2 -march = i686”'“来达到理想的结果。 – 2010-08-30 18:23:28
在我工作的地方,我们使用专用的用户定义宏来处理这样的事情 - ADDED_CFLAGS,ADDED_ASMFLAGS,ADDED_EXEFLAGS,... – Sparky 2010-08-30 19:06:39
make文件中有时会有一些变量允许您在不重写任何内容的情况下添加其他标志:例如'XCFLAGS','XLIBS'。看看makefile。 – 2015-10-12 10:35:02
- 1. 在不使用makefile的情况下编译头文件
- 2. Xcode makefile或编译选项
- 3. gcc 4.3.3缺省情况下启用编译器选项
- 4. 如何在不添加不可达代码的情况下编译异步lambda?
- 5. 如何在不崩溃编译器的情况下实现MutableCollectionType?
- 6. 在没有Gui编辑器的情况下向Gui添加3个jTextArea
- 7. RxJava编译下列情况下错误
- 8. 在不编辑的情况下将自定义单元添加到UITableview
- 9. 为什么在这种情况下编译器不会抱怨?
- 10. 编译器可以在没有扩展的情况下编译代码吗?
- 11. 如何在没有QtCreator的情况下编译Qt 5项目?
- 12. 如何在jqGrid中添加和编辑表单的不同编辑选项
- 13. 默认情况下,UITableView编辑模式
- 14. jqGrid:如何在启用表单编辑的情况下在每一行添加编辑和删除按钮?
- 15. C#编辑器和编译器首选项
- 16. 如何添加编辑选项列表
- 17. “你必须在奇怪的情况下添加对汇编的引用”编译器错误
- 18. 如何在不打开编辑器的情况下在VBA编辑器中动态打开类对象?
- 19. 在没有编辑的情况下将样式添加到h1标记
- 20. 在没有编辑XML的情况下从后端添加小部件
- 21. 如何在不编译宏的情况下启动excel?
- 22. 在不编译DLL的情况下部署asp.net应用程序
- 23. 如何在不重新编译FLA的情况下更新SWF
- 24. Scala代码在不使用scalac编译的情况下运行?
- 25. 如何在不调试的情况下编译PHP扩展?
- 26. git:在不使用编辑器的情况下在现有提交的末尾添加行
- 27. Makefile/double编译
- 28. “编译项目”在Word 2010 VBA编辑器中不可用
- 29. 在Android Studio xml编辑器中添加第三个选项卡
- 30. 如何在不编译当前项目的情况下启动psci?
我们可以看到你的Makefile中已经有了什么吗? – Starkey 2010-08-30 17:59:33
它必须是通用的Makefile – Gnufabio 2010-08-30 18:02:17
http://stackoverflow.com/questions/1250608/passing-a-gcc-flag-through-makefile – 2016-02-22 14:52:35