【问题标题】:Automake: conditionally build subdirectoriesAutomake:有条件地构建子目录
【发布时间】:2021-11-01 20:54:13
【问题描述】:

在我的 Automake 项目中,我有一定数量的子包,我想根据配置时间选项在其中切换。根据 Automake 文档,这是可能的:https://www.gnu.org/software/automake/manual/html_node/Subdirectories-with-AC_005fSUBST.html

所以我正在做以下事情:

# configure.ac

if test_condition_1 ; then
    SUBDIR_TO_BUILD=dir1
elif test_condition_2 ; then 
    SUBDIR_TO_BUILD=dir2
else
    SUBDIR_TO_BUILD=dir3
fi

AC_SUBST(SUBDIR_TO_BUILD)
...

# Makefile.am
SUBDIR_TO_BUILD=@SUBDIR_TO_BUILD@
SUBDIRS=$(SUBDIR_TO_BUILD)
DIST_SUBDIRS=dir1 dir2 dir3
...

但是,如果我尝试运行 autoreconf,我会收到以下错误:

Makefile.am:4: error: required directory $(SUBDIR_TO_BUILD) does not exist

【问题讨论】:

    标签: autotools automake


    【解决方案1】:

    实际上,我实现了上述工作。我真正在做的是AC_SUBST子目录路径的一个组成部分而不是完整的子目录路径,并在SUBDIRS中组装最终路径如下:

    # Makefile.am
    SUBDIR_TO_BUILD=@SUBDIR_TO_BUILD@
    SUBDIRS=external/$(SUBDIR_TO_BUILD)
    DIST_SUBDIRS=external/dir1 external/dir2 external/dir3
    ...
    

    这会导致错误。虽然,我不确定为什么第一个有效而第二个无效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多