#!/usr/bin/make -f

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

# This has to be exported to make some magic below work.
#export DH_OPTIONS

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

CFLAGS = -Wall -g

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

# FOR AUTOCONF 2.52 AND NEWER ONLY
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
  confflags += --build $(DEB_HOST_GNU_TYPE)
else
  confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif

# disable assembly for amd64, won't work
ifeq ($(DEB_HOST_ARCH_CPU),amd64)
  confflags += --disable-asm
endif

configure: configure-stamp
configure-stamp: autotools
	dh_testdir
	dh_quilt_patch
	./configure $(confflags) \
	--prefix=/usr --mandir=\$${prefix}/share/man \
	--infodir=\$${prefix}/share/info \
	--bindir=\$${prefix}/games \
	--disable-target-opt \
	CFLAGS="$(CFLAGS)"
	sed -i 's/install_nolink: install_bin/install_nolink: /' Makefile

	touch configure-stamp

# The autotools target adds forced build-time dependencies on
# autotools-dev (for /usr/share/misc/config.*)
# It's also a .PHONY make target.
autotools:
	-rm -f config.sub config.guess
	ln -s /usr/share/misc/config.sub config.sub
	ln -s /usr/share/misc/config.guess config.guess

	touch autotools

build-indep: build-indep-stamp
build-indep-stamp: configure
	dh_testdir -i
	$(MAKE) build_data
	cd doc; make html_yes

	touch build-indep-stamp

build-arch: build-arch-stamp
build-arch-stamp: configure
	dh_testdir -a

	$(MAKE) build_bin
	cd doc; make man/liquidwar.6.gz

	touch build-arch-stamp

build: build-indep build-arch

clean:
	dh_testdir
	dh_testroot

	[ ! -f Makefile ] || $(MAKE) distclean
	dh_quilt_unpatch

	rm -f build-arch-stamp build-indep-stamp configure-stamp autotools
	rm -f config.sub config.guess
	rm -rf .pc

	dh_clean

#install: DH_OPTIONS=
install-indep: build-indep
	dh_testdir -i
	dh_testroot -i
	dh_prep -i
	dh_installdirs -i

	$(MAKE) install_nolink DESTDIR=$(CURDIR)/debian/tmp

install-arch: build-arch
	dh_testdir -i
	dh_testroot -i
	dh_prep
	dh_installdirs

	$(MAKE) install_bin install_doc DESTDIR=$(CURDIR)/debian/tmp

install: install-indep install-arch

# Build architecture-independent files here.
# Pass -i to all debhelper commands in this target to reduce clutter.
binary-indep: #DH_OPTIONS=-i
binary-indep: install-indep
	dh_testdir -i
	dh_testroot -i
	dh_installdocs -i
	dh_installchangelogs ChangeLog -i
	dh_compress -i
	dh_install --sourcedir=debian/tmp -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
# Pass -a to all debhelper commands in this target to reduce clutter.
binary-arch: #DH_OPTIONS=-a
binary-arch: install-arch
	dh_testdir -a
	dh_testroot -a
	dh_install --sourcedir=debian/tmp -a
	mv doc/man/liquidwar.6.gz doc/man/liquidwar-server.6.gz
	dh_installman -pliquidwar-server doc/man/liquidwar-server.6.gz
	dh_link -pliquidwar usr/share/man/man6/liquidwar-server.6.gz usr/share/man/man6/liquidwar-mapgen.6.gz
	dh_link -pliquidwar usr/share/man/man6/liquidwar-server.6.gz usr/share/man/man6/liquidwar.6.gz
	cp misc/liquidwar_32x32.xpm debian/liquidwar/usr/share/pixmaps/lw_32x32.xpm
	cp misc/liquidwar.xpm debian/liquidwar/usr/share/pixmaps/
	cp misc/liquidwar.desktop debian/liquidwar/usr/share/applications/
	ln -s liquidwar-data debian/liquidwar/usr/share/doc/liquidwar
	dh_installdocs -a
	dh_installchangelogs -pliquidwar-server ChangeLog
	dh_installmenu -pliquidwar
	dh_strip -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-indep build-arch build clean binary-indep binary-arch binary install-indep install-arch install #autotools
