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
|
#!/usr/bin/make -f
export DH_VERBOSE=1
include /usr/share/dpkg/pkg-info.mk
include /usr/share/dpkg/buildflags.mk
include /usr/share/debhelper/dh-fortran/fortran-support.mk
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH)
INCDIR:=/usr/include/$(DEB_HOST_MULTIARCH)
INSTDIR:=$(CURDIR)/debian/tmp
CMAKE_DIR:=$(INSTDIR)/$(LIBDIR)/cmake
FMODDIR:= $(call get_fmoddir,$(FC_DEFAULT))
DEB_CFLAGS_MAINT_APPEND= -I$(CURDIR)/src -I$(CURDIR)/obj-$(DEB_HOST_MULTIARCH)/src
DEB_CXXFLAGS_MAINT_APPEND= -I$(CURDIR)/src -I$(CURDIR)/obj-$(DEB_HOST_MULTIARCH)/src
DEB_FFLAGS_MAINT_APPEND= -I$(FMODDIR)
#
# OMP Doesn't appear to work on these archs
ARCH_NO_OMP:= riscv64 sparc64
ENABLE_OMP:= $(if $(filter $(DEB_TARGET_ARCH), $(ARCH_NO_OMP)),Off,On)
ARCH_HIP:= amd64 arm64
ENABLE_HIP:= $(if $(filter $(DEB_TARGET_ARCH), $(ARCH_HIP)),On,Off)
# HIP options thanks to Cory Bloor: match the math libs ectrans depends on
# "ACC" == HIP, "GPU" == "CUDA"
BUILD_FLAGS = \
-DENABLE_ETRANS=$(ENABLE_OMP) \
-DCMAKE_HIP_ARCHITECTURES="$(shell rocm-target-arch --sep ';')" \
-DENABLE_GPU=Off \
-DENABLE_MKL=Off \
-DENABLE_ACC=$(ENABLE_HIP) \
-DENABLE_MPI=On \
-DENABLE_OMP=$(ENABLE_OMP)
# Test suite requires 4 processors. Fake it
export OMPI_MCA_rmaps_base_oversubscribe=1
%:
dh $@ --buildsystem=ecbuild --builddir=debian/build --with fortran
override_dh_auto_configure:
dh_auto_configure -- ${BUILD_FLAGS}
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
LD_LIBRARY_PATH=$(CURDIR)/debian/build/lib dh_auto_test || true
endif
override_dh_auto_install:
dh_auto_install
chrpath -d $(INSTDIR)/usr/bin/ectrans-benchmark*
chrpath -d $(INSTDIR)/usr/bin/ectrans-lam-* || true
chrpath -d $(INSTDIR)/$(LIBDIR)/*.so*
# Fix broken paths
sed -i -e 's%$${_IMPORT_PREFIX}/include/ectrans%/usr/include/${DEB_HOST_MULTIARCH}/ectrans%' \
$(CMAKE_DIR)/ectrans/ectrans-targets.cmake
# Don't ship symlinks
override_dh_fixperms:
dh_fixperms
rm debian/libectrans-dev/$(INCDIR)/ectrans/transi.h debian/libectrans-dev/$(INCDIR)/ectrans/version.h
cp src/transi/version.h src/transi/transi.h debian/libectrans-dev/$(INCDIR)/ectrans
override_dh_gencontrol:
dh_gencontrol -- -Vrocm:GPU-Architecture="$(shell rocm-target-arch)"
|