File: rules

package info (click to toggle)
gridtools 2.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 21,728 kB
  • sloc: cpp: 45,263; python: 9,383; javascript: 8,445; ansic: 2,564; sh: 509; f90: 370; makefile: 216
file content (62 lines) | stat: -rwxr-xr-x 2,071 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
#!/usr/bin/make -f

export DH_VERBOSE=1
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
TARGET ?= $(shell dpkg-architecture -qDEB_TARGET_GNU_TYPE)
INSTDIR:=debian/libgridtools-dev
LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH)
CMAKE_DIR:=$(INSTDIR)/$(LIBDIR)/cmake/gridtools

NO_NATIVE_ARCHS := powerpc ppc64el ppc64 riscv64 sh4 s390x  hppa m68k mipsel
NATIVE :=   $(if $(filter $(DEB_TARGET_ARCH), $(NO_NATIVE_ARCHS)), \
	 -DGT_ENABLE_BACKEND_X86=Off -DGT_ENABLE_BACKEND_NAIVE=Off ) 


BUILD_FLAGS = \
	-DCMAKE_MODULE_PATH=/usr/share/ecbuild/cmake \
	-DGT_ENABLE_BINDINGS_GENERATION=Off \
	-DFETCHCONTENT_FULLY_DISCONNECTED=On \
	-DFETCHCONTENT_QUIET=Off \
	-DGT_INSTALL_EXAMPLES_PATH=/usr/share/doc/libgridtools-dev/examples \
	-DPYBIND11_INSTALL=On \
	$(NATIVE)

# Test suite requires 4 processors. Fake it on OpenMPI
export OMPI_MCA_rmaps_base_oversubscribe=1

%:
	dh $@ --buildsystem=cmake 

override_dh_auto_configure:
	mkdir obj-$(TARGET)
	cp -a _deps obj-$(TARGET)
	dh_auto_configure -- ${BUILD_FLAGS} 

override_dh_auto_build:
	$(MAKE) -k obj-$(TARGET)

override_dh_auto_test:
	@echo "Bypass tests in current builds"

override_dh_auto_install:
	dh_auto_install
	# Shuffle to correct locations
	install -d $(INSTDIR)/$(LIBDIR)/cmake
	cp -a obj-*/_deps/cpp_bindgen-build/*.a $(INSTDIR)/$(LIBDIR)
	rm -rf $(INSTDIR)/usr/share/cmake
	mv $(INSTDIR)/usr/lib/cmake $(INSTDIR)/$(LIBDIR)/cmake/gridtools
	for d in \
                $(CMAKE_DIR)/GridToolsConfig.cmake \
                $(CMAKE_DIR)/GridToolsTargets-none.cmake ; do \
                cat $$d | \
                        sed -e 's%$${_IMPORT_PREFIX}/include%$(INCDIR)%g' | \
                        sed -e 's%$${_IMPORT_PREFIX}/lib%$(LIBDIR)%g' | \
                        sed -e 's%$${_IMPORT_PREFIX}/bin%/usr/bin%g' | \
                        sed -e 's%$${PACKAGE_PREFIX_DIR}/lib/cmake%$(LIBDIR)/cmake/gridtools%g' | \
                > $(CMAKE_DIR)/tmp ; \
                mv $(CMAKE_DIR)/tmp $$d ; \
                done