我正在为我的库编写一些简单的测试,我试图尽可能地保持我的Makefile.am文件的整洁,所以我试图依赖于资料来源功能。这是我现在的Makefile.am:
AM_CPPFLAGS = $(MYLIB_CFLAGS) -I..
AM_DEFAULT_SOURCE_EXT = .vala
AM_LDFLAGS = $(MYLIB_LIBS)
VALAFLAGS = -D GLIB_2_32 --vapidir=../ --pkg mylib_internal --pkg libsoup-2.4 --pkg json-glib-1.0 --pkg gee-1.0
TESTS = autocomplete
check_PROGRAMS = autocomplete
autocomplete_LDADD = ../mylib.la
autocomplete_SOURCES = autocomplete.vala common.vala
CLEANFILES = *.c
如果我省略了autocomplete_SOURCES
变量,就会自动使用autocomplete.vala,这很好(按照默认的_SOURCES功能),但是我也需要包括common.vala。事实上,我将要编写的每个测试程序都希望在源文件列表中包含这个common.vala。有没有办法不需要为我编写的每个测试程序指定*_SOURCES
?
奖金:他们都希望在他们的*_LDADD
中也有*_LDADD
,所以,我是否有办法在全球范围内完成这个任务,而不是为每个测试程序指定它?
编辑:--我发现您可以使用没有前缀的LDADD
来使其应用于每个编译的程序。这有点帮助..。现在要找出*_SOURCES
..。
发布于 2013-06-01 19:44:15
没有办法做到这一点。
如果需要的话,您可以在任何地方引入一个变量:
general_stuff = whatever.vala
x_SOURCES = $(general_stuff) ...
y_SOURCES = $(general_stuff) ...
https://stackoverflow.com/questions/15991636
复制相似问题