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

PACKAGE_NAME = python-brian
PACKAGE_ROOT_DIR = debian/${PACKAGE_NAME}
INSTALL_PATH = $(CURDIR)/debian/tmp

# default Python
PYTHON=$(shell pyversions -d)
PYTHON_VERSION=$(shell pyversions -d -v)

# override HOME (for weave) and matplotlib config directory
# to allow building in chroots with read-only HOME
export HOME=$(CURDIR)/build
export MPLCONFIGDIR=$(HOME)

%:
	dh $@

override_dh_auto_test:
	: # Do not test just after build, lets install and then test


override_dh_auto_install:
	dh_auto_install
	echo "backend : Agg" >| $(MPLCONFIGDIR)/matplotlibrc

	: # Only now lets build docs
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
	mkdir -p docs_sphinx/_static # to avoid crashes with older sphinx (e.g. on jaunty)
	export PYTHONPATH=$$(/bin/ls -d $(INSTALL_PATH)/usr/lib/$(PYTHON)/*-packages); \
	{ cd docs_sphinx; sphinx-build -a -E -b html . ../docs; }
	-rmdir docs_sphinx/_static	# remove directory possibly created above
	rm docs/_static/jquery.js
	rm -r docs/.doctrees
	: # objects inventory is of no use for the package
	rm docs/objects.inv
	# : # fresh PDF
	# { cd docs_sphinx/_latexbuild; make clean; make; }
endif

# All tests later on
# cd build to prevent use of local/not-built source tree
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	cd build; \
	for PYTHON in $(shell pyversions -r); do \
		echo "I: Running Brian unittests using $$PYTHON"; \
		PYTHONPATH=$$(/bin/ls -d $(INSTALL_PATH)/usr/lib/$$PYTHON/*-packages) \
			$$PYTHON /usr/bin/nosetests -v -s -P --exclude='(experimental|modelfitting)' brian; \
	done
endif

	: # Everything is relevant for python-brian pkg -- moving accordingly
	rm -rf debian/python-brian
	mv debian/tmp debian/python-brian

## move binary libraries into -lib
override_dh_pysupport:
	: # Move platform-specific libraries into -lib
	for lib in $$(find $(PACKAGE_ROOT_DIR)/usr -name '*.so'); do \
	   sdir=$$(dirname $$lib) ; \
	   tdir=$(PACKAGE_ROOT_DIR)-lib/$${sdir#*$(PACKAGE_NAME)/} ; \
	   mkdir -p $$tdir ; \
	   echo "Moving '$$lib' into '$$tdir'." ; \
	   mv $$lib $$tdir ; \
	done
	if [ -x /usr/bin/dh_numpy ]; then dh_numpy -ppython-brian-lib; fi
	dh_pysupport



## immediately useable documentation
## and exemplar data (they are small excerpts anyway)
override_dh_compress:
	dh_compress -X.py -X.html -X.css -X.jpg -X.txt -X.js -X.json -X.rtc -X.par -X.bin

## Some custom rules
test_examples: install
	cd examples; \
	for f in `find -iname *.py`; do echo -n "$$f: "; \
		PYTHONPATH=$$(/bin/ls -d $(CURDIR)/build/lib.*-$(PYTHON_VERSION)) MPLCONFIGDIR=../build \
		python $$f >& $$f.output && echo "Ok" || echo "Failed"; done
