#!/usr/bin/make -f

include /usr/share/quilt/quilt.make


export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

CFLAGS = -Wall -g
CPPFLAGS = -I/usr/include/lua5.1

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

ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

BUILDDIR_NOX = $(CURDIR)/debian/build-nox
BUILDDIR_X11 = $(CURDIR)/debian/build-x11

autoreconf: autoreconf-stamp
autoreconf-stamp: $(QUILT_STAMPFN)
	dh_testdir
	autoreconf
	touch $@

configure-nox: configure-nox-stamp
configure-nox-stamp: autoreconf-stamp
	dh_testdir
	mkdir -p $(BUILDDIR_NOX)
	cd $(BUILDDIR_NOX); CFLAGS="$(CFLAGS)" \
		LDFLAGS="-Wl,-z,defs,-as-needed" ../../configure \
		--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr --mandir=\$${prefix}/share/man \
	  	--infodir=\$${prefix}/share/info \
		--libexecdir=\$${prefix}/lib/gnuplot \
	  	--datadir=\$${prefix}/share/gnuplot \
		--with-gihdir=\$${prefix}/share/gnuplot \
	  	--without-lasergnu --with-png --with-gd --without-lisp-files \
	  	--without-linux-vga --with-readline=bsd --without-x \
		--disable-wxwidgets
	touch $@

configure-x11: configure-x11-stamp
configure-x11-stamp: autoreconf-stamp
	dh_testdir
	mkdir -p $(BUILDDIR_X11)
	cd $(BUILDDIR_X11); CFLAGS="$(CFLAGS)" \
		LDFLAGS="-Wl,-z,defs,-as-needed" ../../configure \
		--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
	  	--prefix=/usr --mandir=\$${prefix}/share/man \
	  	--infodir=\$${prefix}/share/info \
	  	--libexecdir=\$${prefix}/lib/gnuplot \
	  	--datadir=\$${prefix}/share/gnuplot \
		--with-gihdir=\$${prefix}/share/gnuplot \
	  	--without-lasergnu --with-png --with-gd --without-lisp-files \
	  	--without-linux-vga --with-readline=bsd
	touch $@

build-nox: build-nox-stamp
build-nox-stamp: configure-nox
	dh_testdir
	$(MAKE) -C $(BUILDDIR_NOX)/src
	touch $@

build-x11: build-x11-stamp
build-x11-stamp: configure-x11
	dh_testdir
	$(MAKE) -C $(BUILDDIR_X11) pkglibexecdir='$$(libexecdir)'
	touch $@

build-arch: build-nox build-x11

build-indep: build-indep-stamp
build-indep-stamp: build-arch
	dh_testdir
	cp -f term/PostScript/prologue.ps docs/psdoc/
	$(MAKE) -C $(BUILDDIR_X11)/docs ps info gpcard.ps
	$(MAKE) -C $(BUILDDIR_X11)/tutorial tutorial.dvi tutorial.ps
	$(MAKE) -C docs/psdoc ps_fontfile_doc.ps
	mkdir -p docs/htmldocs
	$(MAKEINFO) --html --output=docs/htmldocs/ docs/gnuplot.texi
	touch $@

build: build-arch build-indep

clean: unpatch
	dh_testdir
	dh_testroot
	rm -f build-arch-stamp build-indep-stamp build-nox-stamp \
		build-x11-stamp configure-nox-stamp	configure-x11-stamp
	dh_clean
	rm -rf debian/build-nox debian/build-x11 \
		config.log \
		config.hin \
		configure \
		src/Makefile.in \
		debian/gnuplot \
		debian/gnuplot-doc \
		debian/gnuplot-nox \
		debian/gnuplot-x11 \
		docs/psdoc/ps_symbols.ps \
		docs/psdoc/ps_fontfile_doc.aux \
		docs/psdoc/ps_fontfile_doc.dvi \
		docs/psdoc/ps_fontfile_doc.log \
		docs/psdoc/ps_fontfile_doc.pdf \
		docs/psdoc/ps_fontfile_doc.ps \
		docs/psdoc/ps_fontfile_doc.log \
		docs/psdoc/ps_fontfile_doc.aux \
		docs/psdoc/ps_fontfile_doc.ps \
		docs/psdoc/prologue.ps \
		docs/psdoc/missfont.log \
		docs/htmldocs

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	$(MAKE) -C $(BUILDDIR_X11) install DESTDIR=$(CURDIR)/debian/tmp/ \
		pkglibexecdir='$$(libexecdir)'
	chmod u-s $(CURDIR)/debian/tmp/usr/bin/gnuplot
	mkdir -p debian/gnuplot-nox/usr/share/gnuplot/pm3d
	cp -p pm3d/contrib/* debian/gnuplot-nox/usr/share/gnuplot/pm3d
	dh_install
	mkdir -p debian/gnuplot-doc/usr/share/doc/gnuplot-doc/html
	cp -f docs/htmldocs/* debian/gnuplot-doc/usr/share/doc/gnuplot-doc/html/

binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installdocs -pgnuplot-doc
	dh_installexamples -i -X CVS
	dh_installinfo -pgnuplot-doc $(BUILDDIR_X11)/docs/gnuplot.info*
	dh_installchangelogs -pgnuplot-doc ChangeLog
	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 -a
	dh_installmenu -a
	dh_installman -a
	dh_installchangelogs ChangeLog -a
	dh_strip -a
	dh_link -a
	dh_compress -a
	dh_fixperms -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-nox configure-x11 build-nox build-rest build-x11
