#!/usr/bin/make -f # Build with both gfortran and flang # This version still builds asser, julienne first export DH_VERBOSE=1 # The magic debhelper rule %: dh $@ # --with fortran include /usr/share/dpkg/architecture.mk TOPDIR:=$(shell pwd) LIBDIR:=debian/libfortran-caffeine-dev/usr/lib/${DEB_HOST_MULTIARCH} export FC_DEFAULT=gfortran-15 # Overrule version in ./install.sh export GCC_VERSION=15 MODDIR=$(shell dh_fortran get_fmoddir -I) UCX_ARCH:= $(shell sed -n -r '/^Build/,/^$$/s/.*libucx-dev *\[([^]]*)\].*/\1/p' debian/control) IBV_ARCH:= $(shell sed -n -r '/^Build/,/^$$/s/.*libibverbs-dev *\[([^]]*)\].*/\1/p' debian/control) # IBV:= $(if $(filter $(DEB_TARGET_ARCH), $(IBV_ARCH)),ibv,) IBV:= ibv UCX:= $(if $(filter $(DEB_TARGET_ARCH), $(UCX_ARCH)),ucx,) NETWORKS:=smp udp $(IBV) $(UCX) execute_before_dh_clean: rm -rf fpm.toml build* override_dh_auto_build: for c in $(NETWORKS) ; do \ b=$(TOPDIR)/build-$(FC)-$$c ; \ mkdir -p $$b/lib/pkgconfig ; \ FFLAGS=$(MODDIR) ./install.sh --network=$$c --prefix=$$b ; \ done execute_after_dh_auto_install: mkdir -p $(LIBDIR)/pkgconfig for c in $(NETWORKS) ; do \ b=$(TOPDIR)/build-$(FC)-$$c ; \ cp $$b/lib/libcaffeine-$$c.a $(LIBDIR) ; \ cp $$b/lib/pkgconfig/caffeine.pc $(LIBDIR)/pkgconfig/caffeine-$$c.pc ;\ done