配置脚本中的 CFLAGS

CFLAGS in configure script

我通常在编写自己的代码时使用 IDE。对make、configure脚本等不是很了解

我现在正在做一个大型复杂的现有项目,构建步骤是:

./autogen.sh
./configure
make

我写了自己的 C 文件并将它们添加到 Makefile.am。然后我重复这个过程来构建。

一切都很好,除了一件事。我想在没有任何编译器选项(如 -Wall)的情况下进行构建。有人告诉我,像这样使用 CFLAGS 会给我想要的东西:

./configure CFLAGS=-O0

好像不行,因为编译器还是用了-Wall选项。我可以从配置脚本中的 CFLAGS="..." 手动删除所有出现的 -Wall 。这很烦人,但它有效。但是当我执行

./autogen.sh

配置脚本已重置,所有 -Walls(和其他我不想要的 CLFAGS)都回到了原来的位置。 (我不确定,但我认为我每次向 Makefile.am 添加新文件时都必须 运行 autogen.sh。)

有没有更好的方法来处理这个问题?

最简单的方法可能是在实际 构建 时使用 make:

make CFLAGS=-O0

虽然这对于该版本来说只是暂时的,但不会是永久的。

做一个

./configure --help

显示

Some influential environment variables: ...
  CFLAGS      C compiler flags

更好的方法是

env CFLAGS="-O0" ./configure

然后一个简单的

make

如你所愿。这有助于设置其他编译标志。