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

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

JAVATARBALL=http://www.frijters.net/openjdk-8u45-b14-stripped.zip
DEB_CLI_API_VERSION = 8.1.5717.0
DEB_CLI_RUNTIME = cli
UPVERSION = $(shell dpkg-parsechangelog | grep '^Version: ' | sed -n 's/^Version: \([.0-9]*\).*/\1/p')
CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

override_dh_auto_build_nant:

build-arch: 
	nant -v -f:ikvm-$(UPVERSION)/ikvm.build native

build-indep:
	nant -v -f:ikvm-$(UPVERSION)/ikvm.build signed
	mkdir scripts
	mkdir pkgconfig
	cd ikvm-$(UPVERSION)/bin; \
	dest=$(CURDIR)/scripts; \
	for FILE in *.exe; do \
	  base=`basename $$FILE .exe`; \
	  sed -e "s,@EXE@,/usr/lib/ikvm/$$FILE," $(CURDIR)/debian/run.sh.in > $$dest/$$base; \
	  chmod +x $$dest/$$base; \
	done
	sed -e "s/@VERSION@/$(UPVERSION)/" debian/ikvm.pc.in > $(CURDIR)/pkgconfig/ikvm.pc

build: build-arch

binary: binary-arch binary-indep

binary-arch: build-arch

binary-indep: build-indep

override_dh_auto_clean_nant:
	-nant -v -f:ikvm-$(UPVERSION)/ikvm.build clean

	find . -name "*.class" -exec rm {} \;
	find . -name "*.dll" -exec rm {} \;
	find . -name "*.exe" -exec rm {} \;
	find . -name "*.so" -exec rm {} \;
	find . -name "*.class" -exec rm {} \;
	find . -name "*.jar" \! -name local_policy.jar \
                \! -name US_export_policy.jar \! -name resources.jar \
		\! -name charsets.jar \! -name localedata.jar \
		-exec rm {} \;

	rm -f	ikvm-*/runtime/JniAssemblyInfo.cs \
		ikvm-*/runtime/AssemblyInfo.cs \
		ikvm-*/openjdk/java/lang/PropertyConstants.java \
		ikvm-*/openjdk/AssemblyInfo.java \
		ikvm-*/CommonAssemblyInfo.cs \
		ikvm-*/awt/AssemblyInfo.cs \
		ikvm-*/tools/pubkey.txt \
		ikvm-*/openjdk/vfs.zip 
	rm -rf pkgconfig scripts

override_dh_makeclilibs:
	dh_makeclilibs -i -m $(DEB_CLI_API_VERSION)

override_dh_clideps:
	dh_clideps --exclude-moduleref=fusion --exclude-moduleref=winspool.drv \
		--exclude-moduleref=secur32.dll --exclude-moduleref=ikvm-native-win32-x86 \
		--exclude-moduleref=ikvm-native-win32-x64

get-orig-source:
	uscan \
		--force-download \
		--download-version $(UPVERSION) \
		--destdir .
	mkdir ikvm-$(UPVERSION)+ds
	unzip ikvmsrc-$(UPVERSION).zip -d ikvm-$(UPVERSION)+ds
	dos2unix ikvm-$(UPVERSION)+ds/ikvm-$(UPVERSION)/HOWTO
	wget $(JAVATARBALL);
	unzip `basename $(JAVATARBALL)` -d ikvm-$(UPVERSION)+ds;
	rm *.zip
	rm -f ikvm-$(UPVERSION)+ds/ikvm-*/runtime/JniAssemblyInfo.cs \
		ikvm-$(UPVERSION)+ds/ikvm-*/runtime/AssemblyInfo.cs \
		ikvm-$(UPVERSION)+ds/ikvm-*/openjdk/java/lang/PropertyConstants.java \
		ikvm-$(UPVERSION)+ds/ikvm-*/openjdk/AssemblyInfo.java \
		ikvm-$(UPVERSION)+ds/ikvm-*/CommonAssemblyInfo.cs \
		ikvm-$(UPVERSION)+ds/ikvm-*/awt/AssemblyInfo.cs \
		ikvm-$(UPVERSION)+ds/ikvm-*/tools/pubkey.txt \
		ikvm-$(UPVERSION)+ds/ikvm-*/openjdk/vfs.zip
	tar cfvz ./ikvm_$(UPVERSION)+ds.orig.tar.gz ikvm-$(UPVERSION)+ds
	rm -fr ikvm-$(UPVERSION)+ds

%:
	dh $@ --with cli,cli-nant
