1# Copyright © 2009-2020 Inria.  All rights reserved.
2# Copyright © 2009-2012 Université Bordeaux
3# Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
4# See COPYING in top-level directory.
5
6AM_CFLAGS = $(HWLOC_CFLAGS)
7AM_CPPFLAGS = $(HWLOC_CPPFLAGS) -DXMLTESTDIR=\"$(abs_top_srcdir)/tests/hwloc/xml/\"
8AM_LDFLAGS = $(HWLOC_LDFLAGS)
9
10SUBDIRS = . ports xml
11DIST_SUBDIRS = ports xml linux x86 x86+linux rename
12
13if HWLOC_HAVE_LINUX
14SUBDIRS += linux
15endif HWLOC_HAVE_LINUX
16
17if HWLOC_HAVE_X86_CPUID
18SUBDIRS += x86
19endif HWLOC_HAVE_X86_CPUID
20
21if HWLOC_HAVE_LINUX
22if HWLOC_HAVE_X86_CPUID
23SUBDIRS += x86+linux
24endif HWLOC_HAVE_X86_CPUID
25endif HWLOC_HAVE_LINUX
26
27LDADD =
28
29LOG_COMPILER = $(builddir)/wrapper.sh
30
31check_PROGRAMS = \
32        hwloc_api_version \
33        hwloc_list_components \
34        hwloc_bitmap \
35        hwloc_bitmap_string \
36        hwloc_bitmap_compare_inclusion \
37        hwloc_get_closest_objs \
38        hwloc_get_obj_covering_cpuset \
39        hwloc_get_cache_covering_cpuset \
40        hwloc_get_largest_objs_inside_cpuset \
41        hwloc_get_next_obj_covering_cpuset \
42        hwloc_get_obj_inside_cpuset \
43        hwloc_get_shared_cache_covering_obj \
44        hwloc_get_obj_below_array_by_type \
45        hwloc_bitmap_first_last_weight \
46        hwloc_bitmap_singlify \
47        hwloc_type_depth \
48        hwloc_type_sscanf \
49        hwloc_bind \
50        hwloc_get_last_cpu_location \
51        hwloc_get_area_memlocation \
52        hwloc_object_userdata \
53        hwloc_synthetic \
54        hwloc_backends \
55        hwloc_pci_backend \
56        hwloc_is_thissystem \
57        hwloc_distances \
58        hwloc_groups \
59        hwloc_insert_misc \
60        hwloc_topology_allow \
61        hwloc_topology_restrict \
62        hwloc_topology_dup \
63        hwloc_topology_diff \
64        hwloc_topology_abi \
65        hwloc_obj_infos \
66        hwloc_iodevs \
67        cpuset_nodeset \
68        memattrs \
69        cpukinds \
70        xmlbuffer \
71        gl
72
73if !HWLOC_HAVE_WINDOWS
74if !HWLOC_HAVE_DARWIN
75check_PROGRAMS += shmem
76endif !HWLOC_HAVE_DARWIN
77endif !HWLOC_HAVE_WINDOWS
78
79if HWLOC_HAVE_LINUX_LIBNUMA
80check_PROGRAMS += linux-libnuma
81endif HWLOC_HAVE_LINUX_LIBNUMA
82
83if HWLOC_HAVE_SCHED_SETAFFINITY
84check_PROGRAMS += glibc-sched
85endif HWLOC_HAVE_SCHED_SETAFFINITY
86
87if HWLOC_HAVE_LIBIBVERBS
88check_PROGRAMS += openfabrics-verbs
89endif HWLOC_HAVE_LIBIBVERBS
90
91if HWLOC_HAVE_OPENCL
92check_PROGRAMS += opencl
93endif HWLOC_HAVE_OPENCL
94
95if HWLOC_HAVE_CUDA
96check_PROGRAMS += cuda
97endif HWLOC_HAVE_CUDA
98
99if HWLOC_HAVE_CUDART
100check_PROGRAMS += cudart
101endif HWLOC_HAVE_CUDART
102
103if HWLOC_HAVE_NVML
104check_PROGRAMS += nvml
105endif HWLOC_HAVE_NVML
106
107if HWLOC_HAVE_RSMI
108check_PROGRAMS += rsmi
109endif HWLOC_HAVE_RSMI
110
111TESTS = $(check_PROGRAMS)
112
113# The library has a different name depending on whether we are
114# building in standalone or embedded mode.
115if HWLOC_BUILD_STANDALONE
116hwloc_lib = libhwloc.la
117else
118hwloc_lib = libhwloc_embedded.la
119endif
120
121LDADD += $(HWLOC_top_builddir)/hwloc/$(hwloc_lib)
122
123linux_libnuma_CFLAGS = $(AM_CFLAGS) $(HWLOC_NUMA_CFLAGS)
124linux_libnuma_LDADD = $(LDADD) $(HWLOC_NUMA_LIBS)
125openfabrics_verbs_LDADD = $(LDADD) -libverbs
126opencl_LDADD = $(LDADD) $(HWLOC_OPENCL_LIBS) $(HWLOC_OPENCL_LDFLAGS)
127cuda_LDADD = $(LDADD) -lcuda
128cudart_LDADD = $(LDADD) -lcuda -lcudart
129nvml_LDADD = $(LDADD) -lnvidia-ml
130rsmi_LDADD = $(LDADD) -lrocm_smi64
131hwloc_bind_LDADD = $(LDADD)
132if HWLOC_HAVE_PTHREAD
133hwloc_bind_LDADD += -lpthread
134endif
135
136# ship the embedded test code but don't actually let automake ever
137# look at it because we have another configure stuff in there
138EXTRA_DIST =    embedded/autogen.sh \
139                embedded/configure.ac \
140                embedded/Makefile.am \
141                embedded/do_test.c \
142                embedded/main.c \
143                embedded/run-embedded-tests.sh \
144                embedded/README.txt \
145                embedded/config/README.txt
146