#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
#export DEB_CFLAGS_MAINT_APPEND = -Wall
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk


DEB_DH_INSTALL_ARGS = --list-missing

EUCALYPTUS=/
JAVA_HOME=/usr/lib/jvm/default-java
AXIS2_CLASSPATH=$(shell echo $(CURDIR)/clc/lib/*.jar | tr \  :)
ANT_OPTS := -Xmx1024m -Xms512m
EXTRA_VERSION_INFO=$(shell dpkg-parsechangelog |grep Version |awk -F"~" '{print $$2}'|awk -F"." '{print $$1}')

export EUCALYPTUS
export JAVA_HOME
export AXIS2_CLASSPATH
DEB_MAKE_CLEAN_TARGET := distclean
DEB_CONFIGURE_EXTRA_FLAGS := --with-axis2c=/usr/lib/axis2 --with-axis2c-services=/usr/lib/axis2/services --prefix=$(EUCALYPTUS) --with-apache2-module-dir=/usr/lib/apache2/modules --with-vddk=/opt/packages/vddk --with-extra-version=$(EXTRA_VERSION_INFO) --with-db-home=/usr/lib/postgresql/9.1/
DEB_DH_SHLIBDEPS_ARGS_ALL = -l/usr/lib/axis2/lib -Xeuca_imager

makebuilddir/eucalyptus-common:: setup-cloud-lib

setup-cloud-lib: clc/ivy.xml

clc/ivy.xml:
	mkdir -p clc/lib;
	cp debian/ivy* clc;
	cd clc && ant -lib /usr/share/java/ivy.jar resolve && cd -;

install/eucalyptus-java-common::
	mkdir -p $(DEB_DESTDIR)/usr/share/eucalyptus

binary-install/eucalyptus-java-common::
	for FILE in `ls clc/lib`; do\
	  rm -f $(CURDIR)/debian/eucalyptus-java-common/usr/share/eucalyptus/$$FILE;\
	done
	dh_link

binary-install/eucalyptus-cc::
	find $(CURDIR)/debian/eucalyptus-cc -name *.xml |xargs chmod 644
	find $(CURDIR)/debian/eucalyptus-cc -name *.wsdl |xargs chmod 644

binary-install/eucalyptus-nc::
	find $(CURDIR)/debian/eucalyptus-nc -name *.xml |xargs chmod 644

binary-install/eucalyptus-gl::
	find $(CURDIR)/debian/eucalyptus-gl -name *.xml |xargs chmod 644
	find $(CURDIR)/debian/eucalyptus-gl -name *.wsdl |xargs chmod 644

binary-install/eucalyptus-cloud::
	find $(CURDIR)/debian/eucalyptus-cloud -name lic_* |xargs chmod 644

binary-install/eucalyptus-common::
	find $(CURDIR)/debian/eucalyptus-common -name *.xml |xargs chmod 644

binary-install/eucalyptus-sc::
	# TODO: install example somewhere sane
	rm -rf  $(CURDIR)/debian/eucalyptus-sc/tools

install/eucalyptus-common::
	sed -i 's/^FILE=.*$$/FILE="\/etc\/eucalyptus\/eucalyptus.conf"/g' $(DEB_DESTDIR)/usr/sbin/euca_conf
	rm -f $(DEB_DESTDIR)/etc/init.d/eucalyptus

binary/eucalyptus-admin-tools::
	dh_python2

binary/python-eucadmin::
	dh_python2

clean::
	find . -name "*.pyc" -exec $(RM) {} \;
	rm -rf clc/eucadmin/eucadmin/__init__.py
	rm -rf clc/modules/msgs/resources/msgs-binding.xml clc/modules/storage-controller/lib/liblvm2control.so clc/modules/storage-manager/lib/libfsstorage.so clc/modules/www/webapps/root.war node/test_nc node/test config.status clc/modules/storage-controller/include/edu_ucsb_eucalyptus_storage_LVM2Manager.h clc/modules/storage-controller/include/edu_ucsb_eucalyptus_storage_AOEManager.h clc/modules/storage-manager/include/edu_ucsb_eucalyptus_storage_fs_FileSystemStorageManager.h cluster/cc-client-policy.xml node/nc-client-policy.xml util/config.h util/eucalyptus-config.h config.log Makedefs
	cd clc && ant clean || true && cd -
	rm -f clc/ivy*
	rm -rf clc/lib
	rm -rf cluster/generated
	rm -rf node/generated
	rm -rf gatherlog/generated
	rm -rf storage/euca-blobs
	rm -rf clc/modules/www/gwt-unitCache
	rm -rf tools/eucalyptus-cc
	rm -rf tools/eucalyptus-nc
	rm -rf node/test_hooks
