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
|
#!/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
ifeq ($(ARCH_DEFAULT_MPI_IMPL),openmpi)
OPENMPI=yes
else
OPENMPI=no
endif
OMPT_ARCHS = amd64 arm64 i386 ppc64el riscv64
CONFIGURE_ENV=
CONFIGURE=-DCMAKE_INSTALL_INCLUDEDIR=/usr/include/$(DEB_HOST_MULTIARCH)
%:
dh $@
override_dh_auto_configure:
$(CONFIGURE_ENV) dh_auto_configure -Bbuild-mpich -- $(CONFIGURE) \
-DEZTRACE_ENABLE_MPI=ON \
-DEZTRACE_ENABLE_OPENMP=ON \
-DEZTRACE_ENABLE_OMPT=OFF \
-DEZTRACE_ENABLE_POSIXIO=ON \
-DEZTRACE_ENABLE_PTHREAD=ON \
-DEZTRACE_ENABLE_MEMORY=ON \
-DEZTRACE_ENABLE_IOTRACER=OFF \
-DMPICC=/usr/bin/mpicc.mpich -DMPIF90=/usr/bin/mpif90.mpich -DMPI_MODULE_NAME=mpich
ifeq ($(OPENMPI),yes)
$(CONFIGURE_ENV) dh_auto_configure -Bbuild-openmpi -- $(CONFIGURE) \
-DEZTRACE_ENABLE_MPI=ON \
-DEZTRACE_ENABLE_OPENMP=OFF \
-DEZTRACE_ENABLE_OMPT=OFF \
-DEZTRACE_ENABLE_POSIXIO=OFF \
-DEZTRACE_ENABLE_PTHREAD=OFF \
-DEZTRACE_ENABLE_MEMORY=OFF \
-DEZTRACE_ENABLE_IOTRACER=OFF \
-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 -- $(CONFIGURE) \
-DEZTRACE_ENABLE_MPI=OFF \
-DEZTRACE_ENABLE_OPENMP=OFF \
-DEZTRACE_ENABLE_OMPT=ON \
-DEZTRACE_ENABLE_POSIXIO=OFF \
-DEZTRACE_ENABLE_PTHREAD=OFF \
-DEZTRACE_ENABLE_MEMORY=OFF \
-DEZTRACE_ENABLE_IOTRACER=OFF
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: .*src/modules/omp/bin/eztrace_cc\ .*'
@echo 'blhc: ignore-line-regexp: ([0-9]*:\ )?\[eztrace_cc\].*'
@echo 'blhc: ignore-line-regexp: cc\ -o\ test_task.*'
@echo 'blhc: ignore-line-regexp: cc\ -o\ .*\ -pthread'
@echo 'blhc: ignore-line-regexp: cc.*\ memory.c.*\ -o\ memory'
@echo 'blhc: ignore-line-regexp: g\+\+\ -o\ vector\ vector.cxx'
@echo 'blhc: ignore-line-regexp: .*/cc\ .*\ -c\ .*/test/.*.c'
verbose=1 MPICC_PATH=mpicc.mpich MPIRUN_PATH=mpirun.mpich MPI_MODULE_NAME=mpich dh_auto_test --no-parallel -Bbuild-mpich -- -k ARGS\+=--extra-verbose
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
endif
ifneq ($(filter $(DEB_HOST_ARCH),$(OMPT_ARCHS)),)
verbose=1 dh_auto_test --no-parallel -Bbuild-ompt -- -k ARGS\+=--extra-verbose
endif
override_dh_dwz:
:
|