首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件AC_OUTPUT

条件AC_OUTPUT
EN

Stack Overflow用户
提问于 2013-04-08 16:15:45
回答 1查看 439关注 0票数 1

我想维护一个配置文件,它生成一组不同的Makefile,这取决于配置脚本被赋予了什么标志。更具体地说,我希望make dist生成项目中所有目录的子集。

例如,假设我有包含Makefile.am和所有其他必要内容的project/a project/b, project/c目录,以便能够使用./autogen.sh && ./configure && make编译项目。现在,假设我想从发行版tarball中省略目录project/b project/c。我尝试了以下几种方法:

代码语言:javascript
复制
AS_IF([test "x$for_dist" == "xyes"], 
      [CONDITIONAL_MAKEFILES=""], 
      [CONDITIONAL_MAKEFILES="b/Makefile c/Makefile"]
)

AC_OUTPUT(Makefile a/Makefile ${CONDITIONAL_MAKEFILES})

这不管用,我得到了config.status: error: cannot find input file: b/Makefile.in。如果我不使用变量来指定输出Makefile,它会工作得很好。

你有什么办法让它工作吗?

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-08 18:31:33

我找到了解决方案-

使用AC_CONFIG_FILES而不是AC_OUTPUT可以实现更大的灵活性。例如,参考上面的示例:

代码语言:javascript
复制
AS_IF([test "x$for_dist" == "xyes"], [AC_CONFIG_FILES(b/Makefile c/Makefile)] )

AC_OUTPUT(Makefile a/Makefile)

如果for_dist的值为yes,这将输出三个Makefile,否则将仅输出一个Makefile。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15874325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档