#!/usr/bin/make -f
# Copyright (C) 2004-2005 Anibal Monsalve Salazar <anibal@debian.org>
# Copyright (c) 2005 Juan Esteban Monsalve Tobon <esteban@v7w.com>

include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/buildtools.mk

STRIP      := $(STRIP) --strip-unneeded --remove-section=.comment --remove-section=.note

CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
CXXFLAGS += -ffile-prefix-map=$(CURDIR)=.

build:
	$(checkdir)
	cp -f /usr/share/misc/config.sub .
	cp -f /usr/share/misc/config.guess .
	./configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) --prefix=/usr --enable-shared	./configure --prefix=/usr --enable-shared
	$(MAKE) install prefix=$(CURDIR)/shared CXXFLAGS="$(CXXFLAGS)"
	[ ! -f Makefile ] || $(MAKE) distclean
	-rm -f config.log config.cache
	./configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) --prefix=/usr --enable-static
	$(MAKE) install prefix=$(CURDIR)/static CXXFLAGS="$(CXXFLAGS)"
	touch build

clean:
	$(checkdir)
	-rm -f build
	[ ! -f Makefile ] || $(MAKE) distclean
	-rm -f config.log config.cache
	-rm -f `find . -name "*~"`
	-rm -rf tnt shared static
	-rm -rf debian/tmp debian/files* core debian/substvars debian/debhelper.log
	-rm -rf debian/liblip2t64 debian/liblip-dev

binary-indep: checkroot build
	$(checkdir)
	-rm -rf debian/tmp

binary-arch: checkroot build
	$(checkdir)
	-rm -rf debian/tmp
	-rm -rf debian/liblip2t64 debian/liblip-dev
	install -d debian/tmp/DEBIAN debian/liblip2t64/usr/share/doc/liblip2t64/examples
	cd debian && install -d liblip2t64 liblip-dev
	cd debian/liblip2t64    && install -d DEBIAN usr/share/doc usr/lib/lip
	cd debian/liblip-dev && install -d DEBIAN usr/share/doc usr/lib/lip usr/include/lip

	cd debian && install -m 644 shlibs liblip2t64/DEBIAN

	cd shared/lib && $(STRIP) --strip-unneeded liblip.so.2.0.0
	cd static/lib && strip --strip-debug liblip.a

	mv shared/lib/liblip.so.* debian/liblip2t64/usr/lib/lip
	mv shared/lib/liblip.so debian/liblip-dev/usr/lib/lip	
	sed "s/^libdir=.*/libdir=\'\/usr\/lib\/lip\'/" shared/lib/liblip.la > debian/liblip-dev/usr/lib/lip/liblip.la
	mv static/lib/liblip.a debian/liblip-dev/usr/lib/lip	
	sed "s/^#include \"forest.h\"/#include <lip\/forest.h>/" static/include/interpol.h > debian/liblip-dev/usr/include/lip/interpol.h
	sed "s/^#include \"memblock.h\"/#include <lip\/memblock.h>/" static/include/forest.h > debian/liblip-dev/usr/include/lip/forest.h
	mv static/include/liblip.h debian/liblip-dev/usr/include/lip
	mv static/include/memblock.h debian/liblip-dev/usr/include/lip
	chmod +r debian/liblip-dev/usr/include/lip/*

	cp -p debian/copyright debian/liblip2t64/usr/share/doc/liblip2t64
	cp -p debian/changelog debian/liblip2t64/usr/share/doc/liblip2t64/changelog.Debian
	cp -p docs/* debian/liblip2t64/usr/share/doc/liblip2t64/
	cp -p examples/example* debian/liblip2t64/usr/share/doc/liblip2t64/examples
	cp -p examples/Makefile debian/liblip2t64/usr/share/doc/liblip2t64/examples
	cd debian/liblip2t64/usr/share/doc/liblip2t64 && gzip -9n changelog.Debian examples/*

	ln -s liblip2t64 debian/liblip-dev/usr/share/doc/liblip-dev

	dpkg-shlibdeps debian/liblip2t64/usr/lib/lip/*
	dpkg-gencontrol -isp -pliblip2t64 -Pdebian/liblip2t64
	cd debian/liblip2t64 && find * -type f ! -regex "DEBIAN/.*" -print0 |\
	LC_ALL=C sort -z | xargs -0r md5sum > DEBIAN/md5sums
	chown -R root.root debian/liblip2t64
	chmod -x debian/liblip2t64/usr/lib/lip/*
	chmod -R go=rX debian/liblip2t64
	dpkg --build debian/liblip2t64 ..

	dpkg-gencontrol -isp -pliblip-dev -Pdebian/liblip-dev
	cd debian/liblip-dev && find * -type f ! -regex "DEBIAN/.*" -print0 |\
	LC_ALL=C sort -z | xargs -0r md5sum > DEBIAN/md5sums
	chown -R root.root debian/liblip-dev
	chmod -x debian/liblip-dev/usr/lib/lip/liblip.a
	chmod -x debian/liblip-dev/usr/lib/lip/liblip.la
	chmod -R go=rX debian/liblip-dev
	dpkg --build debian/liblip-dev ..

define checkdir
	test -f debian/rules
endef

binary: binary-indep binary-arch

checkroot:
	$(checkdir)
	test root = "`whoami`"

build-arch: build
build-indep: build

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