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

# 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/flexc++
#                               file: flexc++_x.y.z.tar.gz

MD5TRUSTED := 6578f810f54e18234556dab3112e4d84

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

export DEB_BUILD_MAINT_OPTIONS=hardening=+all
export DEB_BUILD_HARDENING=1

export CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS)
export LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)

export CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS)
export CXXFLAGS += --std=c++0x -Wall 
export CXX = g++-4.8

SKEL = /usr/share/flexc++

build: build-indep build-arch
build-indep:
build-arch: build-stamp
build-stamp:
	dh_testdir
	# compile the package.
	./build program
	./build man
	./build manual
	touch build-stamp

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

install: build-arch
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	# Add here commands to install the package into debian/flexc++.
	./build install program debian/flexc++/usr/bin/flexc++
	./build install skel    debian/flexc++/usr/share/flexc++
	./build install std     debian/flexc++/usr/share/doc/flexc++
	./build install man     debian/flexc++/usr/share/man
	./build install manual  debian/flexc++/usr/share/doc/flexc++/manual

binary-indep:

binary-arch: build-arch install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs README.class-setup
#       dh_installexamples
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb


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 := flexc++
UPFILE := $(UPNAME)_$(UPVERSION).tar.gz
DEFILE := $(UPNAME)_$(UPVERSION).orig.tar.gz
URL                := https://www.icce.rug.nl/debian/flexc++
MD5CURRENT := `md5sum ../tarballs/$(DEFILE) | sed -e 's/ .*//'`

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 -N -nv -T10 -t3 -O \
	         ../tarballs/$(DEFILE) $(URL)/$(UPFILE) ; \
	else \
	        echo "Upstream source tarball have been already 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

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

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