#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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

include debian/sniaxam.mk
TOPDIR=$(CURDIR)

configure: configure-stamp

configure-stamp:
	dh_testdir
	# Add here commands to configure the package.
	touch configure-stamp


build: build-stamp
build-stamp: configure-stamp  
	dh_testdir

	# top level build for basic java components	
	$(ANT) deliverables_notests doc -Djavacc.home=$(JAVACC_HOME) -lib $(JAR_LIBS)
	
	# C_XAM_Library
	
	cd C_XAM_Library/build_script && \
		$(ANT) -v -f build.xml \
		-Denv.JAVA_HOME=$(JAVA_HOME) \
		-DCCOVERRIDE=$(CCOVERRIDE) \
		-DLDOVERRIDE=$(LDOVERRIDE) \
		-Dplatform=Linux-$(GPPVER) \
		deliver_java build_$(TARGET) doxygen && \
		cd $(TOP_DIR)

	touch $@

clean: 
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp
	# Add here commands to clean up after the build process.
#	$(ANT) clean
#
#	cd C_XAM_Library/build_script && \
#		ant -v -f build.xml \
#		-Dplatform=Linux-$(GPPVER) \
#		clean clean$(TARGET) && \
#		cd $(TOP_DIR)
#
#
#
#	rm -f README LICENSE XAM_SDK_Guide.pdf
	
	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs
	dh_installdirs -psniaxam-java$(SDK_MAJOR) $(JAR_DIR)

	# Add here commands to install the package into debian/tmp
	echo $(CURDIR)
	echo $(DEB_INST_ROOT)
	mkdir $(DEB_INST_ROOT)
	#general docs
	cp Docs/LICENSE.txt LICENSE
	cp Docs/README.txt README
	cp Docs/XAM_SDK_Guide.pdf XAM_SDK_Guide.pdf

	# general man pages
	install -d -m 755 $(DEB_INST_ROOT)/usr/share/man/man5
	install -d -m 755 $(DEB_INST_ROOT)/usr/share/man/man7
	install -m 644 Docs/man/man5/* $(DEB_INST_ROOT)/usr/share/man/man5
	install -m 644 Docs/man/man7/* $(DEB_INST_ROOT)/usr/share/man/man7
	
	# jars
	# remove stuff we don't ship
	#rm -f lib/junit*.jar
	#and duplicates
	install -d -m 755 $(DEB_INST_ROOT)/$(JAR_DIR)
	
	install -m 644 Java_XAM_Library/deliverables/xam*.jar \
				$(DEB_INST_ROOT)/$(JAR_DIR)
	install -m 644 Java_Interfaces/deliverables/snia-xam.jar \
				$(DEB_INST_ROOT)/$(JAR_DIR)
	
	install -m 644 Java_Reference_VIM/deliverables/*.jar \
				$(DEB_INST_ROOT)/$(JAR_DIR)

	#sample properties files
	install -d -m 755 $(DEB_INST_ROOT)/$(JAR_DIR)/conf_examples
	install -m 644 Java_Reference_VIM/config/ReferenceVIM.config \
		Java_Reference_VIM/xam.test.props \
   	   $(DEB_INST_ROOT)/$(JAR_DIR)/conf_examples
	
	# C library
	for i in libxam$(TARGET).so libxam_toolkit$(TARGET).so ; do \
		cp $(DELIVER_DIR)/lib/$${i} $(DELIVER_DIR)/lib/$${i}.${FILE_EXT} ; \
	done;
	install -d -m 755 $(DEB_INST_ROOT)/usr/include/sniaxam$(SDK_MAJOR)
	install -m 644 $(DELIVER_DIR)/include/*.h $(DEB_INST_ROOT)/usr/include/sniaxam$(SDK_MAJOR)
	install -d -m 755 $(DEB_INST_ROOT)/usr/lib
	install -m 644 $(DELIVER_DIR)/lib/libxam*.a $(DEB_INST_ROOT)/usr/lib
	install -m 755 $(DELIVER_DIR)/lib/libxam*.so* $(DEB_INST_ROOT)/usr/lib
	install -d -m 755 $(DEB_INST_ROOT)/$(JNI_DIR)
	install -m 644 $(DELIVER_DIR)/lib/XAMLibrary.jar $(DEB_INST_ROOT)/$(JNI_DIR)/XAMLibrary-$(FILE_EXT).jar
	
	# C_XAM_Library man pages
	install -d -m 755 $(DEB_INST_ROOT)/usr/share/man/man3
	install -m 644 ${DELIVER_DIR}/doc/published-man/man3/* $(DEB_INST_ROOT)/usr/share/man/man3
	# javadoc
	mv Java_Interfaces/doc Java_Interfaces/docs
	for i in $(JAVA_DOC_DIRS); do \
		echo $${i}; \
		install -d -m 755 $(DEB_INST_ROOT)/$(JAVADOC_DIR)/sniaxam-javadoc/$${i}; \
		cp -rp $${i}/docs/* $(DEB_INST_ROOT)/$(JAVADOC_DIR)/sniaxam-javadoc/$${i}; \
	done;
	#C_XAM_Library jni doc
	install -d -m 755 $(DEB_INST_ROOT)/$(JAVADOC_DIR)/sniaxam-dev/C_XAM_Library_JNI
	cp -rp $(DELIVER_DIR)/doc/Published-Javadoc/* \
		$(DEB_INST_ROOT)/$(JAVADOC_DIR)/sniaxam-dev/C_XAM_Library_JNI


	
	#$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install


# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs
	dh_installexamples
	dh_install -psniaxam-java$(SDK_MAJOR) $(DEB_INST_ROOT)/$(JAR_DIR)/* $(JAR_DIR) 
	dh_install --sourcedir=$(DEB_INST_ROOT)
#	dh_installmenu
#	dh_installdebconf	
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman -psniaxam$(SDK_MAJOR) $(DEB_INST_ROOT)/usr/share/man/man5/* $(DEB_INST_ROOT)/usr/share/man/man7/*
	dh_installman -psniaxam-dev $(DEB_INST_ROOT)/usr/share/man/man3/*
	dh_link
	dh_link -psniaxam$(SDK_MAJOR) \
	   	usr/lib/libxam$(TARGET).so.$(FILE_EXT) usr/lib/libxam$(TARGET).so.$(SONAME_EXT) \
	   	usr/lib/libxam_toolkit$(TARGET).so.$(FILE_EXT) usr/lib/libxam_toolkit$(TARGET).so.$(SONAME_EXT) \
		$(JNI_DIR)/XAMLibrary-$(FILE_EXT).jar $(JNI_DIR)/XAMLibrary.jar

	dh_link -psniaxam-dev \
	   	usr/lib/libxam$(TARGET).so.$(SONAME_EXT) usr/lib/libxam$(TARGET).so \
	   	usr/lib/libxam_toolkit$(TARGET).so.$(SONAME_EXT) usr/lib/libxam_toolkit$(TARGET).so

	dh_strip
	dh_compress
	dh_fixperms
#	dh_perl
#	dh_python
#	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps -psniaxam$(SDK_MAJOR) -l/usr/lib
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
