#!/usr/bin/make -f

VER := $(shell head -1 debian/changelog | sed -e 's/^.*(//' -e 's/).*$$//')
tmp := $(CURDIR)/debian/lintian
usl := $(tmp)/usr/share/lintian
neededfiles := debian/rules frontend/lintian
allchecks := $(wildcard checks/*)
allcollect := $(wildcard collection/*)
tagfiles := $(wildcard testset/tags.*)
onlyrun =

runtests: $(neededfiles) $(allchecks) $(allcollect) $(tagfiles)
	@echo .... running tests ....
	[ -d debian/tests ] || mkdir debian/tests
	LINTIAN_ROOT="" /usr/bin/perl testset/runtests -k testset debian/tests $(onlyrun)
	touch $@

build: $(neededfiles)
	@echo .... running build ....
	dh_testdir
	cd doc && LANG=C debiandoc2html lintian.sgml
	cd doc && LANG=C debiandoc2text lintian.sgml

clean: $(neededfiles)
	@echo .... cleaning ....
	dh_testdir
	dh_testroot
	rm -f runtests
	rm -rf doc/lintian.html/ doc/lintian.txt
	rm -rf debian/tests
	find -name "*.py?" -print0 | xargs -0r rm
	dh_clean -Xtestset/diffs/binary.c~

binary-indep: $(neededfiles) build
	@echo .... binary-indep ....
	dh_testdir
	dh_testroot
	dh_clean -k -Xtestset/diffs/binary.c~
	dh_installdirs

# frontends
	@echo .... install frontends ....
	install -m 755 frontend/lintian $(tmp)/usr/bin/
	sed -i 's/<VERSION>/$(VER)/' $(tmp)/usr/bin/lintian
	install -m 755 frontend/lintian-info $(tmp)/usr/bin/
# library files
	@echo .... install library files ....
	find checks collection data lib unpack \
	    \( -path '*/CVS' -o -path '*/.svn' \) -prune -o -print \
		| cpio -admp $(usl)
# documentation
	@echo .... install documentation ....
	dh_installdocs
	dh_installchangelogs
# manual pages
	@echo .... install manual pages ....
	dh_installman man/*.1
# config file
	@echo .... install config file ....
	install -m 644 doc/lintianrc.example $(tmp)/etc/lintianrc
# control files
	@echo .... fix things up and build packages ....
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary-arch:

binary:	binary-indep binary-arch

.PHONY: build binary binary-arch binary-indep clean
.DELETE_ON_ERROR: runtests
