ライブラリの簡単なテストをいくつか書いています。また、Makefile.am ファイルをできる限りきれいに保とうとしているので、デフォルトの _SOURCES機能に頼ろうとしています。これは私の現在の 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
私が書いたすべてのテストプログラムを指定する必要がないようにする方法はありますか?
おまけ: 彼らは皆、自分たちにも mylib.la を入れたいと思っている*_LDADD
ので、テストプログラムごとに指定する代わりに、これをグローバルに達成する方法はありますか?
編集:プレフィックスなしで使用LDADD
して、コンパイルされたすべてのプログラムに適用できることがわかりました。それは少し役立ちます...今、理解するために*_SOURCES
...