File: rules

package info (click to toggle)
eztrace 2.2.1-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,012 kB
  • sloc: ansic: 37,703; sh: 1,246; cpp: 1,181; perl: 910; makefile: 738; fortran: 327; f90: 320; python: 124
file content (142 lines) | stat: -rwxr-xr-x 4,989 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

include /usr/share/dpkg/architecture.mk
include /usr/share/mpi-default-dev/debian_defaults

FAILED=debian/failed

ifeq ($(ARCH_DEFAULT_MPI_IMPL),openmpi)
OPENMPI=yes
else
OPENMPI=no
endif

OMPT_ARCHS = amd64 arm64 ppc64el riscv64 loong64

CONFIGURE_ENV=
CONFIGURE=-DCMAKE_INSTALL_INCLUDEDIR=/usr/include/$(DEB_HOST_MULTIARCH)

ifeq (32,$(DEB_HOST_ARCH_BITS))
CONFIGURE+=-DEZTRACE_ENABLE_PNETCDF=OFF
endif

#ifneq (,$(filter $(DEB_HOST_ARCH),armel hppa hurd-amd64 hurd-i386 m68k powerpc sh4))
CONFIGURE+=-DEZTRACE_ENABLE_KOKKOS=OFF
#endif

%:
	dh $@

# TODO: with starpu >= 1.5, EZTRACE_ENABLE_STARPU_API
override_dh_auto_configure:
	$(CONFIGURE_ENV) dh_auto_configure -Bbuild-mpich -- \
		-DEZTRACE_ENABLE_MPI=ON \
		-DEZTRACE_ENABLE_STARPU=ON \
		-DEZTRACE_ENABLE_OPENMP=ON \
		-DEZTRACE_ENABLE_POSIXIO=ON \
		-DEZTRACE_ENABLE_PTHREAD=ON \
		-DEZTRACE_ENABLE_MEMORY=ON \
		-DEZTRACE_ENABLE_OMPT=OFF \
		-DEZTRACE_ENABLE_KOKKOS=ON \
		-DEZTRACE_ENABLE_PNETCDF=ON \
		-DEZTRACE_ENABLE_NETCDF=ON \
		-DEZTRACE_ENABLE_IOTRACER=OFF \
		-DEZTRACE_ENABLE_PYTHON=ON \
		$(CONFIGURE) \
		-DMPICC=/usr/bin/mpicc.mpich -DMPIF90=/usr/bin/mpif90.mpich -DMPI_MODULE_NAME=mpich
ifeq ($(OPENMPI),yes)
	$(CONFIGURE_ENV) dh_auto_configure -Bbuild-openmpi -- \
		-DEZTRACE_ENABLE_MPI=ON \
		-DEZTRACE_ENABLE_STARPU=OFF \
		-DEZTRACE_ENABLE_OPENMP=OFF \
		-DEZTRACE_ENABLE_POSIXIO=OFF \
		-DEZTRACE_ENABLE_PTHREAD=OFF \
		-DEZTRACE_ENABLE_MEMORY=OFF \
		-DEZTRACE_ENABLE_OMPT=OFF \
		-DEZTRACE_ENABLE_KOKKOS=OFF \
		-DEZTRACE_ENABLE_PNETCDF=OFF \
		-DEZTRACE_ENABLE_NETCDF=OFF \
		-DEZTRACE_ENABLE_IOTRACER=OFF \
		-DEZTRACE_ENABLE_PYTHON=OFF \
		$(CONFIGURE) \
		-DMPICC=/usr/bin/mpicc.openmpi -DMPIF90=/usr/bin/mpif90.openmpi -DMPI_MODULE_NAME=openmpi
endif
ifneq ($(filter $(DEB_HOST_ARCH),$(OMPT_ARCHS)),)
	$(CONFIGURE_ENV) CC=clang dh_auto_configure -Bbuild-ompt -- \
		-DEZTRACE_ENABLE_MPI=OFF \
		-DEZTRACE_ENABLE_STARPU=OFF \
		-DEZTRACE_ENABLE_OPENMP=OFF \
		-DEZTRACE_ENABLE_POSIXIO=OFF \
		-DEZTRACE_ENABLE_PTHREAD=OFF \
		-DEZTRACE_ENABLE_MEMORY=OFF \
		-DEZTRACE_ENABLE_OMPT=ON \
		-DEZTRACE_ENABLE_KOKKOS=OFF \
		-DEZTRACE_ENABLE_PNETCDF=OFF \
		-DEZTRACE_ENABLE_NETCDF=OFF \
		-DEZTRACE_ENABLE_IOTRACER=OFF \
		-DEZTRACE_ENABLE_PYTHON=OFF \
		$(CONFIGURE)
endif

override_dh_auto_build:
	@echo 'blhc: ignore-line-regexp: \[\ *[0-9]+%\]\ Building\ C\ object\ (src|test)/.+\.c\.o'
	dh_auto_build -Bbuild-mpich
ifeq ($(OPENMPI),yes)
	dh_auto_build -Bbuild-openmpi
endif
ifneq ($(filter $(DEB_HOST_ARCH),$(OMPT_ARCHS)),)
	dh_auto_build -Bbuild-ompt
endif

override_dh_auto_clean:
	dh_auto_clean -Bbuild-mpich
ifeq ($(OPENMPI),yes)
	dh_auto_clean -Bbuild-openmpi
endif
ifneq ($(filter $(DEB_HOST_ARCH),$(OMPT_ARCHS)),)
	dh_auto_clean -Bbuild-ompt
endif

override_dh_auto_install:
	dh_auto_install -Bbuild-mpich
ifeq ($(OPENMPI),yes)
	dh_auto_install -Bbuild-openmpi -- -C src/modules/mpi
endif
ifneq ($(filter $(DEB_HOST_ARCH),$(OMPT_ARCHS)),)
	dh_auto_install -Bbuild-ompt -- -C src/modules/ompt
endif

# Some MPI drivers assume we won't fork, but we will, so tell them to be safe.
export RDMAV_FORK_SAFE=1

override_dh_auto_test:
	@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?.*src/modules/omp/bin/eztrace_cc\ .*'
	@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?\[eztrace_cc\].*'
	@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?cc\ -o\ test_task.*'
	@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?cc\ -o\ starpu_.*'
	@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?cc\ -o\ .*\ -pthread'
	@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?cc.*\ memory.c.*\ -o\ memory'
	@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?cc\ -o\ foo\ foo.c.*'
	@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?g\+\+\ -o\ vector\ vector.cxx'
	@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?.*/cc\ .*\ -c\ .*/test/.*.c'
	# This is an mpich smoke test. If this fails, please report to mpich, not eztrace
	mpirun.mpich -np 2 --bind-to none ./build-mpich/test/mpi/mpi_ping | grep "10000	16" || touch $(FAILED)
ifeq ($(OPENMPI),yes)
	# This is an openmpi smoke test. If this fails, please report to openmpi, not eztrace
	mpirun.openmpi -np 2 --map-by :OVERSUBSCRIBE --bind-to none ./build-openmpi/test/mpi/mpi_ping | grep "10000	16" || touch $(FAILED)
endif
	! test -f $(FAILED) || (rm $(FAILED) ; false)
	verbose=1 STARPU_HOME=$(CURDIR) MPICC_PATH=mpicc.mpich MPIRUN_PATH=mpirun.mpich MPI_MODULE_NAME=mpich dh_auto_test --no-parallel -Bbuild-mpich -- -k ARGS\+=--extra-verbose || touch $(FAILED)
	-rm -fr .starpu
ifeq ($(OPENMPI),yes)
	verbose=1 MPIRUN_CLI_OPTION=--oversubscribe MPICC_PATH=mpicc.openmpi MPIRUN_PATH=mpirun.openmpi MPI_MODULE_NAME=openmpi dh_auto_test --no-parallel -Bbuild-openmpi -- -k ARGS\+=--extra-verbose || touch $(FAILED)
endif
ifneq ($(filter $(DEB_HOST_ARCH),$(OMPT_ARCHS)),)
	verbose=1 dh_auto_test --no-parallel -Bbuild-ompt -- -k ARGS\+=--extra-verbose || touch $(FAILED)
endif
	! test -f $(FAILED) || (rm $(FAILED) ; false)

override_dh_dwz:
	: