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

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

CXXFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CXXFLAGS += -O0
else
	CXXFLAGS += -O2
endif

build: build-indep build-arch
build-indep:
build-arch: build-stamp
build-stamp:
	dh_testdir
	# compile the package.
	sed 's,/usr/local,/usr,' INSTALL.im > INSTALL.x
	mv INSTALL.x INSTALL.im
	./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 debian/flexc++

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

# 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 := b312d85d68128b068c1d309dbe475504

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/ .*//'`
SVNTRUNK   := https://oosix.icce.rug.nl/svnroot/flexc++/trunk/flexc++

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


get-svn-trunk:
	@@dh_testdir
	@@[ -d ../tarballs/. ]||mkdir -p ../tarballs
	rm -rf ../tarballs/$(DEFILE) ../tarballs/flexc++-svn-trunk
	svn --force export $(SVNTRUNK) ../tarballs/flexc++-svn-trunk
	@@if [ -d ../tarballs/flexc++-svn-trunk/debian ] ; then rm -rf ../tarballs/flexc++-svn-trunk/debian; fi
	@@ echo Building the SVN TRUNK tarball in ../tarballs/$(DEFILE)
	@@GZIP=-9 tar -b1 -czf ../tarballs/$(DEFILE) -C ../tarballs flexc++-svn-trunk
	rm -rf ../tarballs/flexc++-svn-trunk

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
