ここでは、静的ライブラリを使用すると仮定します。これにより、作業が簡単になります。
あなたの共通ライブラリには独自のconfigure.acとMakefile.amがあり、おそらく の下にライブラリを定義しているように見えますnoinst_LIBRARIES。
ライブラリを使用するプロジェクトには、次のような svn external を介して共通ライブラリがインポートされます。
foo/
foo/configure.ac
foo/Makefile.am
foo/...
foo/libcommon/
foo/libcommon/configure.ac
foo/libcommon/Makefile.am
foo/libcommon/...
foo のconfigure.acに、 への呼び出しを追加しますAC_CONFIG_SUBDIRS([libcommon])。fooMakefile.amに、 を追加しSUBDIRS = libcommonます。この 1 つのレベルを除いて、foo と libcommon の両方が非再帰的である可能性があります。foo'sMakefile.amでは、次のようなものを追加しますLDADD = libcommon/libcommon.a。のようなものを追加する必要がある場合もありますAM_CPPFLAGS = -I$(srcdir)/libcommon/include。
次に、foo を構成すると、libcommon が構成されてビルドされます。ライブラリが noinst として宣言されているという事実は、静的にリンクされるだけで、ファイルシステムにはインストールされないことを意味します。