#!/usr/bin/make -f

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

# This has to be exported to make some magic below work.
export DH_OPTIONS

# Get flags from dpkg-buildflags
CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS   := $(shell dpkg-buildflags --get CFLAGS)
LDFLAGS  := $(shell dpkg-buildflags --get LDFLAGS)

PYVERS   := $(shell pyversions -r)
PY3VERS  := $(shell py3versions -r)

clean:
	dh_testdir
	dh_testroot

	for py in $(PYVERS) $(PY3VERS); do \
	    $$py setup.py clean --all ; \
	done
	rm -f *.pyc
	rm -f lib/pyfits/version.py
	rm -rf lib/pyfits.egg-info

	rm -f *-stamp
	dh_clean

build: build-arch build-indep

build-arch: build-arch-stamp
build-arch-stamp:
	dh_testdir

	set -e; \
	for py in $(PYVERS) $(PY3VERS); do \
	    LDFLAGS="$(LDFLAGS)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)"  \
	        $$py setup.py build ; \
	done

	touch $@

# We have nothing to do by default.
build-indep:

install: install-stamp
install-stamp: build-arch
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs
	dh_install --sourcedir=$(CURDIR)

	# Python2 version
	set -e; \
	for py in $(PYVERS); do \
	    $$py setup.py install --prefix=/usr \
				  --root=$(CURDIR)/debian/python-pyfits \
				  --install-layout=deb ; \
	    rm -rf $(CURDIR)/debian/python-pyfits/usr/bin ; \
	done

	# Python3 version
	set -e; \
	for py in $(PY3VERS); do \
	    $$py setup.py install --prefix=/usr \
				  --root=$(CURDIR)/debian/python3-pyfits \
				  --install-layout=deb ; \
	    rm -rf $(CURDIR)/debian/python3-pyfits/usr/bin ; \
	done

	touch $@

# Build architecture-independent files here.
binary-indep: build-indep install
	dh_testdir
	dh_testroot
	dh_installdocs -i
	dh_installman -i
	dh_installexamples -i
	dh_installchangelogs -i CHANGES.txt
	dh_python2 -i
	dh_numpy -i
	dh_link -i
	dh_strip -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build-arch install
	dh_testdir
	dh_testroot
	dh_installdocs -a
	dh_installexamples -a
	dh_installchangelogs -a CHANGES.txt
	dh_python2 -a
	dh_numpy -a
	dh_python3 -a
	dh_numpy3 -a
	dh_link -a
	dh_strip -a
	dh_compress -a -X.py
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch
.PHONY: build build-arch build-indep clean binary-indep binary-arch binary install

