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

include /usr/share/quilt/quilt.make

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_ARCH_OS    ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)

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

config.status: configure
	dh_testdir
	# Add here commands to configure the package.
	CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --with-tcl=/usr/lib/tcl8.5 --with-tk=/usr/lib/tk8.5

build: build-stamp 
build-stamp: config.status 
build-stamp: $(QUILT_STAMPFN)
	dh_testdir

	# Add here commands to compile the package.
	$(MAKE) 
	#docbook-to-man debian/amsn.sgml > amsn.1

	touch build-stamp

clean: unpatch
clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp 

	# Add here commands to clean up after the build process.
	 [ ! -f Makefile ] || $(MAKE) distclean

	# Clean some libs that are not clean by makefile
	rm -f ./utils/TkCximage/TkCximage.so
	rm -f ./utils/webcamsn/webcamsn.so
	rm -f ./utils/linux/capture/config.h
	rm -f ./utils/tcl_siren/tcl_siren.so
	rm -f ./utils/tclISF/tclISF.so ./utils/asyncresolver/libasyncresolver.so
	rm -f ./config.log

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/amsn-data.
	$(MAKE) install DESTDIR=$(CURDIR)/debian/amsn-data	

	# manually move the .desktop file for KDE, it's broken in the Makefile
	mv -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/"*.desktop \
		"$(CURDIR)/debian/amsn/usr/share/applications/"
	#manually copy the icon file
	cp -f "$(CURDIR)/desktop-icons/48x48/apps/amsn.png" \
		"$(CURDIR)/debian/amsn/usr/share/pixmaps/msn.png"
	#manually copy the xpm file
	cp -f "$(CURDIR)/debian/msn.xpm" \
		"$(CURDIR)/debian/amsn/usr/share/pixmaps/amsn/amsn.xpm"
	
	# Changing some wrong permissions
	# Permission 2755
	chmod 2755 "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/voipcontrols/test.tcl" \
        "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Oxygen/pixmapscroll/test.tcl" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Dark Matter 4.0/pixmapscroll/test.tcl"

	# Permission 644
	chmod 644 "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/default/pixmaps/notinlist_emblem_detailedview.png" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/default/pixmaps/plain_emblem_detailedview.png" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/default/pixmaps/away_emblem_detailedview.png" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/default/pixmaps/busy_emblem_detailedview.png" \
        "$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/SkinColor/plugininfo.xml" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/SpellCheck/lang/langlt" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/growl/styles/aMSNMac.growlStyle/Contents/Info.plist" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/growl/styles/aMSN.growlStyle/Contents/Info.plist" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/growl/styles/aMSN.growlStyle/Contents/Resources/default.css" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/SkinColor/skincolor.tcl" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/jake/plugininfo.xml" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/jake/stack.tcl" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/jake/cmdline.tcl" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/jake/jake.tcl" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/growl/styles/aMSNMac.growlStyle/Contents/Resources/default.css" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/jake/htmlparse.tcl" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/ebuddykiller/ebuddykiller.tcl" \
	"$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/ebuddykiller/plugininfo.xml"
	find $(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Oxygen/ -name *.png -exec chmod 644 {} \;

	chmod 644 "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/asyncresolver/libasyncresolver.so" 
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/utils/asyncresolver $(CURDIR)/debian/amsn/usr/lib/amsn/utils
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/utils/webcamsn $(CURDIR)/debian/amsn/usr/lib/amsn/utils

	# .so files go in /usr/lib
	
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/amsn $(CURDIR)/debian/amsn/usr/share/amsn
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/amsn-remote $(CURDIR)/debian/amsn/usr/share/amsn
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/amsn-remote-CLI $(CURDIR)/debian/amsn/usr/share/amsn
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/utils/TkCximage/*  $(CURDIR)/debian/amsn/usr/lib/amsn/utils/TkCximage
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/utils/tcl_siren $(CURDIR)/debian/amsn/usr/lib/amsn/utils
	cp $(CURDIR)/utils/tcl_siren/pkgIndex.tcl	$(CURDIR)/debian/amsn/usr/lib/amsn/utils/tcl_siren
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/utils/farsight $(CURDIR)/debian/amsn/usr/lib/amsn/utils
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/utils/tclISF $(CURDIR)/debian/amsn/usr/lib/amsn/utils
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/utils/gupnp $(CURDIR)/debian/amsn/usr/lib/amsn/utils
ifeq ($(DEB_HOST_ARCH_OS),linux)
	# The following is Linux-only, see the FOUND_OS detection in Makefile.in
	mv $(CURDIR)/debian/amsn-data/usr/share/amsn/utils/linux $(CURDIR)/debian/amsn/usr/lib/amsn/utils
	cp $(CURDIR)/utils/linux/capture/pkgIndex.tcl $(CURDIR)/debian/amsn/usr/lib/amsn/utils/linux/capture/
	cp $(CURDIR)/utils/linux/linflash/pkgIndex.tcl $(CURDIR)/debian/amsn/usr/lib/amsn/utils/linux/linflash/
	cp $(CURDIR)/utils/linux/traydock/pkgIndex.tcl $(CURDIR)/debian/amsn/usr/lib/amsn/utils/linux/traydock/
endif
	rm -f $(CURDIR)/debian/amsn-data/usr/share/amsn/utils/tcl_siren/src/*.o
	# Documentation files go in /usr/share/doc/amsn

	cp -f $(CURDIR)/docs/* \
	   $(CURDIR)/TODO \
	   $(CURDIR)/FAQ \
	   $(CURDIR)/HELP \
	   $(CURDIR)/README \
	   $(CURDIR)/CREDITS \
	   $(CURDIR)/debian/amsn-data/usr/share/doc/amsn/
	
	# Delete redundant files
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/Tclxml/libTclxml3.1.so"
	rm -rf "$(CURDIR)/debian/amsn-data/usr/share/applications"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/doc/amsn/README"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/doc/amsn/CREDITS"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/doc/amsn/TODO"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/amsn/AGREEMENT"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/amsn/CREDITS"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/amsn/TODO"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/amsn/FAQ"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/amsn/GNUGPL"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/amsn/HELP"
	rm -f  "$(CURDIR)/debian/amsn-data/usr/share/amsn/INSTALL"
	rm -rf  "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/TkCximage/"
	rm -rf "$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/amsnplus/" #Erasing amsnplus/ directory
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/music/MusicWin/MusicWin.dsp"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/music/MusicWin/MusicWin.dsw"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Dark Matter 4.0/displaypic/Thumbs.db"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Dark Matter 4.0/pixmaps/Thumbs.db"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Dark Matter 4.0/pixmapscroll/horizontal/Thumbs.db"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Dark Matter 4.0/pixmapscroll/vertical/Thumbs.db"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Dark Matter 4.0/smileys/Thumbs.db"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Dark Matter 4.0/winicons/Thumbs.db"

	# Move symlinks from amsn-data/usr/bin to amsn/usr/bin
	mv debian/amsn-data/usr/bin debian/amsn/usr

	# Move lang/convert.tcl and utils/pixmapscroll/test.tcl from amsn-data
	# to amsn
	mv "$(CURDIR)/debian/amsn-data/usr/share/amsn/lang/convert.tcl" \
	   "$(CURDIR)/debian/amsn/usr/share/amsn/lang/"
	mv "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/pixmapscroll/test.tcl" \
	   "$(CURDIR)/debian/amsn/usr/share/amsn/utils/pixmapscroll"
	
	# Delete extra license files
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/base64/license.terms" \
	      "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/http2.4/license.terms" \
	      "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/log/license.terms"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/default/license"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/bwidget1.8.0/LICENSE.txt"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/plugins/SearchContact/pixmaps/license.txt"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/utils/http/license.terms"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Dark Matter 4.0/license"
	rm -f "$(CURDIR)/debian/amsn-data/usr/share/amsn/skins/Oxygen/license"

# 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 ChangeLog 
	dh_installdocs
	dh_installmenu
	dh_installman debian/amsn.1 debian/amsn-remote-CLI.1 debian/amsn-remote.1 
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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