Home | History | Annotate | Line # | Download | only in examples
      1 # SPDX-FileCopyrightText: 2023 EfficiOS Inc.
      2 #
      3 # SPDX-License-Identifier: MIT
      4 
      5 doc_examplesdir = ${docdir}/examples
      6 
      7 doc_examples_urcu_flavorsdir = ${doc_examplesdir}/urcu-flavors
      8 
      9 dist_doc_examples_urcu_flavors_DATA = \
     10 	urcu-flavors/Makefile \
     11 	urcu-flavors/Makefile.qsbr \
     12 	urcu-flavors/Makefile.mb \
     13 	urcu-flavors/Makefile.membarrier \
     14 	urcu-flavors/Makefile.bp \
     15 	urcu-flavors/qsbr.c \
     16 	urcu-flavors/mb.c \
     17 	urcu-flavors/membarrier.c \
     18 	urcu-flavors/bp.c
     19 
     20 dist_doc_examples_DATA = \
     21 	dist-files/Makefile \
     22 	Makefile.examples.template
     23 
     24 doc_examples_listdir = ${doc_examplesdir}/list
     25 
     26 dist_doc_examples_list_DATA = \
     27 	list/Makefile \
     28 	list/Makefile.cds_list_add_rcu \
     29 	list/Makefile.cds_list_add_tail_rcu \
     30 	list/Makefile.cds_list_del_rcu \
     31 	list/Makefile.cds_list_for_each_rcu \
     32 	list/Makefile.cds_list_for_each_entry_rcu \
     33 	list/Makefile.cds_list_replace_rcu \
     34 	list/cds_list_add_rcu.c \
     35 	list/cds_list_add_tail_rcu.c \
     36 	list/cds_list_del_rcu.c \
     37 	list/cds_list_for_each_rcu.c \
     38 	list/cds_list_for_each_entry_rcu.c \
     39 	list/cds_list_replace_rcu.c
     40 
     41 doc_examples_hlistdir = ${doc_examplesdir}/hlist
     42 
     43 dist_doc_examples_hlist_DATA = \
     44 	hlist/Makefile \
     45 	hlist/Makefile.cds_hlist_add_head_rcu \
     46 	hlist/Makefile.cds_hlist_del_rcu \
     47 	hlist/Makefile.cds_hlist_for_each_rcu \
     48 	hlist/Makefile.cds_hlist_for_each_entry_rcu \
     49 	hlist/cds_hlist_add_head_rcu.c \
     50 	hlist/cds_hlist_del_rcu.c \
     51 	hlist/cds_hlist_for_each_rcu.c \
     52 	hlist/cds_hlist_for_each_entry_rcu.c
     53 
     54 doc_examples_wfcqueuedir = ${doc_examplesdir}/wfcqueue
     55 
     56 dist_doc_examples_wfcqueue_DATA = \
     57 	wfcqueue/Makefile \
     58 	wfcqueue/Makefile.cds_wfcq_enqueue \
     59 	wfcqueue/Makefile.cds_wfcq_dequeue \
     60 	wfcqueue/Makefile.cds_wfcq_splice \
     61 	wfcqueue/cds_wfcq_enqueue.c \
     62 	wfcqueue/cds_wfcq_dequeue.c \
     63 	wfcqueue/cds_wfcq_splice.c
     64 
     65 doc_examples_wfstackdir = ${doc_examplesdir}/wfstack
     66 
     67 dist_doc_examples_wfstack_DATA = \
     68 	wfstack/Makefile \
     69 	wfstack/Makefile.cds_wfs_push \
     70 	wfstack/Makefile.cds_wfs_pop \
     71 	wfstack/Makefile.cds_wfs_pop_all_blocking \
     72 	wfstack/cds_wfs_push.c \
     73 	wfstack/cds_wfs_pop.c \
     74 	wfstack/cds_wfs_pop_all_blocking.c
     75 
     76 doc_examples_lfstackdir = ${doc_examplesdir}/lfstack
     77 
     78 dist_doc_examples_lfstack_DATA = \
     79 	lfstack/Makefile \
     80 	lfstack/Makefile.cds_lfs_push \
     81 	lfstack/Makefile.cds_lfs_pop_blocking \
     82 	lfstack/Makefile.cds_lfs_pop_all_blocking \
     83 	lfstack/cds_lfs_push.c \
     84 	lfstack/cds_lfs_pop_blocking.c \
     85 	lfstack/cds_lfs_pop_all_blocking.c
     86 
     87 doc_examples_rculfqueuedir = ${doc_examplesdir}/rculfqueue
     88 
     89 dist_doc_examples_rculfqueue_DATA = \
     90 	rculfqueue/Makefile \
     91 	rculfqueue/Makefile.cds_lfq_enqueue \
     92 	rculfqueue/Makefile.cds_lfq_dequeue \
     93 	rculfqueue/cds_lfq_enqueue.c \
     94 	rculfqueue/cds_lfq_dequeue.c
     95 
     96 doc_examples_rculfhashdir = ${doc_examplesdir}/rculfhash
     97 
     98 dist_doc_examples_rculfhash_DATA = \
     99 	rculfhash/Makefile \
    100 	rculfhash/jhash.h \
    101 	rculfhash/Makefile.cds_lfht_add \
    102 	rculfhash/Makefile.cds_lfht_add_unique \
    103 	rculfhash/Makefile.cds_lfht_add_replace \
    104 	rculfhash/Makefile.cds_lfht_del \
    105 	rculfhash/Makefile.cds_lfht_destroy \
    106 	rculfhash/Makefile.cds_lfht_lookup \
    107 	rculfhash/Makefile.cds_lfht_for_each_entry_duplicate \
    108 	rculfhash/cds_lfht_add.c \
    109 	rculfhash/cds_lfht_add_unique.c \
    110 	rculfhash/cds_lfht_add_replace.c \
    111 	rculfhash/cds_lfht_del.c \
    112 	rculfhash/cds_lfht_destroy.c \
    113 	rculfhash/cds_lfht_lookup.c \
    114 	rculfhash/cds_lfht_for_each_entry_duplicate.c
    115 
    116 # Building the examples requires the shared libraries to be enabled
    117 if ENABLE_EXAMPLES
    118 
    119 SUBDIRS_PROXY = hlist list urcu-flavors wfcqueue rculfqueue \
    120 	wfstack lfstack rculfhash
    121 
    122 # Copies are for VPATH build support.
    123 all-local:
    124 	$(AM_V_at)if [ x"$(srcdir)" != x"$(builddir)" ]; then \
    125 		cp -pfR $(srcdir)/dist-files $(builddir); \
    126 		chmod -R u+w $(builddir)/dist-files; \
    127 		cp -pf $(srcdir)/Makefile.examples.template $(builddir); \
    128 		chmod u+w $(builddir)/Makefile.examples.template; \
    129 		for subdir in $(SUBDIRS_PROXY); do \
    130 			cp -pfR $(srcdir)/$$subdir $(builddir); \
    131 			chmod -R u+w $(builddir)/$$subdir; \
    132 		done; \
    133 	fi; \
    134 	if [ x"$(shell echo "$(top_srcdir)" | $(GREP) "^/" | wc -l)" = x"1" ]; then \
    135 		rel_src_subdir=""; \
    136 	else \
    137 		rel_src_subdir="../"; \
    138 	fi; \
    139 	if [ x"$(shell echo "$(top_builddir)" | $(GREP) "^/" | wc -l)" = x"1" ]; then \
    140 		rel_build_subdir=""; \
    141 	else \
    142 		rel_build_subdir="../"; \
    143 	fi; \
    144 	$(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;
    145 
    146 clean-local:
    147 	$(AM_V_at)$(MAKE) -f dist-files/Makefile $(AM_MAKEFLAGS) clean; \
    148 	if [ x"$(srcdir)" != x"$(builddir)" ]; then \
    149 		for subdir in $(SUBDIRS_PROXY); do \
    150 			rm -rf $(builddir)/$$subdir; \
    151 		done; \
    152 		rm -f $(builddir)/Makefile.examples.template; \
    153 		rm -rf $(builddir)/dist-files; \
    154 	fi;
    155 endif
    156