#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1

include /usr/share/dpkg/pkg-info.mk

export JAVA_HOME=/usr/lib/jvm/default-java
export CLASSPATH=/usr/share/java/jna.jar\
:/usr/share/java/jssc.jar\
:/usr/share/java/jsch.jar\
:/usr/share/java/jmdns.jar\
:/usr/share/java/commons-logging.jar\
:/usr/share/java/commons-httpclient.jar\
:/usr/share/java/commons-exec.jar\
# CLASSPATH terminator

# JAR files we need to link into the lib/ folders as jh_linkjars unfortunately
# doesn't recognize these Java libraries. Of course this is a hack.
JAR2LINK=commons-io log4j slf4j

%:
	dh $@ --with javahelper

override_dh_clean:
	rm -rf build/linux/work/hardware/tools
	cd build && ant clean
	rm -f debian/permission-checker/*.class
	dh_clean

override_jh_build: create-jar-links
	jh_linkjars
	mkdir -p build/linux/work/hardware/tools
	cd build && ant
	rm -f build/linux/work/lib/version.txt && \
	    echo "$(DEB_VERSION_UPSTREAM_REVISION)" > build/linux/work/lib/version.txt
	javac debian/permission-checker/arduinopc.java
	cd debian/permission-checker && jar cfe arduinopc.jar arduinopc *.class
	mv debian/permission-checker/*.jar .
	# Rebuild the PDF for the Arduino Serial Plotter Protocol
	pandoc -f gfm \
	       --metadata title="The Arduino Serial Plotter Protocol" \
	       build/shared/ArduinoSerialPlotterProtocol.md \
	       -o build/shared/ArduinoSerialPlotterProtocol.pdf
	cd build/shared && a2x --doctype manpage --format manpage manpage.adoc

override_dh_installchangelogs:
	dh_installchangelogs -k build/linux/work/revisions.txt

override_dh_compress:
	dh_compress -X.ino

override_dh_install:
	find build/linux/work -type d -empty -delete
	rm -f build/linux/work/lib/desktop.template
	rm -rf debian/arduino/usr/share/arduino/lib/icons
	dh_install -Xlicense -XLICENSE -XLicense -XMangler/make.sh

#override_jh_depends:
#jh_depends can't resolve symlinks

copyright_check:
	${MAKE} -f /usr/share/cdbs/1/rules/utils.mk debian/stamp-copyright-check
	rm debian/stamp-copyright-check

# Helper target for linking some required Java libraries into app/lib and arduino-core/lib.
create-jar-links:
	@for javalib in $(JAR2LINK); do \
	    TARGETS=`find /usr/share/java \( -type f -o -type l \) -name "$${javalib}*.jar"` ;\
	    for TARGET in $${TARGETS}; do \
	        for lib_path in arduino-core app; do \
	            cd $(CURDIR)/$${lib_path}/lib && \
	            ln -sf $${TARGET} ;\
	        done ;\
	    done ;\
	done