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

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

export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow

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

    NUMJOBS := $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
    MAKE_-J := $(addprefix -j, $(NUMJOBS))
    MPICXX := mpicxx.openmpi
endif

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

CONFIGURE_COMMON := cmake -DCMAKE_INSTALL_PREFIX=/usr \
  -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON "-GUnix Makefiles" \
  -DCMAKE_VERBOSE_MAKEFILE=ON \
  -DCMAKE_SKIP_RPATH=TRUE \
  -DDoublePrec_GPU=ON

%:
	dh $@

override_dh_auto_configure:
	mkdir $(CURDIR)/build
	cd $(CURDIR)/build; \
	$(CONFIGURE_COMMON) -DCUDA_HOST_COMPILER=/usr/bin/cuda-gcc -DGUI=ON -DCUDA=ON $(CURDIR)

override_dh_auto_build:
	$(MAKE) $(MAKE_-J) -C build

override_dh_auto_install:
	$(MAKE) -C build install DESTDIR=$(CURDIR)/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

override_dh_clean:
	dh_clean
	-rm -rf build
