#!/usr/bin/make -f
#DEB_BUILD_OPTIONS=nostrip
#CFLAGS=-Wall -g
#CXXFLAGS=-Wall -g
DEB_DEBIAN_DIR=$(dir $(firstword $(MAKEFILE_LIST)))
REV=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \
              | sed -rne 's,^Version: .*[+~]svn([0-9]+).*,\1,p')
VER=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \
              | sed -rne 's,^Version: ([^-]+).*,\1,p')
SVNREV=$(shell echo $(VER) | sed -rne 's,[0-9]+\.[0-9]+\.[0-9]+\.([0-9]+),\1,p')

%:
	dh $@ --builddir=Build --build-system=cmake

# build local static libraries in configure step
override_dh_auto_configure:
	mkdir Build
	mkdir Build/lib
	mkdir Build/wxwidgets
	mkdir Build/codec2
	dh_auto_configure --sourcedirectory=codec2 --builddirectory=Build/codec2 --buildsystem=cmake -- -DBUILD_SHARED_LIBS=OFF
	if [ -d wxwidgets ] ; then dh_auto_configure --sourcedirectory=wxwidgets --builddirectory=Build/wxwidgets -- --disable-shared --prefix=$(CURDIR)/Build/usr ; fi
	if [ -d wxwidgets ] ; then cd Build/wxwidgets && make -j3 ; fi
	if [ -d wxwidgets ] ; then cd Build/wxwidgets && make install DESTDIR=/ ; fi
	cd Build/codec2 && make
	cd Build/codec2 && make install DESTDIR=$(CURDIR)/Build
	dh_auto_configure --builddirectory=Build --buildsystem=cmake -- -DSVN_REVISION=\"$(SVNREV)\"
	find . -name platform.h
	find .

override_dh_auto_install:
	dh_auto_install
	/usr/bin/install --mode=0644 -D contrib/freedv.desktop debian/freedv/usr/share/applications/freedv.desktop
	for r in 48x48 64x64 128x128 256x256 ; do /usr/bin/install --mode=0644 -D contrib/freedv$$r.png debian/freedv/usr/share/icons/hicolor/$$r/apps/freedv.png ; done

testvars:
	echo DEB_DEBIAN_DIR $(DEB_DEBIAN_DIR)
	echo SVNREV $(SVNREV)
	echo VER: $(VER)

fdmdv2-src: # remove cruft
	rm -rf fdmdv2-$(VER)
	svn -q export -r $(SVNREV) https://svn.code.sf.net/p/freetel/code/fdmdv2/ \
          fdmdv2-$(VER)
	rm -rf fdmdv2-$(VER)/conf # SVN cruft
	rm -rf fdmdv2-$(VER)/hooks # SVN cruft
	rm -rf fdmdv2-$(VER)/locks # SVN cruft
	rm -rf fdmdv2-$(VER)/build # codelite cruft
	rm -rf fdmdv2-$(VER)/db # SVN cruft
	tar -cJ --owner root --group root --mode a+rX \
         -f fdmdv2_$(VER).orig.tar.xz \
         fdmdv2-$(VER)
	rm -r fdmdv2-$(VER)

codec2-dev-src: # remove binary data and cruft
	rm -rf codec2
	svn -q export -r $(SVNREV) https://svn.code.sf.net/p/freetel/code/codec2-dev/ \
          codec2
	rm -rf codec2/raw # Audio data
	rm -rf codec2/stm32 # Maybe non-dfsg?
	rm -rf codec2/wav # Audio data
	rm -rf codec2/win32 # here be .dll files
	tar -cJ --owner root --group root --mode a+rX \
         -f fdmdv2_$(VER).orig-codec2.tar.xz \
         codec2
	rm -r codec2

wxwidgets-src: # remove convenience copies of libraries
	rm -rf wxWidgets-2.9.5.tar.bz2 wxwidgets-2.9.5.orig
	wget ftp://ftp.wxwidgets.org/pub/2.9.5/wxWidgets-2.9.5.tar.bz2
	tar jxf wxWidgets-2.9.5.tar.bz2

	rm -rf wxWidgets-2.9.5/src/expat
	rm -rf wxWidgets-2.9.5/src/jpeg
	rm -rf wxWidgets-2.9.5/src/png
	rm -rf wxWidgets-2.9.5/src/tiff
	rm -rf wxWidgets-2.9.5/src/zlib
	rm wxWidgets-2.9.5/docs/doxygen/images/main_wxlogo.pdf

	mv wxWidgets-2.9.5 wxwidgets-2.9.5.orig
	tar -c --owner root --group root --mode a+rX \
         -f fdmdv2_$(VER).orig-wxwidgets.tar \
         wxwidgets-2.9.5.orig
	bzip2 fdmdv2_$(VER).orig-wxwidgets.tar
	rm -r wxwidgets-2.9.5.orig

get-orig-source: fdmdv2-src codec2-dev-src
