#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets  by Bill Allombert 2001

# 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

PYTHON=/usr/bin/python
WAF=$(PYTHON) waf

configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.
	$(WAF) configure --mode=release --with-python --with-examples --prefix=/usr 
	touch configure-stamp

build: build-arch build-indep

build-arch: build-arch-stamp
build-arch-stamp: configure-stamp
	# Add here commands to compile the arch part of the package.
	$(WAF)
	touch $@

build-indep:
build-indep: build-indep-stamp
build-indep-stamp: configure-stamp
	$(WAF) doc
	touch $@

clean: configure
	dh_testdir
	dh_testroot
	-$(RM) -f build-arch-stamp build-indep-stamp configure-stamp run-tests-stamp
	$(WAF) configure
	$(WAF) clean
	$(WAF) distclean
	-$(RM) -f src/algorithms/essentia_algorithms_reg.cpp
	-$(RM) -f src/version.h
	-find $(CURDIR) -name '*\.pyc' -exec rm -rf {} \;
	dh_clean

# Additional rules for testing binary
#run-tests: run-tests-stamp
#run-tests-stamp:
#	$(WAF) run_tests
#	$(WAF) run_python_tests
#	# test python external
#	PYTHONPATH=$(CURDIR)/build/python:$(CURDIR)/src/python \
#		python src/python/essentia/extractor/extractor_tempotap.py -i audio/recorded/christina_aguilera.wav
#	touch $@

install: install-indep install-arch
install-indep:
	dh_testdir
	dh_testroot
	dh_prep
	dh_clean -i
	dh_installdirs -i
	dh_install -i --sourcedir=debian/tmp

install-arch:
	dh_testdir
	dh_testroot
	dh_prep
	dh_clean -s
	dh_installdirs -s
	$(WAF) --destdir $(CURDIR)/debian/tmp install
	dh_install -s --sourcedir=debian/tmp

binary-common:
	dh_testdir
	dh_testroot
	dh_installchangelogs Changelog
	dh_installdocs
	dh_installexamples
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_numpy
	#dh_pycentral
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# Build architecture independant packages using the common target.
binary-indep: build-indep install-indep
	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common

# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
	$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common

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