#!/usr/bin/make -f


# Build with flang

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=flang
export FC_OPTIONAL=
export PKG_CONFIG=pkgconf
# Overrule version in ./install.sh
# export GCC_VERSION=16

export FC=flang-21

MODDIR=$(shell dh_fortran get_fmoddir --fc flang)
FLIBDIR=$(shell dh_fortran get_flibdir --fc flang)
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="-cpp -I./include -I$(MODDIR) -I/usr/include" LDFLAGS="-L$(FLIBDIR)"  ./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
	dh_fortran_mod
