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

# This has to be exported to make some magic below work.
export DH_OPTIONS

JAVA_HOME?=/usr/lib/jvm/default-java
JFLAGS?=-source 1.4 -nowarn

SRCDIR := $(shell echo ./$(word $(words ${MAKEFILE_LIST}), ${MAKEFILE_LIST}) | \
sed -r "s/debian\/rules$$//")
VERSION := $(shell cd ${SRCDIR} && dpkg-parsechangelog | egrep '^Version:' | \
cut -f 2 -d ' ' | sed -r 's/\.dfsg(.)*//g')

NANOXML := nanoxml.jar
LITE := nanoxml-lite.jar
SAX := nanoxml-sax.jar

%:
	dh $@ --with javahelper

override_dh_auto_build:
	jh_build -o'${JFLAGS}' -N ${LITE} Sources/Lite/
	jh_build -o'${JFLAGS}' -N ${NANOXML} Sources/Java/
	CLASSPATH=${NANOXML} jh_build -o'${JFLAGS}' -N ${SAX} Sources/SAX/
	jh_manifest -c /usr/share/java/${NANOXML} ${SAX}

	bnd wrap --output $(NANOXML).tmp $(NANOXML)
	bnd wrap --output $(LITE).tmp $(LITE)
	bnd wrap --output $(SAX).tmp $(SAX)
	mv $(NANOXML).tmp $(NANOXML)
	mv $(LITE).tmp $(LITE)
	mv $(SAX).tmp $(SAX)

	${JAVA_HOME}/bin/javadoc -author -link /usr/share/doc/default-jdk-doc/api -quiet \
	-sourcepath Sources/Java/:Sources/Lite/:Sources/SAX/ -source 1.4 \
	nanoxml net.n3.nanoxml net.n3.nanoxml.sax -d api

override_dh_auto_test:
	if [ $(filter nocheck, $(DEB_BUILD_OPTIONS)) ]; \
		then	echo "Disabeling tests"; \
		else	make -f debian/rules test; \
	fi;

override_dh_clean:
	jh_clean
	rm ${SAX} ${NANOXML} ${LITE} *.bar || echo "no jars to remove"
	rm -rf api
	rm -rf Test/*/*.class
	rm -rf debian/orig.tmp || echo "No failed source fetch"

	dh_clean

test:
	set -e
	cd Test/Lite && \
	${JAVA_HOME}/bin/javac ${JFLAGS} -cp .:../../${LITE} `find -iname *.java` && \
	for TESTFILE in *.xml; \
		do if [ "`${JAVA_HOME}/bin/java -cp .:../../${LITE} DumpXML_Lite $${TESTFILE}`" != "`cat $${TESTFILE}.out`" ]; \
		then	echo ${LITE} failed $${TESTFILE}; \
			exit 1; \
		fi; \
	done

	cd Test/Java && \
	${JAVA_HOME}/bin/javac ${JFLAGS} -cp .:../../${NANOXML} `find -iname *.java` && \
	for TESTFILE in *.xml; \
		do if [ "`${JAVA_HOME}/bin/java -cp .:../../${NANOXML} DumpXML $${TESTFILE}`" != "`cat $${TESTFILE}.out`" ] ;\
		then	echo ${NANOXML} failed $${TESTFILE}; \
			exit 1; \
		fi; \
	done
	touch $@

get-orig-source:
	set -e
	sh ${SRCDIR}/debian/origCleaner.sh thisIsIgnored ${VERSION} alsoIgnored ${SRCDIR}/debian/orig.tmp
