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