配置脚本中的 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
如你所愿。这有助于设置其他编译标志。
我通常在编写自己的代码时使用 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
如你所愿。这有助于设置其他编译标志。