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

# Use debhelper V. 4
export DH_COMPAT=4

# The current SONAME (FIXME: can we autodetect this?)
SONAME=5c2

b := $(shell pwd)/debian/tmp

CXXFLAGS = -Wall -g

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

binary: binary-stamp
binary-stamp: binary-arch-stamp binary-indep-stamp

binary-arch: binary-arch-stamp
binary-arch-stamp: arrange-stamp
	dh_testdir
	dh_testroot
	dh_installdebconf
	dh_installdocs -plibsigc++-1.2-dev README TODO IDEAS doc/FAQ
	dh_installdocs -plibsigc++-1.2-dev builddir/doc/manual/manual
	dh_installdocs -plibsigc++-1.2-$(SONAME)
	dh_installexamples -plibsigc++-1.2-dev examples/*.cc examples/*.m4
	dh_installchangelogs ChangeLog
	dh_link
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_strip
	dh_gencontrol -- -VSoname=$(SONAME)
	dh_md5sums
	dh_builddeb

binary-indep: binary-indep-stamp
binary-indep-stamp: arrange-stamp

build: build-stamp
build-stamp: config
	dh_testdir
	#cd builddir && perl -i -pe 's/^(hardcode_libdir_flag_spec\s*=\s*).+$$/$$1" -D__LIBTOOL_IS_A_FOOL__ "/' libtool
	cd builddir && $(MAKE)
	cd builddir/doc/manual && rm -rf manual && mkdir manual && SGML_CATALOG_FILES=/etc/sgml/catalog xsltproc -o manual/ --catalogs /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/xhtml/chunk.xsl ../../../doc/manual/libsigc_manual.xml
	touch build-stamp

clean: clean-arrange
	dh_testdir
	dh_testroot
	if [ -d builddir ]; then rm -rf builddir; fi
	#-for x in debian/*.patch; do patch --dry-run -fRp1 < $$x > /dev/null&&\
	#  patch -fRp1 < $$x ; done
	dh_clean build-stamp config-stamp install-stamp debian/shlibs.local
	# Sometimes shows up if the source directory was configured:
	rm -f config.log

config: config-stamp
config-stamp:
	dh_testdir
	#for x in debian/*.patch; do patch --dry-run -fp1 < $$x > /dev/null && \
	#  patch -fp1 < $$x; done
	test -d builddir || mkdir builddir
	cd builddir && CXXFLAGS="$(CXXFLAGS)" ../configure --prefix=/usr
	touch config-stamp

install: install-stamp
install-stamp: build
	dh_testdir
	dh_installdirs
	# Need to use prefix instead of DESTDIR because of the
	# braindead install-data-hook that tries to remove
	# $(prefix)/include/sigc++
	cd builddir && $(MAKE) prefix=$(b)/usr install
	touch install-stamp

clean-arrange:
	dh_testdir
	dh_testroot
	if [ -f debian/soname-specific-files ]; then rm -f `cat debian/soname-specific-files`; rm debian/soname-specific-files; fi

arrange: arrange-stamp
arrange-stamp: install clean-arrange
	echo "debian/libsigc++-1.2-$(SONAME).files" > debian/soname-specific-files
	#echo "debian/libsigc++-1.2-$(SONAME).postinst" > debian/soname-specific-files
	for x in files; do cp -v debian/libsigc++-1.2.soname.$$x debian/libsigc++-1.2-$(SONAME).$$x; done
	dh_movefiles
	touch arrange-stamp

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