#!/usr/bin/make -f

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

host_arch	:= $(shell dpkg-architecture -qDEB_HOST_ARCH)

pkg		:= ctsim
pkg-help	:= ctsim-help
pkg-doc		:= ctsim-doc

ctsim-shared	:= usr/share/ctsim

prefix		:= debian/$(pkg)
prefix-help	:= debian/$(pkg-help)
prefix-doc	:= debian/$(pkg-doc)

DESTDIR		:= `pwd`/$(prefix)
HELPDIR		:= `pwd`/$(prefix-help)/$(ctsim-shared)
doc-dir		:= usr/share/doc/$(pkg-doc)
pixmap-dir	:= usr/share/pixmaps
desktop-dir	:= usr/share/applications

configure: configure-stamp
configure-stamp:
	dh_testdir
	./configure --prefix=$(DESTDIR)/usr --mandir=$(DESTDIR)/usr/share/man --datadir=$(HELPDIR) --with-ctn -with-x --without-lam
	touch configure-stamp


build-arch: configure-stamp build-arch-stamp
build-arch-stamp:
	dh_testdir
	$(MAKE) all
	touch build-arch-stamp

build-indep: configure-stamp  build-indep-stamp
build-indep-stamp:
	dh_testdir
	(cd docs; tar xzf html.tar.gz)
	touch build-indep-stamp

build: build-arch build-indep

clean:
	dh_testdir
	dh_testroot
	rm -f build-arch-stamp build-indep-stamp configure-stamp
	if [ -f Makefile -a -f config.status ]; then $(MAKE) clean; fi
	find . -type f -and -name \*~ -or -name .\*~ -exec rm -f {} \;
	rm -f debian/ctsim.postinst.* debian/ctsim.prerm.*
	# Ensure up-to-date versions of config.sub and config.guess
	-test -r /usr/share/misc/config.sub && cp -f /usr/share/misc/config.sub config.sub
	-test -r /usr/share/misc/config.guess && cp -f /usr/share/misc/config.guess config.guess
	-rm -f configure-stamp build-indep-stamp build-arch-stamp
	-test -r Makefile && $(MAKE) clean
	dh_clean

install: DH_OPTIONS=
install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	dh_installdirs -p $(pkg-help) $(ctsim-shared)
	${MAKE} install
	rm $(DESTDIR)/usr/share/doc/$(pkg)/simulate.html
	dh_installdirs -p $(pkg) $(pixmap-dir)
	dh_installdirs -p $(pkg) $(desktop-dir)
	dh_install -p $(pkg) debian/ctsim.xpm $(pixmap-dir)
	dh_install -p $(pkg) debian/ctsim.desktop $(desktop-dir)
	dh_install -p $(pkg-help) docs/ctsim.htb $(ctsim-shared)
	dh_install -p $(pkg-doc) docs/html $(doc-dir)
	dh_install -p $(pkg-doc) html/simulate.html $(doc-dir)/examples
	dh_link -p $(pkg-doc) $(doc-dir)/html/$(pkg)_contents.html $(doc-dir)/html/index.html
	gzip -9 docs/ctsim.pdf
	dh_install -p $(pkg-doc) docs/ctsim.pdf.gz $(doc-dir)
	gunzip docs/ctsim.pdf.gz
	chmod +x helical/*.sh tools/*.sh

binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installdocs -i
	dh_installexamples -i
	dh_installmenu -i
	dh_installcron -i
	dh_installinfo -i
	dh_installchangelogs ChangeLog -i
	dh_installexamples -p $(pkg-doc) tools/sample-ctsim.sh helical/sample-helical.sh -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: build install
	dh_testdir -a
	dh_testroot -a
	dh_installdocs -Xsimulate.html -a
	dh_installchangelogs ChangeLog -a
	dh_strip -a
	dh_link -a
	dh_compress -a
	dh_fixperms -a
	dh_installmenu -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch

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