#!/usr/bin/make -f
# Based on sample debian/rules that uses debhelper,
# GNU copyright, 1997 to 1999 by Joey Hess,
# modified 2002 to 2004 by Barak A. Pearlmutter.

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

SHELL=/bin/bash

ifeq ($(DEB_HOST_GNU_TYPE),m68k-linux-gnu) # m68k GCC 4.0 breakage
	CFLAGS = -Wall -Wno-non-virtual-dtor
else
	CFLAGS = -Wall
endif

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -g
else
	CFLAGS += -DNDEBUG
endif

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

ifeq ($(DEB_HOST_GNU_TYPE),m68k-linux-gnu) # m68k GCC 4.0 breakage
	CFLAGS += -O2
else ifeq ($(DEB_HOST_GNU_TYPE),alpha-linux-gnu) # alpha GCC 4.1/4.2 breakage
	CFLAGS += -O0
else
	CFLAGS += -O3
endif

config.status: configure
	dh_testdir
	./configure --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
	touch --no-create tools/jb2cmp/mdjvucfg.h
	$(MAKE) -k depend	# otherwise a missing Makefile.dep blows up
	$(MAKE) OPTS="$(CFLAGS)" # hotwire compiler options
	touch build-stamp

clean:
	dh_testdir
	rm -f build-stamp  config.status
	-$(MAKE) distclean
	-test -r /usr/share/misc/config.sub && \
	  cp -f /usr/share/misc/config.sub config/config.sub
	-test -r /usr/share/misc/config.guess && \
	  cp -f /usr/share/misc/config.guess config/config.guess

plugsubdir=netscape/plugins-libc6
plug=$(plugsubdir)/nsdejavu.so

install: build
	dh_testdir
	dh_installdirs
	$(MAKE) install	\
		DESTDIR=$(CURDIR)/debian/tmp \
		plugindir=/usr/lib/$(plugsubdir)
	chmod +x debian/tmp/usr/bin/any2djvu
	mkdir --parents debian/tmp/usr/lib/cgi-bin
	cp --preserve=timestamps debian/djvuserve.sh \
		debian/tmp/usr/lib/cgi-bin/djvuserve
	chmod +x debian/tmp/usr/lib/cgi-bin/djvuserve
	mkdir --parents      debian/tmp/usr/lib/mozilla/plugins
	ln -sf ../../$(plug) debian/tmp/usr/lib/mozilla/plugins/
	mkdir --parents      debian/tmp/usr/lib/mozilla-firefox/plugins
	ln -sf ../../$(plug) debian/tmp/usr/lib/mozilla-firefox/plugins/
	-rm debian/tmp/usr/bin/djview
	-rm debian/tmp/usr/share/man/man1/djview.1

# 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_movefiles
#	dh_installdebconf
	dh_installdocs --noscripts
	dh_installexamples
	dh_installmenu
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
	dh_installmime
#	dh_installinit
	dh_installcron
	dh_installman
	dh_installinfo
	dh_installchangelogs
	dh_link
	dh_strip
	dh_compress --exclude=.djvu
	dh_fixperms
	dh_makeshlibs --exclude=/plugins --version-info
	dh_installdeb
#	dh_perl
	dh_shlibdeps # -L libdjvulibre15 -l debian/libdjvulibre15/usr/lib
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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