X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=doc%2Fexamples%2FMakefile.am;h=20463812866b31a592152141e9dd417ee7655d0d;hp=60848e912f8d85bc571db5fe0fb8d49ddc98f158;hb=HEAD;hpb=650b434b12597af49cad28c5c4b5faa3c98c04b0 diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 60848e9..8169169 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 EfficiOS Inc. +# +# SPDX-License-Identifier: MIT + doc_examplesdir = ${docdir}/examples doc_examples_urcu_flavorsdir = ${doc_examplesdir}/urcu-flavors @@ -7,12 +11,10 @@ dist_doc_examples_urcu_flavors_DATA = \ urcu-flavors/Makefile.qsbr \ urcu-flavors/Makefile.mb \ urcu-flavors/Makefile.membarrier \ - urcu-flavors/Makefile.signal \ urcu-flavors/Makefile.bp \ urcu-flavors/qsbr.c \ urcu-flavors/mb.c \ urcu-flavors/membarrier.c \ - urcu-flavors/signal.c \ urcu-flavors/bp.c dist_doc_examples_DATA = \ @@ -98,18 +100,56 @@ dist_doc_examples_rculfhash_DATA = \ rculfhash/jhash.h \ rculfhash/Makefile.cds_lfht_add \ rculfhash/Makefile.cds_lfht_add_unique \ + rculfhash/Makefile.cds_lfht_add_replace \ rculfhash/Makefile.cds_lfht_del \ + rculfhash/Makefile.cds_lfht_destroy \ + rculfhash/Makefile.cds_lfht_lookup \ + rculfhash/Makefile.cds_lfht_for_each_entry_duplicate \ rculfhash/cds_lfht_add.c \ rculfhash/cds_lfht_add_unique.c \ - rculfhash/cds_lfht_del.c + rculfhash/cds_lfht_add_replace.c \ + rculfhash/cds_lfht_del.c \ + rculfhash/cds_lfht_destroy.c \ + rculfhash/cds_lfht_lookup.c \ + rculfhash/cds_lfht_for_each_entry_duplicate.c + +# Building the examples requires the shared libraries to be enabled +if ENABLE_EXAMPLES + +SUBDIRS_PROXY = hlist list urcu-flavors wfcqueue rculfqueue \ + wfstack lfstack rculfhash -if NO_SHARED -# Don't build examples if shared libraries support was explicitly -# disabled. -else +# Copies are for VPATH build support. all-local: - $(MAKE) -f dist-files/Makefile AM_CPPFLAGS="-I../../../urcu/ -I../../../" AM_LDFLAGS='-L../../../.libs/ -Wl,-rpath="$(PWD)/../../.libs/"' $(AM_MAKEFLAGS) all + $(AM_V_at)if [ x"$(srcdir)" != x"$(builddir)" ]; then \ + cp -pfR $(srcdir)/dist-files $(builddir); \ + chmod -R u+w $(builddir)/dist-files; \ + cp -pf $(srcdir)/Makefile.examples.template $(builddir); \ + chmod u+w $(builddir)/Makefile.examples.template; \ + for subdir in $(SUBDIRS_PROXY); do \ + cp -pfR $(srcdir)/$$subdir $(builddir); \ + chmod -R u+w $(builddir)/$$subdir; \ + done; \ + fi; \ + if [ x"$(shell echo "$(top_srcdir)" | $(GREP) "^/" | wc -l)" = x"1" ]; then \ + rel_src_subdir=""; \ + else \ + rel_src_subdir="../"; \ + fi; \ + if [ x"$(shell echo "$(top_builddir)" | $(GREP) "^/" | wc -l)" = x"1" ]; then \ + rel_build_subdir=""; \ + else \ + rel_build_subdir="../"; \ + fi; \ + $(MAKE) -f dist-files/Makefile CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" AM_CPPFLAGS="$(AM_CPPFLAGS) -I"$${rel_src_subdir}/$(top_srcdir)/include/" -I"$${rel_src_subdir}/$(top_srcdir)/src/" -I"$${rel_build_subdir}$(top_builddir)/include/" -I"$${rel_build_subdir}$(top_builddir)/include/src/"" CFLAGS="$(CFLAGS)" AM_CFLAGS="$(AM_CFLAGS)" LDFLAGS="$(LDFLAGS)" AM_LDFLAGS="$(AM_LDFLAGS) -L../../../src/.libs/ -Wl,-rpath "$(PWD)/../../src/.libs/"" AM_V_P="$(AM_V_P)" AM_V_at="$(AM_V_at)" $(AM_MAKEFLAGS) all; clean-local: - $(MAKE) -f dist-files/Makefile $(AM_MAKEFLAGS) clean; + $(AM_V_at)$(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)/dist-files; \ + fi; endif