我有两个使用Automake构建的项目。以下是Automake.amS的简化版本:
AM_CPPFLAGS = -I/some/include_path
lib_LTLIBRARIES = libfoo.la
libfoo_la_SOURCES = foo.cpp
libegfconfig_la_LIBADD = -lxml2
和
AM_CPPFLAGS = -I/some/include_path # I want this to happen implicitly
lib_LTLIBRARIES = libbar.la
libbar_la_SOURCES = bar.cpp
libbar_la_LIBADD = $(top_builddir)/some/path/libfoo.la
第二个文件只需指定附加的包含路径,因为bar.cpp包含foo.hpp,其中包含来自/ some / include_path的内容。我希望第二个项目隐含地添加额外的包含路径,这是基于第一个项目这样做并且是依赖项的事实。
这可能吗?
答案 0 :(得分:1)
将包含路径放入Makefile.am不是一个好主意。如果用户已在非标准位置安装了标头,则让用户通过在要配置的命令行或CONFIG_SITE中向CPPFLAGS添加适当的-I子句来告知配置。这听起来像你真正想要做的是
CPPFLAGS=-I/some/include_path
在/usr/local/share/config.site或$ CONFIG_SITE中,不包含在任一项目的Makefile.am中。
答案 1 :(得分:0)
不,这对Automake来说是不可能的。
答案 2 :(得分:0)