#!/usr/bin/make -f
# -*- makefile -*-

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

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

#
# On PowerPC we compile against the hand-crafted assembly, on all
# other architectures we compile against GPL'ed sha1 code lifted
# from Mozilla.  OpenSSL is strangely licensed and best avoided
# in Debian.
#
HOST_ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
ifeq (${HOST_ARCH},powerpc)
	export PPC_SHA1=YesPlease
else
	export MOZILLA_SHA1=YesPlease
endif

# We do have the requisite perl modules in the mainline, and
# have no reason to shy away from this script.
export WITH_SEND_EMAIL=YesPlease

PREFIX := /usr
MANDIR := /usr/share/man/

SRC    := ./
DOC    := Documentation/
DESTDIR  := $(CURDIR)/debian/tmp
DOC_DESTDIR := $(DESTDIR)/usr/share/doc/git-core/
MAN_DESTDIR := $(DESTDIR)/$(MANDIR)

build: debian/build-stamp
debian/build-stamp:
	dh_testdir
	$(MAKE) prefix=$(PREFIX) PYTHON_PATH=/usr/bin/python2.4 all test doc
	touch debian/build-stamp

debian-clean:
	dh_testdir
	dh_testroot
	rm -f debian/build-stamp
	dh_clean

clean: debian-clean
	$(MAKE) clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs 

	make DESTDIR=$(DESTDIR) prefix=$(PREFIX) mandir=$(MANDIR) \
		install install-doc

	make -C Documentation DESTDIR=$(DESTDIR) prefix=$(PREFIX) \
		WEBDOC_DEST=$(DOC_DESTDIR) install-webdoc

	dh_movefiles -p git-arch
	dh_movefiles -p git-cvs
	dh_movefiles -p git-svn
	dh_movefiles -p git-tk
	dh_movefiles -p git-email
	dh_movefiles -p git-doc
	dh_movefiles -p git-core
	find debian/tmp -type d -o -print | sed -e 's/^/? /'

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs -a
	dh_installdocs -a
	dh_strip -a
	dh_compress  -a
	dh_fixperms -a
	dh_perl -a
	dh_makeshlibs -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary-indep: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs -i
	dh_installdocs -i
	dh_compress  -i
	dh_fixperms -i
	dh_makeshlibs -i
	dh_installdeb -i
	dh_shlibdeps -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary: binary-arch binary-indep

.PHONY: build clean binary install clean debian-clean
