使用autotools禁用特定文件的优化

时间:2015-03-02 15:01:40

标签: makefile autotools

我正在为一个大型代码库设置autotools,这个代码库曾经只是一个bash脚本编译,之后只是手工编写的Makefile。

我们有一组文件需要关闭编译器优化。这些文件已经在它们自己的子目录中,因此它们将拥有自己的Makefile.am。

删除任何现有编译器优化的正确方法是什么,并在编译器上为这些特定文件强制-O0标志?

2 个答案:

答案 0 :(得分:2)

我选择了Brett Hale的评论来使用subpackages。我能够插入

: ${CFLAGS="-O0"}
AC_PROG_CC之前的

,它设置了适当的优化。其他解决方案不起作用,因为-g -O2被添加到最后。你永远不能得到另一个-O变量。

答案 1 :(得分:-1)

您不必删除现有的优化:将使用编译器调用的-O的最后一个值,因此最好只在末尾添加-O0

automake不直接支持,但文档中定义了a trick you can use

否则,如果你知道你只会用GNU make调用你的makefile,你可以玩其他GNU特定的技巧;您可能必须禁用有关非便携式内容的automake警告。