#!/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.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets  by Bill Allombert 2001

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

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

configure: configure-stamp
configure-stamp:
	dh_testdir
	cp packaging/debian/replace.properties build/replace.properties
	echo VERSION=$VERSION >> build/replace.properties
	touch configure-stamp

build: build-arch

build-arch: build-arch-stamp
build-arch-stamp: configure-stamp  
	mvn package -Dsystemvm
	touch $@

clean: 
	dh_testdir
	dh_testroot
	rm -f build-arch-stamp build-indep-stamp configure-stamp
	dh_clean 

install:
	dh_testdir
	dh_testroot
	dh_prep -s
	mkdir -p debian/tmp/usr/bin
	mkdir -p debian/tmp/usr/share/cloud/management
	mkdir -p debian/tmp/var/log/cloud
	mkdir debian/tmp/var/log/cloud/managament
	mkdir debian/tmp/var/log/cloud/awsapi
	mkdir debian/tmp/var/log/cloud/agent
	mkdir debian/tmp/var/log/cloud/ipallocator
	mkdir debian/tmp/var/log/cloud/usage
	mkdir -p debian/tmp/etc/cloud
	mkdir debian/tmp/etc/cloud/agent
	mkdir debian/tmp/etc/cloud/server
	mkdir debian/tmp/etc/cloud/management
	mkdir debian/tmp/etc/cloud/usage
	mkdir -p debian/tmp/var/cache/cloud
	mkdir debian/tmp/var/cache/cloud/management
	mkdir -p debian/tmp/usr/share/cloud
	mkdir debian/tmp/usr/share/cloud/setup
	mkdir -p debian/tmp/usr/share/cloud/management/webapps/client
	
	cp -r client/target/utilities/scripts/db/* debian/tmp/usr/share/cloud/setup/
	cp -r client/target/cloud-client-ui-*-SNAPSHOT/* debian/tmp/usr/share/cloud/management/webapps/client/
	dh_installdirs -s
	dh_install -s

binary: binary-common
binary-common:
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs LICENSE
	dh_installdocs DISCLAIMER
	dh_installdocs NOTICE
	dh_installdocs INSTALL.md
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb
