File: rules

package info (click to toggle)
ectrans 1.7.0-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,968 kB
  • sloc: f90: 51,064; ansic: 5,942; cpp: 1,112; python: 488; sh: 127; makefile: 47
file content (71 lines) | stat: -rwxr-xr-x 2,293 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
#!/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)"