Port: Fixes to build system for portability
[urcu.git] / doc / examples / Makefile.am
index 72fed25e9fbb2038ac585ff61f6d8cc673af378e..313f5215b254f908eeab9502f455ef67ef3a41b6 100644 (file)
@@ -115,34 +115,42 @@ if NO_SHARED
 # Don't build examples if shared libraries support was explicitly
 # disabled.
 else
+
+SUBDIRS_PROXY = hlist list urcu-flavors wfcqueue rculfqueue \
+       wfstack lfstack rculfhash
+
 # Copies are for VPATH build support.
 all-local:
        @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
-               cp -fR $(srcdir)/dist-files $(builddir); \
-               cp -fR $(srcdir)/hlist $(builddir); \
-               cp -fR $(srcdir)/list $(builddir); \
-               cp -fR $(srcdir)/urcu-flavors $(builddir); \
-               cp -fR $(srcdir)/wfcqueue $(builddir); \
-               cp -fR $(srcdir)/rculfqueue $(builddir); \
-               cp -fR $(srcdir)/wfstack $(builddir); \
-               cp -fR $(srcdir)/lfstack $(builddir); \
-               cp -fR $(srcdir)/rculfhash $(builddir); \
-               cp -f $(srcdir)/Makefile.examples.template $(builddir); \
-       fi
-       $(MAKE) -f dist-files/Makefile AM_CPPFLAGS="-I../../../urcu/ -I../../../" AM_LDFLAGS='-L../../../.libs/ -Wl,-rpath="$(PWD)/../../.libs/"' $(AM_MAKEFLAGS) all
+               cp -pfR $(srcdir)/dist-files $(builddir); \
+               cp -pf $(srcdir)/Makefile.examples.template $(builddir); \
+               for subdir in $(SUBDIRS_PROXY); do \
+                       cp -pfR $(srcdir)/$$subdir $(builddir); \
+               done; \
+       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; \
+       $(MAKE) -f dist-files/Makefile AM_CC="$(CC)" AM_CPPFLAGS="$(CPPFLAGS) -I$$rel_src_subdir/$(top_srcdir)/ -I$$rel_build_subdir$(top_builddir)/" AM_CFLAGS='$(CFLAGS)' AM_LDFLAGS='$(LDFLAGS) -L../../../.libs/ -Wl,-rpath "$(PWD)/../../.libs/"' $(AM_MAKEFLAGS) all;
 
 clean-local:
-       $(MAKE) -f dist-files/Makefile $(AM_MAKEFLAGS) clean
-       @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
+       @$(MAKE) -f dist-files/Makefile $(AM_MAKEFLAGS) clean; \
+       if [ x"$(srcdir)" != x"$(builddir)" ]; then \
+               for subdir in $(SUBDIRS_PROXY); do \
+                       rm -rf $(builddir)/$$subdir; \
+               done; \
                rm -f $(builddir)/Makefile.examples.template; \
-               rm -rf $(builddir)/hlist; \
-               rm -rf $(builddir)/list; \
-               rm -rf $(builddir)/urcu-flavors; \
-               rm -rf $(builddir)/wfcqueue; \
-               rm -rf $(builddir)/rculfqueue; \
-               rm -rf $(builddir)/wfstack; \
-               rm -rf $(builddir)/lfstack; \
-               rm -rf $(builddir)/rculfhash; \
                rm -rf $(builddir)/dist-files; \
-       fi
+       fi;
 endif
This page took 0.022857 seconds and 4 git commands to generate.