#!/usr/bin/make -f # Build with flang first this release export FC_DEFAULT=gfortran export FC_OPTIONAL=flang-22 export DH_VERBOSE=1 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH) # Hack until dh-dfortran fix in 0.70 # -Wl,-fno-random-seed -Wl,--build-id=sha1 -Wl,--hash-style=both FLANG_FPM_FFLAGS:=$(shell dh_fortran get_env --fc flang-22 | grep FPM_FFLAGS | sed -e s/FPM_FFLAGS=// ) -I/usr/include -fuse-ld=lld-22 FLANG_FPM_LDFLAGS:=$(shell dh_fortran get_env --fc flang-22 | grep FPM_LDFLAGS | sed -e s/FPM_LDFLAGS=// ) -fuse-ld=lld-22 GF_FPM_FFLAGS:=$(shell dh_fortran get_env --fc gfortran | grep FPM_FFLAGS | sed -e s/FPM_FFLAGS=// ) -I/usr/include GF_FPM_LDFLAGS:=$(shell dh_fortran get_env --fc gfortran | grep FPM_LDFLAGS | sed -e s/FPM_LDFLAGS=// ) -Wl,--build-id=sha1 -Wl,--hash-style=both LFORTRAN_FPM_FFLAGS:=$(shell dh_fortran get_env --fc lfortran | grep FPM_FFLAGS | sed -e s/FPM_FFLAGS=// ) -I/usr/include LFORTRAN_FPM_LDFLAGS:=$(shell dh_fortran get_env --fc lfortran | grep FPM_LDFLAGS | sed -e s/FPM_LDFLAGS=// ) -Wl,--build-id=sha1 -Wl,--hash-style=both export FPM_FFLAGS FPM_FC FPM_LDFLAGS # Necessary to build shared libraries export DEB_LDFLAGS_MAINT_APPEND=-fPIC # The magic debhelper rule %: dh $@ --with fortran --buildsystem fortran execute_after_dh_auto_clean: rm -fr doc/html debian/tmp-* override_dh_auto_build: ( FPM_FFLAGS="$(GF_FPM_FFLAGS) -I/usr/include" FPM_LDFLAGS="$(GF_FPM_LDFLAGS)" \ FPM_FC=gfortran fpm install --prefix debian/tmp-gfortran --compiler gfortran --profile release --verbose ) - ( FPM_FFLAGS="$(FLANG_FPM_FFLAGS) -I/usr/include" FPM_LDFLAGS="$(FLANG_FPM_LDFLAGS)" \ FPM_FC=flang-22 fpm install --prefix debian/tmp-flang --compiler flang-22 --profile release --verbose ) || true - ( FPM_FFLAGS="$(LFORTRAN_FPM_FFLAGS) -I/usr/include" FPM_LDFLAGS="$(LFORTRAN_FPM_LDFLAGS)" \ FPM_FC=lfortran fpm install --prefix debian/tmp-lfortran --compiler lfortran --profile release --verbose ) || true execute_after_dh_auto_build: ford ford.md # FTB on error: loc("/home/alastair/git/deb-packages/fortran-julienne/fortran-julienne-3.6.2/test/idiomatic_assertion_failure_test.F90":13:3): flang/lib/Optimizer/Builder/IntrinsicCall.cpp:2033: not yet implemented: coarray: intrinsic this_image override_dh_auto_test: # fpm test --compiler flang-22 --profile release : execute_before_dh_auto_install: patchelf --replace-needed libjulienne.so libjulienne-gnu.so.0 debian/tmp-gfortran/bin/scaffold mv debian/tmp-gfortran/bin/scaffold debian/tmp-gfortran/bin/fpm-scaffold execute_after_dh_auto_install: dh_fortran_lib --fc gfortran -P debian/tmp-gfortran - ( dh_fortran_lib --fc flang-22 -P debian/tmp-flang ) || true - ( dh_fortran_lib --fc lfortran -P debian/tmp-lfortran ) || true execute_after_dh_fixperms: chrpath -d debian/libfortran-julienne0/usr/lib/*/*