使用autotools的多个构建标志

时间:2014-04-07 12:22:46

标签: c linux autotools c-preprocessor

我正在使用ncurses的C应用程序工作,这个CLI使用autotools进行构建。除了实际的应用程序,还有一个测试框架(切割器),并且有一些预处理器常量可以启用或禁用某些功能(例如,有一个连接所有ncurses窗口的常量WINDOW - 对管理窗口布局很有用)。 p>

当然,其中一些常量可以在编译时手动指定(即make),但我想有2个构建目标:debug和release。此外,切割器存在问题(配置检查它,如果要使用它,这应该发生,但我不能要求普通用户安装切割器进行编译)。所以,我正在考虑以下设置:创建一个启用测试的配置标志(默认情况下禁用)和2个make目标(make创建发布版本并进行调试,调试版本)。这个工作流程是正确的还是有更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

如果是我,我会使用AC_ARG_WITH来设置切割机测试框架所在的位置(例如包含/库路径)以及处理切割器的任何相关内容(例如预处理器标记),以及或更多AC_ARG_ENABLE个变量(或可能是AC_ARG_WITH)以启用其他预处理程序指令。这样您就不必维护调试目标。