#!/usr/bin/make -f
# -*- makefile-gmake -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

DEBVENDOR  := $(shell dpkg-vendor --query Vendor)

ifeq ($(DEBVENDOR), Qlustar)
    # Qlustar specific stuff
    include /usr/share/ql-deb-utils/Makefile
    MPICXX := mpicxx.openmpi-gcc
else
    include /usr/share/dpkg/default.mk
    MPICXX := mpicxx.openmpi
endif

CFLAGS		+= $(CPPFLAGS)
CXXFLAGS	+= $(CPPFLAGS)

# TODO: Remove -DCMAKE_SKIP_RPATH=TRUE when switching to dh 14.
CONFIGURE_COMMON := -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
  -DPYTHON_EXE_PATH=/usr/bin/python3 \
  -DCMAKE_SKIP_RPATH=TRUE

%:
	dh $@

override_dh_auto_configure:
	dh_auto_configure -- $(CONFIGURE_COMMON) -DGUI=ON -DCUDA=OFF

override_dh_auto_install:
	dh_auto_install --destdir=debian/tmp/cli
	mkdir -p $(CURDIR)/debian/tmp/gui/usr/bin
	rm $(CURDIR)/debian/tmp/cli/usr/bin/*.csh # Useless ...
	set -e; for prog in relion relion_display relion_manualpick; do \
	  mv $(CURDIR)/debian/tmp/cli/usr/bin/$$prog \
	    $(CURDIR)/debian/tmp/gui/usr/bin; done
# Imports Python module "starfile" which is not in Debian.
	rm $(CURDIR)/debian/tmp/cli/usr/bin/relion_filament_selection
# Bash wrappers for RELION Python modules; not packaged.
	rm $(CURDIR)/debian/tmp/cli/usr/bin/relion_python_*
# Rename scripts to avoid lintian W: script-with-language-extension.
	mv $(CURDIR)/debian/tmp/cli/usr/bin/relion_it.py \
	  $(CURDIR)/debian/tmp/gui/usr/bin/relion_it
# relion_schemegui is installed without a .py suffix since upstream 5.1.0.
	mv $(CURDIR)/debian/tmp/cli/usr/bin/relion_schemegui \
	  $(CURDIR)/debian/tmp/gui/usr/bin/relion_schemegui
