#!/usr/bin/make -f

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

CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)

CFLAGS += -Wall -Wextra -Wshadow
LDFLAGS += -Wl,-z,defs

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
	MAKEFLAGS += -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif

config.status: configure
	dh_testdir
	./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
	            --prefix=/usr --sysconfdir=/etc \
		    --mandir=\$${prefix}/share/man \
		    --infodir=\$${prefix}/share/info \
		    CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)'

build-arch: build-arch-stamp
build-arch-stamp:  config.status
	dh_testdir
	$(MAKE) \
		xfm_LDFLAGS="" \
		xfm_LDADD="-lXpm -lXaw3d -lXmu -lXt -lX11 -lz" \
		xfmmailcap_LDFLAGS="" \
		xfmtype_LDFLAGS="" \
		xfmtype_LDADD="-lz"
	touch build-arch-stamp

build-indep: build-indep-stamp
build-indep-stamp:
	touch build-indep-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-arch-stamp build-indep-stamp
	if [ -e config.status ] ; then $(MAKE) distclean ; fi
	! test -e config.log
	dh_clean

# Build architecture-independent files:
binary-indep: build-indep-stamp
# We have nothing to do

# Build architecture-dependent files:
binary-arch: build-arch-stamp
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	# install the package into debian/xfm:
	$(MAKE) install DESTDIR=$(CURDIR)/debian/xfm
	(sed -e '/^include/d' defaults/xfm_magic && cat debian/contrib/magic.mime) > debian/xfm/usr/share/xfm/xfm_magic
	echo 'include: /usr/share/xfm/xfm_magic' > debian/xfm/etc/X11/xfm/xfm_magic
	dh_install
	dh_installchangelogs ChangeLog
	dh_installdocs NEWS
	dh_installexamples
	dh_installmenu
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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