File: rules

package info (click to toggle)
fckit 0.13.4-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 1,488 kB
  • sloc: f90: 7,623; python: 5,803; cpp: 2,193; pascal: 793; sh: 625; makefile: 66
file content (76 lines) | stat: -rwxr-xr-x 3,949 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
#!/usr/bin/make -f

include /usr/share/dpkg/pkg-info.mk
include /usr/share/debhelper/dh-fortran/fortran-support.mk

export FC_OPTIONAL:= 

export DH_VERBOSE=1

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

TMPDIR:=$(CURDIR)/debian/tmp
LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH)
INCDIR:=/usr/include/$(DEB_HOST_MULTIARCH)
FMODDIR:=$(shell echo $(call get_fmoddir,$(FC_DEFAULT)))
# Test suite requires 4 processors. Fake it
export OMPI_MCA_rmaps_base_oversubscribe=1

BUILD_FLAGS = 

NO_TEST_ARCH:= mips64el 
DO_TEST:= $(if $(filter $(DEB_TARGET_ARCH), $(NO_TEST_ARCH)), false, true)

%:
	dh $@ --buildsystem=ecbuild

override_dh_auto_clean:
	dh_auto_clean
	rm -rf debian/build-*

override_dh_auto_configure:
	for f in $(FC_DEFAULT) $(FC_OPTIONAL) ; do \
		dh_auto_configure --builddirectory=debian/build-$$f  -- \
			${BUILD_FLAGS} -DCMAKE_Fortran_COMPILER=$$f ; done
	#			-DCMAKE_Fortran_FLAGS="$(FLANG_FCFLAGS)"

override_dh_auto_test:
	$(DO_TEST) && (  for f in $(FC_DEFAULT) $(FC_OPTIONAL) ; do \
		dh_auto_test --builddirectory=debian/build-$$f ; \
		done )   || echo "Ignoring test failures"

override_dh_auto_build:
	for f in $(FC_DEFAULT) $(FC_OPTIONAL) ; do \
		dh_auto_build --builddirectory=debian/build-$$f ; done

override_dh_auto_install:
	dh_auto_install --builddirectory=debian/build-$(FC_DEFAULT)
	# Fixup cmake files. Hack. can we do better with patches to upstream ?
	sed -i -e 's%$${fckit_INSTALL_PREFIX}/libexec%/usr/bin%g'        	      $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-import.cmake
	sed -i -e 's%$${fckit_BASE_DIR}/libexec%/usr/bin%g'                           $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-import.cmake
	sed -i -e 's%${CURDIR}%/build/fckit/%g'     	        	              $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-import.cmake
	sed -i -e 's%/usr/bin/python %/usr/bin/python3 %g'               	      $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-import.cmake
	sed -i -e 's%fckit-fypp.py%fckit-fypp%' 		         	      $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-import.cmake
	sed -i -e 's%fckit-eval.sh%fckit-eval%'                          	      $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-import.cmake
	sed -i -e 's%fctest-generate-runner.py%fctest-generate-runner%'  	      $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-import.cmake
	sed -i -e 's%/usr/lib/cmake%${LIBDIR}/cmake%g'  		 	      $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-targets.cmake
	sed -i -e 's%$${_IMPORT_PREFIX}/lib/libfckit%${LIBDIR}/libfckit%g'            $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-targets.cmake
	sed -i -e 's%$${_IMPORT_PREFIX}/include%/usr/include/${DEB_HOST_MULTIARCH}%g' $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-targets.cmake
	sed -i -e 's%$${_IMPORT_PREFIX}/module%${FMODDIR}%g' 			      $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-targets.cmake
	sed -i -e 's%python3\.[0-9]*%python3%g'  				      $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-import.cmake
	# TODO: This will need work when flang is supported
	sed -i -e 's%libfckit.so.0d%libfckit-${FC_DEFAULT}.so.0d%g'			      $(TMPDIR)/$(LIBDIR)/cmake/fckit/fckit-targets-release.cmake
	# rename those with script extensions
	mv $(TMPDIR)/usr/libexec/fckit-eval.sh $(TMPDIR)/usr/libexec/fckit-eval
	mv $(TMPDIR)/usr/libexec/fckit-fypp.py $(TMPDIR)/usr/libexec/fckit-fypp
	mv $(TMPDIR)/usr/libexec/fctest-generate-runner.py $(TMPDIR)/usr/libexec/fctest-generate-runner
	chmod -x $(TMPDIR)/$(LIBDIR)/cmake/fckit/*
	mv $(TMPDIR)/$(LIBDIR)/libfckit.so.0d $(TMPDIR)/$(LIBDIR)/libfckit-${FC_DEFAULT}.so.0d
	rm $(TMPDIR)/$(LIBDIR)/libfckit.so 
	patchelf  --set-soname libfckit-gfortran.so.0d $(TMPDIR)/$(LIBDIR)/libfckit-${FC_DEFAULT}.so.0d
	patchelf  --remove-rpath $(TMPDIR)/$(LIBDIR)/libfckit-${FC_DEFAULT}.so.0d
	dh_link -p libfckit-dev $(LIBDIR)/libfckit-${FC_DEFAULT}.so.0d $(LIBDIR)/fortran/${FC_DEFAULT}/libfckit.so
	dh_link -p libfckit-dev $(LIBDIR)/libfckit-${FC_DEFAULT}.so.0d $(LIBDIR)/libfckit-${FC_DEFAULT}.so

override_dh_dwz:
	@echo "Override dwz as it breaks on shlibs edited by patchelf"