#!/usr/bin/make -f

#export DH_VERBOSE=1

librarypackage		:= libmusicbrainz4c2a
DEB_PYTHON_VERSIONS	:= $(shell pyversions -r)

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

CFLAGS			= -Wall -g

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

version=`ls src/.libs/lib*.so.* | \
	awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
major=`ls src/.libs/lib*.so.* | \
	awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

config.status: configure-stamp
configure-stamp:
	dh_testdir
	ln -sf /usr/share/misc/config.sub	config.sub
	ln -sf /usr/share/misc/config.guess	config.guess
	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CFLAGS)" ./configure \
		--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr
	touch $@

build: build-arch build-indep

build-arch: build-stamp
build-stamp: config.status
	dh_testdir
	$(MAKE)
	touch $@

build-indep: build-arch

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp
	[ ! -f Makefile ] || $(MAKE) -i distclean
	dh_clean config.sub config.guess lib/mb.h lib/mb.cpp

install-arch: build-arch
	dh_testdir
	dh_testroot
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
	install -D -m 0644 debian/$(librarypackage).overrides \
		debian/$(librarypackage)/usr/share/lintian/overrides/$(librarypackage)

install-indep: build-indep
	dh_testdir
	dh_testroot
	set -e; cd python && for py in $(DEB_PYTHON_VERSIONS); do \
		$$py setup.py install --no-compile -O0 \
			--root $(CURDIR)/debian/python-musicbrainz; \
		rm -rfv build *.pyc; \
	done

binary-indep: install-indep
	dh_testdir
	dh_testroot
	dh_installchangelogs -i ChangeLog
	dh_installdocs -i
	dh_installexamples -i
	dh_compress -i -X.py
	dh_fixperms -i
	dh_pysupport -i
	dh_python -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: install-arch
	dh_testdir
	dh_testroot
	dh_install -a --sourcedir=$(CURDIR)/debian/tmp --list-missing
	dh_installchangelogs -a ChangeLog
	dh_installdocs -a -A README TODO AUTHORS
	dh_installexamples -a
	dh_link -a
	dh_strip -a
	dh_compress -a -X.c -X.cpp
	dh_fixperms -a
	dh_makeshlibs -a -V
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

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