我有一个简单的 Autotools C 项目(不是 C++)。
CFLAG(通过检查)似乎是-g -O2
.
我希望所有生成的 make 文件也-std=gnu99
附加到 CFLAG,因为我使用for (int i = 0; i < MAX; i++)
和类似的。
我显然可以破解 Makefile,但这会在./configure
.
添加(或更改)代码所需的 CFLAG(而不是用户可能想要更改的那些 CFLAG)的正确位置在哪里?
(请注意,这是在(Eclipse CDT)自动工具项目中添加 CFLAG 的位置的部分副本,例如 -std=gnu99,因为我得到了我不想要的 Eclipse 特定答案。)
@DevSolar 的回答还没有帮助。一个configure.ac
文件(下)生成configure
脚本(也在下)。
配置.ac:
dnl Process this file with autoconf to produce a configure script.
CFLAGS="$CFLAGS -std=gnu99"
AC_PREREQ(2.59)
AC_INIT(tuntest, 1.0)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE()
AC_PROG_CC
AC_CONFIG_FILES(Makefile src/Makefile)
AC_OUTPUT
$ grep CFLAGS 配置
CFLAGS
CFLAGS
To assign environment variables (e.g., CC, CFLAGS...), specify them as
CFLAGS C compiler flags
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
CFLAGS="-g"
CFLAGS=""
CFLAGS="-g"
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
CFLAGS="-g -O2"
CFLAGS="-g"
CFLAGS="-O2"
CFLAGS=
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'