From: Andreas Rottmann <a.rottmann(a)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(a)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)
--
2.1.4