#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# 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)

# Compile omc with sendData.cpp and not with humbug.cpp
export QTHOME=/usr

CFLAGS = -Wall

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O3
endif
ifeq ("x86","$(ARCH)")
	CFLAGS += -ffloat-store -msse -mfpmath=sse
else
	CFLAGS += -msse2 -mfpmath=sse
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

config.status: configure
	dh_testdir

	# Add here commands to configure the package.
	RMLHOME=/usr CFLAGS="$(CFLAGS)" ./configure \
	--host=$(DEB_HOST_GNU_TYPE) \
	--build=$(DEB_BUILD_GNU_TYPE) \
	--prefix=/usr \
	--with-omniORB=/usr \
	--with-static-lpsolve=/usr \
        --with-sendData-Qt \
	--disable-rml-trace

build: build-stamp

build-stamp:  config.status
	dh_testdir

	# Add here commands to compile the package.
	$(MAKE) omc mosh omlibrary
	# Qtclients will start make omc again
	# This is a good thing as Susan will then run and regenerate SimCodeC
	if `hostname | egrep -q "deb32|deb64"`; then \
		ANTLRHOME=/usr $(MAKE) omshell omnotebook omplotwindow; \
		echo "#!/bin/sh" > ./build/bin/OMEdit && echo "echo OMEdit not available on Debian" >> ./build/bin/OMEdit && chmod +x ./build/bin/OMEdit; \
	else \
		ANTLRHOME=/usr $(MAKE) qtclients; \
	fi
	/usr/bin/time -f "== Testsuite wall-time: %e" $(MAKE) -C testsuite/ > ./build/share/doc/omc/testsuite.txt 2>&1
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp 

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

	dh_clean 

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

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

	# Remove extra copyright files
	cd $(DEST)/usr/share/doc/omc/; rm antlr_license.txt ptplot_license.txt
	
	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 
