#!/usr/bin/make -f

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

# The following is for internal development usage only
# Update that sum when new _upstream_ releases occur, this
# catches silent file content forges at the upstream server side

# archive downloaded from https://www.icce.rug.nl/debian/bobcat
# (bobcat_x.y.z..tar.gz)

MD5TRUSTED := 5792cc53f78261940ab452309aa1b898


export DEB_BUILD_HARDENING=1
export LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
export CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS)
export CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS)
export CXX = g++

CXXFLAGS += --std=c++0x -Wall

build: build-indep build-arch
build-indep:
build-arch: build-stamp
build-stamp:
	dh_testdir
	# Add here commands to compile the package.
	./build libraries all
	./build man
	touch build-stamp

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

install: build-arch
	dh_testdir
	dh_testroot
	dh_clean
	dh_installdirs
	./build install debian/libbobcat3 debian/libbobcat-dev

binary-indep:

binary-arch: build-arch install
	dh_testdir
	dh_testroot
	dh_installchangelogs -A changelog
	dh_installdocs
#	dh_installexamples
#	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_makeshlibs -V -- -c0
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# The following is for internal development usage only

DEBVERSION:=$(shell head -n 1 debian/changelog | sed -e 's/^[^(]*(\([^)]*\)).*/\1/')
UPVERSION:=$(shell echo $(DEBVERSION) | sed -e 's/^.*://' -e 's/-[0-9.]*$$//' -e 's/.dfsg$$//')
UPNAME := bobcat
UPFILE := $(UPNAME)_$(UPVERSION).tar.gz
DEFILE := $(UPNAME)_$(UPVERSION).orig.tar.gz
URL				   := https://www.icce.rug.nl/debian/bobcat
MD5CURRENT := `md5sum ../tarballs/$(DEFILE) | sed -e 's/ .*//'`
SVNTRUNK   := https://svn.sourceforge.net/svnroot/bobcat/trunk/bobcat

get-orig-source:
	@@[ -d ../tarballs/. ]||mkdir -p ../tarballs

	-@if [ ! -f ../tarballs/$(DEFILE) ] ; then \
	echo -e "Downloading $(URL)/$(UPFILE)\nSaving into ../tarballs/$(DEFILE) ..." ; \
	wget --no-check-certificate --quiet -nv -T20 -t3 -O \
	../tarballs/$(DEFILE) $(URL)/$(UPFILE) ; \
	else \
	echo "Upstream source tarball has already been downloaded" ; \
	fi

	-@if [ "$(MD5CURRENT)" != "$(MD5TRUSTED)" ] ; then \
	echo "Expecting upstream filename md5sum $(MD5TRUSTED), but $(MD5CURRENT) found" ; \
	echo "Upstream filename md5sum is NOT trusted! Possible upstream filename forge!" ; \
	false ; \
	else \
	echo "Upstream filename md5sum is trusted!" ; \
	fi

# This series of commented-out lines are probably superfluous. 
# If so, they can be removed (FBB, May 10, 2013)
#
# # call git-build from the project's base directory as `fakeroot debian/rules git-build'
# # it creates  ../${UPNAME}-build and runs dpkg-buildpackage in ../${UPNAME}-build/$(UPNAME)-$(UPVERSION)
# # which, if successful, creates the debian files in ${UPNAME}-build
# # Probably easier to use is `git-bl'
# 
# debian-area = $(shell pwd)
# build-base  = ../$(UPNAME)-build
# build-area  = $(UPNAME)-$(UPVERSION)
# tarball     = ../tarballs/$(DEFILE) 
# garbage     = ../$(UPNAME)-build/$(UPNAME)-$(UPVERSION) ../$(UPNAME)-build/run.lintian
# 
# git-build:
# 	@@[ -d $(build-base)/. ] || mkdir -p $(build-base)
# 
# 	-@if [ ! -f $(tarball) ] ; then \
# 	    echo "Upstream source tarball $(tarball) not found" ; \
# 	else \
# 	    rm -rf $(garbage) ; \
# 	    cp $(tarball) $(build-base) ; \
# 	    chdir $(build-base) ; \
# 	    tar xzf $(DEFILE) ; \
# 	    chdir $(build-area) ; \
# 	    cp -r $(debian-area)/debian ./ ; \
# 	    dpkg-buildpackage $(DPKG_BUILDPACKAGE) ; \
# 	    if [ "$$?" -eq 0 ] ; then \
# 	        chdir .. ; \
# 	        touch run.lintian ; \
# 	        rm -rf $(build-area) ; \
# 	    else \
# 	        chdir .. ; \
# 	        mv $(build-area) $(build-area)-obsolete-`date +%s` ; \
# 	    fi \
# 	fi

print-version:
	@@echo "Debian version:   $(DEBVERSION)"
	@@echo "Upstream version: $(UPVERSION)"

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

