2014-09-11 37 views
3

我有被构造这样一个递归的autoconf + automake的项目:每个子项目LIBS的Autotools可能?

+ 
|- configure.ac 
|- Makefile.am 
|- Makefile.in 
|- ... 
|-- (subdir1) --+ 
|    |- Makefile.am 
|    |- source.c 
|    |- ... 
| 
|-- (subdir2) --+ 
|    |- Makefile.am 
       |- source.c 
       |- ... 

顶层配置/生成文件检查各种库可(AC_CHECK_LIB),然后建立在子目录的库(如果选择) 。

的问题是,被传递到每个子目录化妆的LIBS变量包含所有需要的库的联盟,即:

# each subdir sees: 
LIBS = -lfoo -lbar -lbaz -lbif 

但我想要的是:

# subdir1 gets 
LIBS = -lfoo -lbar 

# subdir2 gets 
    LIBS = -lbaz -lbif 

有一个机制来指定每个子项目LIBS?

回答

2

在你的顶级Makefile.am在子目录中使用变量名称每个库

LIBFOO = -lfoo

LIBBAR = -lbar

参考$(libfoo的)和$(libbar的)

相关问题