#!/usr/bin/make -f
# -*- makefile -*-
# debian/rules that uses debhelper.
# Based on a sample file with GNU copyright 1997 to 1999 by Joey Hess.

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


# 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)

ARCH ?= $(shell uname -m | sed s/i[0-9]86/x86/)

# Some variables to install binaries under debian/tmp
DEST   = $(CURDIR)/debian/tmp
SRCD   = $(CURDIR)

CFLAGS = -Wall

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O3
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

config:
	dh_testdir
	(cd paradiseo-eo; CC=gcc-4.4 CXX=g++-4.4 cmake . -Dconfig=../install.cmake)
	(cd paradiseo-moeo; CC=gcc-4.4 CXX=g++-4.4 cmake . -Dconfig=../install.cmake)
	(cd paradiseo-mo; CC=gcc-4.4 CXX=g++-4.4 cmake . -Dconfig=../install.cmake)

build: build-stamp

build-stamp: config
	$(MAKE) -C paradiseo-eo VERBOSE=1
	mkdir -p ../paradiseo-eo/build/lib/
	# Yes, paradiseo builds outside its source directory! It's crazy!
	cp paradiseo-eo/lib/*.a ../paradiseo-eo/build/lib/
	$(MAKE) -C paradiseo-moeo VERBOSE=1
	$(MAKE) -C paradiseo-mo VERBOSE=1
	rm -rf ../paradiseo-eo ../paradiseo-mo
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp 
	# Clean doesn't work with cmake; you get crap anyway
	# $(MAKE) -C paradiseo-eo clean
	# $(MAKE) -C paradiseo-moeo clean
	# $(MAKE) -C paradiseo-mo clean

	# Add here commands to clean up after the build process.

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_prep 
	dh_installdirs -pparadiseo -Pdebian/tmp

	# Add here commands to install the package into debian/tmp.
	cp paradiseo-*/lib/*.a $(DEST)/usr/lib/paradiseo
	(cd paradiseo-eo/src/ && for f in `find . -name "*.h"`; do mkdir -p `dirname $(DEST)/usr/include/paradiseo/$$f`; cp $$f $(DEST)/usr/include/paradiseo/$$f; done)
	(cd paradiseo-moeo/src/ && for f in `find . -name "*.h"`; do mkdir -p `dirname $(DEST)/usr/include/paradiseo/$$f`; cp $$f $(DEST)/usr/include/paradiseo/$$f; done)
	(cd paradiseo-mo/src/ && for f in `find . -name "*.h"`; do mkdir -p `dirname $(DEST)/usr/include/paradiseo/$$f`; cp $$f $(DEST)/usr/include/paradiseo/$$f; done)
	cp paradiseo-eo/src/eo $(DEST)/usr/include/paradiseo/
	cp paradiseo-eo/src/utils/checkpointing $(DEST)/usr/include/paradiseo/utils/
	cp paradiseo-eo/src/other/external_eo $(DEST)/usr/include/paradiseo/other/
	cp paradiseo-moeo/src/moeo $(DEST)/usr/include/paradiseo/
	dh_install

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs
	dh_installexamples
	dh_install
	dh_installmenu
	dh_installmime
	dh_installman
	dh_link
	dh_strip
	dh_compress -X.pdf -X.onb -X.c -X.h -X.mo -X.mos
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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