#!/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

#DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifeq ($(DEB_BUILD_GNU_TYPE),arm-linux-gnueabi)
	export CFLAGS="-g -O2 -I/opt/maemocjk/usr/include/scim-1.0"
	export CXXFLAGS="-g -O2 -I/opt/maemocjk/usr/include/scim-1.0"
else
	export CFLAGS="-march=i486 -g -O2 -I/opt/maemocjk/usr/include/scim-1.0"
	export CXXFLAGS="-march=i486 -g -O2 -I/opt/maemocjk/usr/include/scim-1.0"
endif

#export MAEMOCJK_PREFIX=/opt/maemocjk2
#export PKG_CONFIG_PATH=$(MAEMOCJK_PREFIX)/usr/lib/pkgconfig
#export QTDIR=/usr/lib
export PATH=$(CURDIR)/debian:/host_usr/bin:/scratchbox/devkits/git/bin:/scratchbox/devkits/svn/bin:/scratchbox/devkits/doctools/bin:/scratchbox/devkits/qemu/bin:/scratchbox/devkits/debian-etch/bin:/scratchbox/devkits/perl/bin:/scratchbox/tools/bin:/targets/links/arch_tools/bin:/scratchbox/compilers/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/sbin:/usr/sbin
#export LD_LIBRARY_PATH=$(MAEMOCJK_PREFIX)/usr/lib:/lib:/usr/lib:/usr/local/lib:/usr/X11R6/lib

BUILD_DIR=./out
#TARGETS=unix/ibus/ibus.gyp:ibus_mozc server/server.gyp:mozc_server gui/gui.gyp:mozc_tool
TARGETS=unix/ibus/ibus.gyp:ibus_mozc unix/scim/scim.gyp:scim_mozc unix/scim/scim.gyp:scim_mozc_setup server/server.gyp:mozc_server gui/gui.gyp:mozc_tool


configure: configure-stamp
configure-stamp:
	dh_testdir
	touch configure-stamp

#Architecture 
build: build-arch

build-arch: build-arch-stamp
build-arch-stamp: configure-stamp 
	CFLAGS=$(CFLAGS) CXXFLAGS=$(CXXFLAGS) python build_mozc.py gyp --gypdir=/usr/bin
	CFLAGS=$(CFLAGS) CXXFLAGS=$(CXXFLAGS) python build_mozc.py build_tools -c Release -j 2 --qtdir=/usr/lib
	CFLAGS=$(CFLAGS) CXXFLAGS=$(CXXFLAGS) python build_mozc.py build $(TARGETS) -c Release -j 2 --qtdir=/usr/lib

	#python build_mozc.py gyp --gypdir=/usr/bin
	#python build_mozc.py build_tools -c Release -j 2 --qtdir=/usr/lib
	#python build_mozc.py build $(TARGETS) -c Release -j 2 --qtdir=/usr/lib

	#python build_mozc.py gyp --gypdir=/usr/bin CFLAGS=$(CFLAGS) CXXFLAGS=$(CXXFLAGS) 
	#python build_mozc.py build_tools -c Release -j 2 --qtdir=/usr/lib CFLAGS=$(CFLAGS) CXXFLAGS=$(CXXFLAGS)
	#python build_mozc.py build $(TARGETS) -c Release -j 2 --qtdir=/usr/lib CFLAGS=$(CFLAGS) CXXFLAGS=$(CXXFLAGS)

	touch build-arch-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-arch-stamp build-indep-stamp #CONFIGURE-STAMP#
	python2.5 build_mozc.py clean
	dh_clean 

install: install-arch

install-arch:
	dh_testdir
	dh_testroot
	dh_clean -k -s 
	dh_installdirs -s

	mkdir -p $(CURDIR)/debian/tmp/usr/libexec
	cp -a $(BUILD_DIR)/Release/ibus_mozc $(CURDIR)/debian/tmp/usr/libexec/ibus-engine-mozc
	chmod 755 $(CURDIR)/debian/tmp/usr/libexec/ibus-engine-mozc
	mkdir -p $(CURDIR)/debian/tmp/usr/share/ibus/component/
	#sed 's|/usr/libexec/ibus-engine-mozc|/usr/lib/ibus-mozc/ibus-engine-mozc|' < unix/ibus/mozc.xml > $(CURDIR)/debian/tmp/usr/share/ibus/component/mozc.xml
	sed 's|/usr/lib/ibus-mozc/ibus-engine-mozc|/usr/libexec/ibus-engine-mozc|' < unix/ibus/mozc.xml > $(CURDIR)/debian/tmp/usr/share/ibus/component/mozc.xml

	mkdir -p $(CURDIR)/debian/tmp/usr/share/ibus/icons/
	cp -a $(CURDIR)/debian/mozc.png $(CURDIR)/debian/tmp/usr/share/ibus/icons/

	mkdir -p $(CURDIR)/debian/tmp/usr/lib/mozc
	cp -a $(BUILD_DIR)/Release/mozc_server $(CURDIR)/debian/tmp/usr/lib/mozc/
	chmod 755 $(CURDIR)/debian/tmp/usr/lib/mozc/mozc_server

	mkdir -p $(CURDIR)/debian/tmp/usr/lib/mozc
	cp -a $(BUILD_DIR)/Release/mozc_tool $(CURDIR)/debian/tmp/usr/lib/mozc
	chmod 755 $(CURDIR)/debian/tmp/usr/lib/mozc/mozc_tool

	mkdir -p $(CURDIR)/debian/tmp/usr/share/applications/hildon
	cp -a $(CURDIR)/debian/mozc_tool.desktop $(CURDIR)/debian/tmp/usr/share/applications/hildon

	## ibus-mozc

	mkdir -p $(CURDIR)/debian/ibus-mozc/usr/libexec
	mkdir -p $(CURDIR)/debian/ibus-mozc/usr/share/ibus/component
	cp -a $(BUILD_DIR)/Release/ibus_mozc $(CURDIR)/debian/ibus-mozc/usr/libexec/ibus-engine-mozc
	chmod 755 $(CURDIR)/debian/ibus-mozc/usr/libexec/ibus-engine-mozc
	sed 's|/usr/lib/ibus-mozc/ibus-engine-mozc|/usr/libexec/ibus-engine-mozc|' < unix/ibus/mozc.xml > $(CURDIR)/debian/ibus-mozc/usr/share/ibus/component/mozc.xml
	mkdir -p $(CURDIR)/debian/ibus-mozc/usr/share/ibus-mozc
	cp -a $(CURDIR)/debian/mozc.png $(CURDIR)/debian/ibus-mozc/usr/share/ibus-mozc/product_icon.png
	cp -a $(CURDIR)/debian/mozc_tool.png $(CURDIR)/debian/ibus-mozc/usr/share/ibus-mozc/unknown.ico

	## mozc-server

	mkdir -p $(CURDIR)/debian/mozc-server/usr/lib/mozc
	cp -a $(BUILD_DIR)/Release/mozc_server $(CURDIR)/debian/mozc-server/usr/lib/mozc/
	chmod 755 $(CURDIR)/debian/mozc-server/usr/lib/mozc/mozc_server

	## mozc-utils-gui

	mkdir -p $(CURDIR)/debian/mozc-utils-gui/usr/lib/mozc
	cp -a $(BUILD_DIR)/Release/mozc_tool $(CURDIR)/debian/mozc-utils-gui/usr/lib/mozc
	chmod 755 $(CURDIR)/debian/mozc-utils-gui/usr/lib/mozc/mozc_tool

	mkdir -p $(CURDIR)/debian/mozc-utils-gui/usr/share/applications/hildon
	cp -a $(CURDIR)/debian/mozc_tool.desktop $(CURDIR)/debian/mozc-utils-gui/usr/share/applications/hildon

	mkdir -p $(CURDIR)/debian/mozc-utils-gui/usr/share/icons/hicolor
	cp -ra $(CURDIR)/debian/icons/* $(CURDIR)/debian/mozc-utils-gui/usr/share/icons/hicolor/

	### scim-mozc

	mkdir -p $(CURDIR)/debian/scim-mozc/opt/maemocjk/usr/lib/scim-1.0/1.4.0/IMEngine
	mkdir -p $(CURDIR)/debian/scim-mozc/opt/maemocjk/usr/lib/scim-1.0/1.4.0/SetupUI

	cp -a $(BUILD_DIR)/Release/obj.target/unix/scim/libscim_mozc.so $(CURDIR)/debian/scim-mozc/opt/maemocjk/usr/lib/scim-1.0/1.4.0/IMEngine/mozc.so
	cp -a $(BUILD_DIR)/Release/obj.target/unix/scim/libscim_mozc_setup.so $(CURDIR)/debian/scim-mozc/opt/maemocjk/usr/lib/scim-1.0/1.4.0/SetupUI/mozc-setup.so

	mkdir -p  $(CURDIR)/debian/scim-mozc/opt/maemocjk/usr/share/scim/icons
	cp -a $(CURDIR)/debian/mozc.png $(CURDIR)/debian/scim-mozc/opt/maemocjk/usr/share/scim/icons/scim-mozc.png
	cp -a $(CURDIR)/debian/mozc_tool.png $(CURDIR)/debian/scim-mozc/opt/maemocjk/usr/share/scim/icons/scim-mozc-tool.png

#	dh_install --sourcedir=$(CURDIR)/debian/tmp -s

# Must not depend on anything. This is to be called by
# binary-arch/binary-indep
# in another 'make' thread.
binary-common:

# Build architecture dependant packages using the common target.

binary-indep:
binary-arch: build-arch install-arch
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs
#	dh_installexamples
#	dh_installmenu
#	dh_installdebconf	
#	dh_installlogrotate	
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman
	dh_link
	dh_strip
	dh_compress 
	dh_fixperms
#	dh_perl
#	dh_python
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	maemo-optify
	dh_md5sums
	dh_builddeb

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