#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
export DEB_BUILD_HARDENING=1
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

PYTHONS	:= $(shell pyversions -vr)
#ruby_ver = 1.8
arch_name = $(subst linux-gnu,linux-,$(patsubst %linux-gnu,%linux,$(DEB_BUILD_GNU_TYPE)))
#ruby_libdir  = $(CURDIR)/debian/tmp/usr/lib/ruby/$(ruby_ver)
#ruby_archdir = $(CURDIR)/debian/tmp/usr/lib/ruby/$(ruby_ver)/$(arch_name)

DEB_HOST_GNU_TYPE       ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE      ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

configure: configure-stamp
configure-stamp:
	dh_testdir
	#ln -s comedi-calibrate-1 comedi-calibrate
	cp /usr/share/misc/config.sub .
	cp /usr/share/misc/config.guess .
	cp /usr/share/misc/config.sub comedi-calibrate/
	cp /usr/share/misc/config.guess comedi-calibrate/
	dh_autoreconf
	for pyvers in ${PYTHONS}; \
	do\
		mkdir -p pybuild/$$pyvers; \
		cp -Rl `ls . |grep -v pybuild|grep -v debian` pybuild/$$pyvers; \
		(cd pybuild/$$pyvers; \
		PYTHON="/usr/bin/python$$pyvers" ./configure \
			--host=$(DEB_HOST_GNU_TYPE) \
			--build=$(DEB_BUILD_GNU_TYPE) \
			--prefix=/usr);\
	done
	./configure \
		--host=$(DEB_HOST_GNU_TYPE) \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr \
		--mandir=\$${prefix}/share/man \
		--datadir=\$${prefix}/share/doc/ \
		--sysconfdir=/etc \
		--disable-firmware \
		--localstatedir=/var/lib/libcomedi0 \
		--disable-dependency-tracking \
		--disable-python-binding \
		--disable-ruby-binding \
		--with-pdf-backend=no\
		--with-gnu-ld
	cd comedi-calibrate && CPPFLAGS="-I $(CURDIR)/c++/include/ -I $(CURDIR)/include/" LDFLAGS="-L $(CURDIR)/lib/.libs" ./configure --disable-comedilib-checking
	touch $@

build: build-arch build-indep
build-arch: build-arch-stamp
build-arch-stamp: configure-stamp
	dh_testdir
	$(MAKE)
	cd comedi-calibrate && $(MAKE)
	for pyvers in ${PYTHONS};\
	do\
		rm -rf pybuild/$$pyvers/lib;\
		(cd pybuild/$$pyvers;\
		ln -s ../../lib .);\
		(cd pybuild/$$pyvers/swig/python;\
		$(MAKE));\
	done
	touch $@

build-indep: build-indep-stamp
build-indep-stamp: configure-stamp
	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -f config.sub
	rm -f config.guess
	rm -f config.log
	rm -f *-stamp
	rm -rf pybuild
	rm -rf doc/doc_html/
	rm -rf doc/man/
	rm -f lib/calib_lex.c
	rm -f lib/calib_lex.h
	rm -f lib/calib_yacc.c
	rm -f lib/calib_yacc.h
	#rm -f doc/*.xml
	rm -f doc/calibration_funcref.xml
	rm -f doc/command_funcref.xml
	rm -f doc/deprecated_funcref.xml
	rm -f rm -f doc/dio_funcref.xml
	rm -f doc/drivers.xml
	rm -f doc/error_funcref.xml
	rm -f doc/extensions_funcref.xml
	rm -f doc/funcref.xml
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f comedi-calibrate/config.sub
	rm -f comedi-calibrate/config.guess
	rm -f comedi-calibrate/config.log
	rm -f doc/pdf/comedilib.pdf
	[ ! -f comedi-calibrate/Makefile ]] || cd comedi-calibrate && [ ! -f Makefile ] || $(MAKE) distclean
	find . -name Makefile -exec rm -f {} \;
	#rm -f comedi-calibrate
	dh_autoreconf_clean
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	$(MAKE) install prefix=$(CURDIR)/debian/tmp/usr \
		pkgdatadir=$(CURDIR)/debian/tmp/usr/share/doc/libcomedi0 \
		sysconfdir=$(CURDIR)/debian/tmp/etc \
		localstatedir=$(CURDIR)/debian/tmp/var
	cd comedi-calibrate && $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr

	for pyvers in ${PYTHONS};\
	do\
		(cd pybuild/$$pyvers/swig/python;\
		$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install);\
	done

	mkdir -p debian/tmp/lib/udev/rules.d
	cp debian/90-comedi.rules debian/tmp/lib/udev/rules.d/
	chmod 644 debian/tmp/usr/lib/python*/dist-packages/comedi.py
	mkdir -p debian/tmp/usr/share/doc/libcomedi-dev/demo
	cp -a demo debian/libcomedi-dev/usr/share/doc/libcomedi-dev
	rm -f debian/libcomedi-dev/usr/share/doc/libcomedi-dev/demo/Makefile*
	cp debian/Makefile.debian_demo debian/libcomedi-dev/usr/share/doc/libcomedi-dev/demo/Makefile
	cd debian/libcomedi-dev/usr/share/doc/libcomedi-dev/demo && make clean
	rm -rf debian/tmp/usr/local

binary-indep: build install

binary-arch: build install
	dh_testdir
	dh_testroot
	#
	# build libcomedi${major} package by moving files from comedilib-dev
	#
	dh_install --sourcedir=debian/tmp --list-missing

	dh_installdocs
	dh_installexamples
	dh_installmenu
	dh_installcron
	dh_installinfo
	dh_installchangelogs ChangeLog
	dh_link
	dh_strip
	dh_compress --exclude=.c
	dh_python2
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps -l $(CURDIR)/debian/tmp/usr/lib/
	dh_gencontrol
	dh_md5sums
	dh_builddeb

get-orig-source:
	VERCAL=1;\
	VER=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([^-+~]+).*,\1,p');\
	set -e;\
	wget -q http://comedi.org/download/comedilib-$$VER.tar.gz -O comedilib_$$VER.orig.tar.gz;\
	wget -q http://comedi.org/download/comedi_calibrate-$$VERCAL.tar.gz -O comedilib_$$VER.orig-comedi-calibrate.tar.gz

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