#!/usr/bin/make -f

CFLAGS = -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2 -Wall -Werror -fno-strict-aliasing -Wstrict-prototypes  -Wmissing-prototypes -Wmissing-declarations -Wbad-function-cast
# -Wcast-qual -Wbad-function-cast -Wextra
# -Wsign-compare
endif
ifneq (,$(shell cc --version | grep 4\\.0))
CFLAGS += -Wno-pointer-sign
endif

export CFLAGS

SRC	:= $(PWD)/src
BUILD	:= $(PWD)/debian/build
TARGET	:= $(PWD)/debian/tmp
BAZAAR_LANGUAGES := \
	af \
	ca \
	cs \
	cy \
	da \
	de \
	en_AU \
	en_CA \
	es \
	es_AR \
	es_ES \
	fi \
	fr \
	fr_BE \
	fr_FR \
	hr \
	it_IT \
	ja  \
	lt \
	nl \
	nl_BE \
	pt_BR \
	pt_PT \
	zh_CN

build: debian/build-stamp
debian/build-stamp:
	dh_testdir

	[ -d $(BUILD) ] || mkdir $(BUILD)
	cd $(BUILD) && CFLAGS="" $(SRC)/configure --prefix '/usr'
	$(MAKE) -C $(BUILD)
	$(MAKE) -C $(BUILD) test

	touch debian/build-stamp

clean:
	dh_testdir
	rm -f debian/build-stamp

	perl -pi -e 's,\.\./libneon/libneon\.a,-lneon,' src/baz/baz/Makefile.in
	perl -pi -e 's,libneon.*,,' src/baz/baz/PLUGIN/REQ
	rm -f src/baz/libneon/PLUGIN/AUTOCONF
	rm -f src/baz/libneon/PLUGIN/REQ

	rm -rf $(BUILD)
	find . -name "++pristine-trees" | xargs rm -rf
	dh_clean

install: debian/build-stamp
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	$(MAKE) -C $(BUILD) install destdir=$(TARGET)
	dh_install --sourcedir=$(TARGET)
#	Why doesn't dh_install do gettext ???
	for lang in ${BAZAAR_LANGUAGES}; do \
	  install -m0755 -d $(CURDIR)/debian/bazaar/usr/share/locale/$${lang}/LC_MESSAGES; \
	  echo $(CURDIR)/debian/bazaar/usr/share/locale/$${lang}/LC_MESSAGES/bazaar.mo; \
	  install -m0444 $(TARGET)/usr/share/locale/$${lang}/LC_MESSAGES/bazaar.mo $(CURDIR)/debian/bazaar/usr/share/locale/$${lang}/LC_MESSAGES/bazaar.mo ;\
	done

#	Mangle and install gpg-check. Stupid thing has a broken shebang
	sed 's,^#!.*$$,#!/usr/bin/gawk -f,' src/baz/=gpg-check.awk > $(CURDIR)/debian/bazaar/usr/bin/bazaar-gpg-check
	chmod 0755 $(CURDIR)/debian/bazaar/usr/bin/bazaar-gpg-check

#	create and install a man page	
	mkdir -p $(BUILD)/man
	cd $(BUILD)/man && \
	env PATH="$(TARGET)/usr/bin:$(PATH)" perl $(CURDIR)/src/baz-manpage/generate-manpage.pl baz.1

binary-indep: 

binary-arch: build install
	dh_testdir -a
	dh_testroot -a

	dh_installdocs -a
	dh_installchangelogs -a src/baz/ChangeLog
	dh_installman -a

	dh_link -a
	dh_strip --dbg-package=bazaar -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
