From: Andreas Rottmann a.rottmann@gmx.at
Having subdir-objects enabled is recommended by automake 1.14, to avoid future incompatibilities.
However, adding that option breaks out-of-tree builds, and also seems to break "make distclean" for in-tree builds. The reason is that apparently, automake with subdir-objects enabled cannot cope with source files in a different, non-child directory. To avoid that, instead of referencing the source files, we (just) link against that library. --- configure.ac | 2 +- tests/sccp/Makefile.am | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac index 49c5f7e..2b4062b 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_INIT([libosmo-sccp], m4_esyscmd([./git-version-gen .tarball-version]), [openbsc@lists.osmocom.org])
-AM_INIT_AUTOMAKE([dist-bzip2]) +AM_INIT_AUTOMAKE([subdir-objects dist-bzip2]) AC_CONFIG_TESTDIR(tests)
dnl kernel style compile messages diff --git a/tests/sccp/Makefile.am b/tests/sccp/Makefile.am index 8cce20c..c22801a 100644 --- a/tests/sccp/Makefile.am +++ b/tests/sccp/Makefile.am @@ -5,6 +5,6 @@ EXTRA_DIST = sccp_test.ok
noinst_PROGRAMS = sccp_test
-sccp_test_SOURCES = sccp_test.c $(top_srcdir)/src/sccp.c -sccp_test_LDADD = $(LIBOSMOCORE_LIBS) +sccp_test_SOURCES = sccp_test.c +sccp_test_LDADD = $(top_builddir)/src/libsccp.a $(LIBOSMOCORE_LIBS)