#!/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.

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

PYVERS := $(shell pyversions -r)

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)


CFLAGS = -Wall -g
FFLAGS = -Wall -g
CXXFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0 
	FFLAGS += -O0
	CXXFLAGS += -O0
else
	CFLAGS += -O2
	FFLAGS += -O2
	CXXFLAGS += -O2
endif

configure:
	cp -f /usr/share/misc/config.sub config.sub
	cp -f /usr/share/misc/config.guess config.guess

	$(MAKE) -f Makefile.cvs

config.status: configure
	dh_testdir
	# Add here commands to configure the package.
	CFLAGS="$(CFLAGS) -Wl,-z,defs -fPIC" ./configure --enable-shared=yes --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info


build: build-stamp

build-stamp:  config.status
	dh_testdir
	# Add here commands to compile the package.
	$(MAKE)
	set -e; \
	for py in $(PYVERS); do \
	  mkdir -p $(CURDIR)/build/$$py ; \
	  cp -af $(CURDIR)/Python/PyNEC/* $(CURDIR)/build/$$py ; \
	  cd $(CURDIR)/build/$$py ; \
	  $$py setup.py ; \
	  make -f $$(ls makefile.*) CXX="g++ -fPIC" ; \
	done
	touch build-stamp

clean:
	dh_testdir
	dh_testroot

	# Add here commands to clean up after the build process.
	[ ! -f Makefile ] || $(MAKE) distclean
	[ ! -f Python/PyNEC/makefile.linux ] || $(MAKE) -C Python/PyNEC -f makefile.linux clean

	rm -f config.sub config.guess
	rm -f install-sh missing mkinstalldirs depcomp
	for EXT in dvi pdf aux log blg bbl toc; do \
		rm -f docs/paper.$$EXT; \
		rm -f docs/users_guide.$$EXT; \
	done

	rm -f Makefile.in src/Makefile.in aclocal.m4 ltmain.sh
	rm -f configure config.log config.h.in stamp-h.in
	rm -rf build

	rm -f build-stamp

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs

	# Add here commands to install the package into debian/tmp.
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp

	dh_install -s --sourcedir=debian/tmp

        # Copy the docs and examples directories
	mkdir -p $(CURDIR)/debian/necpp/usr/share/doc/necpp/docs
	cd $(CURDIR)/docs && ( latex paper ; bibtex paper ; latex paper ; pdflatex paper ) 
	cd $(CURDIR)/docs && ( latex users_guide ; bibtex users_guide ; latex users_guide ; pdflatex users_guide ) 
	cp -r $(CURDIR)/docs/*.pdf $(CURDIR)/debian/necpp/usr/share/doc/necpp/docs
	mkdir -p $(CURDIR)/debian/necpp/usr/share/doc/necpp/test_data
	cp $(CURDIR)/test_data/*.nec $(CURDIR)/debian/necpp/usr/share/doc/necpp/test_data

	set -e ; \
        for py in $(PYVERS); do \
	  mkdir -p $(CURDIR)/debian/python-necpp/usr/lib/$$py/site-packages/PyNEC ; \
	  cp $(CURDIR)/build/$$py/python_module/*.* $(CURDIR)/debian/python-necpp/usr/lib/$$py/site-packages/PyNEC ; \
	done

	mkdir -p $(CURDIR)/debian/python-necpp/usr/share/doc/python-necpp/examples/
	cp $(CURDIR)/Python/PyNEC/test_scripts/*.py $(CURDIR)/debian/python-necpp/usr/share/doc/python-necpp/examples/
	cp $(CURDIR)/Python/PyNEC/test_nec_files/*.nec $(CURDIR)/debian/python-necpp/usr/share/doc/python-necpp/examples/


# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs ChangeLog
	dh_installdocs
	dh_installexamples
	dh_pysupport
	dh_installman nec2++.1 nec2diff.1
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
#	dh_python
	dh_makeshlibs -V
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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