From 0faf99b80e69821dc5a42aad15b139c9e4cbf450 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 4 Feb 2014 15:08:25 -0500 Subject: [PATCH] Fix: out of tree examples build Fixes #664 Fixes #703 Signed-off-by: Mathieu Desnoyers --- doc/examples/Makefile.am | 46 +++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 1e1423c7..e19af38c 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -48,33 +48,49 @@ SUBDIRS_PROXY = easy-ust demo gen-tp hello-static-lib all-local: @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ - cp -f $(srcdir)/Makefile.examples.template $(builddir); \ for subdir in $(SUBDIRS_PROXY) $(SUBDIRS_JUL); do \ cp -fR $(srcdir)/$$subdir $(builddir); \ done; \ - fi + fi; \ + if [ x"$(shell echo "$(top_srcdir)" | grep "^/" | wc -l)" = x"1" ]; then \ + echo "Examples: absolute top_srcdir path $(top_srcdir)"; \ + rel_src_subdir=""; \ + else \ + echo "Examples: relative top_srcdir path $(top_srcdir)"; \ + rel_src_subdir="../"; \ + fi; \ + if [ x"$(shell echo "$(top_builddir)" | grep "^/" | wc -l)" = x"1" ]; then \ + echo "Examples: absolute top_builddir path $(top_builddir)"; \ + rel_build_subdir=""; \ + else \ + echo "Examples: relative top_builddir path $(top_builddir)"; \ + rel_build_subdir="../"; \ + fi; \ for subdir in $(SUBDIRS_PROXY); do \ - (cd $$subdir && $(MAKE) AM_CC="$(CC)" AM_CPPFLAGS="$(CPPFLAGS) -I../../../include/" AM_CFLAGS='$(CFLAGS)' AM_LDFLAGS='$(LDFLAGS) -L../../../liblttng-ust/.libs/ -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/"' LTTNG_GEN_TP_PATH="../../../tools/" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ - done - @if [ x"$(SUBDIRS_JUL)" != x"" ]; then \ + (cd $$subdir && $(MAKE) AM_CC="$(CC)" AM_CPPFLAGS="$(CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ -I$$rel_build_subdir$(top_builddir)/include/" AM_CFLAGS='$(CFLAGS)' AM_LDFLAGS='$(LDFLAGS) -L../../../liblttng-ust/.libs/ -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/"' LTTNG_GEN_TP_PATH="../../../tools/" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ + done; \ + if [ x"$(SUBDIRS_JUL)" != x"" ]; then \ for subdir in $(SUBDIRS_JUL); do \ (cd $(SUBDIRS_JUL) && $(MAKE) JAVA_CLASSPATH_OVERRIDE="../../../liblttng-ust-jul" JAVA_JARFILE_OVERRIDE="liblttng-ust-jul.jar" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ done; \ - fi + fi; clean-local: - for subdir in $(SUBDIRS_PROXY); do \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) clean && cd ..) || exit 1; \ - done - @if [ x"$(SUBDIRS_JUL)" != x"" ]; then \ - for subdir in $(SUBDIRS_JUL); do \ + @for subdir in $(SUBDIRS_PROXY); do \ + if [ -d $$subdir ]; then \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) clean && cd ..) || exit 1; \ + fi; \ + done; \ + if [ x"$(SUBDIRS_JUL)" != x"" ]; then \ + for subdir in $(SUBDIRS_JUL); do \ + if [ -d $$subdir ]; then \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) clean && cd ..) || exit 1; \ + fi; \ done; \ - fi - @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ + fi; \ + if [ x"$(srcdir)" != x"$(builddir)" ]; then \ for subdir in $(SUBDIRS_PROXY) $(SUBDIRS_JUL); do \ rm -rf $(builddir)/$$subdir; \ done; \ - rm -f $(builddir)/Makefile.examples.template; \ - fi + fi; endif -- 2.34.1