在每个子目录 (sub-make) 的 Makefile.am 上使用相同的 CFLAGS
Using same CFLAGS on Makefile.am in each subdirectories (sub-make)
我有一个项目在每个子目录中都有一个 Makefile.am。
如何将 AM_CFLAGS
变量设置从父 Makefile.am 传播到其他子目录的 Makefile.am(子目录)?
我知道以下方法:
export
一个变量
include
声明到普通 ${top_srcdir}/Makefile_cflags.am
文件。
MAKEFLAGS
递归 make 不是一个选项,我回避 include
和 MAKEFLAGS
语句方法。
GNU 手册似乎没有明确概述将 compiler/linker 设置传播到子制作。
原来这是一个 autoconf
/configure.ac
的解决方案。 GNU 称之为 outputting a variable
.
将 CFLAGS
从父 Makefile
传播到每个子目录(子目录' Makefile), I added the following lines to
configure.ac`:
AC_SUBST(AM_CFLAGS)
然后对于每个子 make,我将以下行添加到 'import' 该变量:
AM_CPPFLAGS = @AM_CPPFLAGS@
然后执行 autogen.sh
重建 configure.in
、Makefile.in
和 Makefile
。然后执行 configure
并随即传播 AM_CFLAGS
。
对于 AM_CPPFLAGS
、AM_CXXFLAGS
和 AM_LDFLAGS
也是一个有用的解决方案。
此处提供 AC_SUBST
的更多详细信息:https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Setting-Output-Variables.html
我有一个项目在每个子目录中都有一个 Makefile.am。
如何将 AM_CFLAGS
变量设置从父 Makefile.am 传播到其他子目录的 Makefile.am(子目录)?
我知道以下方法:
export
一个变量include
声明到普通${top_srcdir}/Makefile_cflags.am
文件。MAKEFLAGS
递归 make 不是一个选项,我回避 include
和 MAKEFLAGS
语句方法。
GNU 手册似乎没有明确概述将 compiler/linker 设置传播到子制作。
原来这是一个 autoconf
/configure.ac
的解决方案。 GNU 称之为 outputting a variable
.
将 CFLAGS
从父 Makefile
传播到每个子目录(子目录' Makefile), I added the following lines to
configure.ac`:
AC_SUBST(AM_CFLAGS)
然后对于每个子 make,我将以下行添加到 'import' 该变量:
AM_CPPFLAGS = @AM_CPPFLAGS@
然后执行 autogen.sh
重建 configure.in
、Makefile.in
和 Makefile
。然后执行 configure
并随即传播 AM_CFLAGS
。
对于 AM_CPPFLAGS
、AM_CXXFLAGS
和 AM_LDFLAGS
也是一个有用的解决方案。
此处提供 AC_SUBST
的更多详细信息:https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Setting-Output-Variables.html