#!/usr/bin/make -f
#
# @package      hubzero-tigervnc
# @file         rules
# @author       Nicholas J. Kisseberth <nkissebe@purdue.edu>
# @copyright    Copyright (c) 2010-2018 HUBzero Foundation, LLC.
# @license      http://www.gnu.org/licenses/gpl-2.0.html GPLv2+
#
# Copyright (c) 2010-2018 HUBzero Foundation, LLC.
#
# This package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
# HUBzero is a registered trademark of HUBzero Foundation, LLC.
#

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

$(info ########## Goals: $(MAKECMDGOALS) ##########)

STAMP_DIR := stampdir
STAGE_DIR := $(CURDIR)/debian/stage
BUILD_DIR := $(CURDIR)/debian/build

ifneq (,$(wildcard /usr/share/dpkg/buildflags.mk))
vars := $(shell DEB_BUILD_MAINT_OPTIONS="hardening=+pie" DEB_LDFLAGS_MAINT_APPEND="-Wl,-Bsymbolic" DEB_CPPFLAGS_MAINT_APPEND="-DPRE_RELEASE=0" dpkg-buildflags --export=configure)

# Hardening flags.
export DEB_BUILD_MAINT_OPTIONS=hardening=+pie
export DEB_LDFLAGS_MAINT_APPEND="-Wl,-Bsymbolic"

CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)

# Duplicate flags as CMake is ignoring CPPFLAGS.
CFLAGS+=$(CPPFLAGS)
CXXFLAGS+=$(CPPFLAGS)

export CFLAGS
export CPPFLAGS
export CXXFLAGS
export LDFLAGS

else

#CFLAGS = -Wall -g  -funsigned-char
CFLAGS = -Wall -g 
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif
CPPFLAGS = -DPRE_RELEASE=0
vars = CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)"

endif

#ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
#	NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
#	MAKEFLAGS += -j$(NUMJOBS)
#endif

DEB_MAJOR:=$(shell lsb_release -r -s | cut -d . -f 1)

DEB_CODENAME       ?= $(shell lsb_release -c -s)
DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
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)

ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
	confflags += \
		--build=$(DEB_HOST_GNU_TYPE)
else
	confflags += \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--host=$(DEB_HOST_GNU_TYPE)
endif

ifeq ($(DEB_HOST_ARCH_OS), linux)
	confflags += --enable-xselinux 

	ifeq ($(DEB_CODENAME), squeeze)
		confflags += \
			--with-default-xkb-rules=evdev
	endif
else
	confflags += \
		--disable-xselinux
endif

ifeq ($(DEB_HOST_ARCH_OS), hurd)
	confflags += \
		--disable-dri \
		--disable-dri2
else
	confflags += \
		--disable-dri \
		--enable-dri2
endif

ifeq ($(DEB_HOST_ARCH_OS), linux)
else ifeq ($(DEB_HOST_ARCH_OS), kfreebsd)
	libs = LIBS=-lbsd
else # hurd
endif


ifeq ($(DEB_CODENAME), squeeze)

confflags += \
	--disable-builddocs \
	--disable-config-dbus \
	--enable-xcalibrate

xorg_version=1.7.7
tigervnc_patch=17
tigervnc_version=1.3.1

else ifeq ($(DEB_CODENAME), wheezy)

confflags += \
	--disable-silent-rules \
	--disable-docs \
  	--disable-selective-werror \
	--disable-config-dbus \
        --disable-devel-docs 

xorg_version=1.12.4
tigervnc_patch=112
tigervnc_version=1.3.1

else ifeq ($(DEB_CODENAME), jessie)

confflags += \
	--disable-silent-rules \
	--disable-docs \
  	--disable-selective-werror \
        --disable-devel-docs 

xorg_version=1.16.4
tigervnc_patch=116
tigervnc_version=1.3.1

else ifeq ($(DEB_CODENAME), stretch)

confflags += \
	--disable-silent-rules \
	--disable-docs \
  	--disable-selective-werror \
        --disable-devel-docs 

xorg_version=1.19.2
tigervnc_patch=119
tigervnc_version=1.8.0

else

echo "Unknown distribution"
exit 1

endif

VENDOR         := $(shell lsb_release -i -s)
SOURCE_NAME    := hubzero-tigervnc-server
SOURCE_VERSION := $(shell dpkg-parsechangelog | awk -F': ' '/^Version: / {print $$2}')
BUILDER        := $(shell dpkg-parsechangelog | awk -F': ' '/^Maintainer: / {print $$2}')

confflags += \
	--with-pic \
	--without-dtrace \
	--disable-static \
	--disable-debug \
	--disable-unit-tests \
	--with-int10=x86emu \
	--with-os-vendor="$(VENDOR)" \
	--with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
	--with-xkb-path=/usr/share/X11/xkb \
	--with-xkb-output=/var/lib/xkb \
	--disable-install-libxf86config \
	--enable-mitshm \
	--enable-xres \
	--enable-xcsecurity \
	--disable-tslib \
	--enable-dbe \
	--disable-xf86bigfont \
	--enable-dpms \
	--disable-config-hal \
	--disable-config-udev \
	--disable-xorg \
	--disable-xquartz \
	--disable-xwin \
	--disable-xfake \
	--disable-install-setuid \
	--with-default-font-path="/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,built-ins" \
	--enable-aiglx \
	--enable-glx-tls \
	--enable-registry \
	--enable-composite \
	--enable-record \
	--enable-xv \
	--enable-xvmc \
	--enable-dga \
	--enable-screensaver \
	--enable-xdmcp \
	--enable-xdm-auth-1 \
	--enable-glx \
	--enable-xinerama \
	--enable-xf86vidmode \
	--enable-xace \
	--enable-xfree86-utils \
	--disable-dmx \
	--disable-xvfb  \
	--disable-xnest \
	--disable-kdrive \
	--disable-xephyr \
	--enable-xfbdev \
	--with-sha1=libgcrypt \
	$(libs) \
	$(void)

$(STAMP_DIR)/stampdir:
	@echo "########## $(STAMP_DIR)/stampdir ##########"
	mkdir -p $(STAMP_DIR)
	>$@

$(STAMP_DIR)/configure-indep: $(STAMP_DIR)/tigervnc-$(tigervnc_version)-common
	@echo "########## $(STAMP_DIR)/configure-indep ##########"
	(cd $(BUILD_DIR)/tigervnc-$(tigervnc_version)/java; cmake -DCMAKE_INSTALL_PREFIX=/usr -G"Unix Makefiles")
	>$@

build-indep: $(STAMP_DIR)/build-indep
	@echo "########## build-indep  ##########"

$(STAMP_DIR)/build-indep: $(STAMP_DIR)/configure-indep
	@echo "########## $(STAMP_DIR)/build-indep  ##########"
	(cd $(BUILD_DIR)/tigervnc-$(tigervnc_version)/java; $(MAKE))
	>$@

$(STAMP_DIR)/libjpeg-turbo-1.3.1: $(STAMP_DIR)/stampdir
	@echo "########## $(STAMP_DIR)/libjpeg-turbo-1.3.1 ##########"
	dh_testdir
	if [ -d $(BUILD_DIR)/libjpeg-turbo-1.3.1 ]; then rm -fr $(BUILD_DIR)/libjpeg-turbo-1.3.1; fi
	mkdir -p $(BUILD_DIR)/libjpeg-turbo-1.3.1
	cp -r $(CURDIR)/libjpeg-turbo-1.3.1/. $(BUILD_DIR)/libjpeg-turbo-1.3.1
	chmod -R u+w $(BUILD_DIR)/libjpeg-turbo-1.3.1
	for f in $(CURDIR)/patches/libjpeg-turbo-1.3.1/* ; do patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/libjpeg-turbo-1.3.1 -p1 < $$f; done
	(cd $(BUILD_DIR)/libjpeg-turbo-1.3.1; ./configure --prefix=/usr --with-pic --enable-shared=no )
	$(MAKE) -C $(BUILD_DIR)/libjpeg-turbo-1.3.1
	$(MAKE) -C $(BUILD_DIR)/libjpeg-turbo-1.3.1 install DESTDIR=$(STAGE_DIR)
	>$@

$(STAMP_DIR)/libjpeg-turbo-1.5.3: $(STAMP_DIR)/stampdir
	@echo "########## $(STAMP_DIR)/libjpeg-turbo-1.5.3 ##########"
	dh_testdir
	if [ -d $(BUILD_DIR)/libjpeg-turbo-1.5.3 ]; then rm -fr $(BUILD_DIR)/libjpeg-turbo-1.5.3; fi
	mkdir -p $(BUILD_DIR)/libjpeg-turbo-1.5.3
	cp -r $(CURDIR)/libjpeg-turbo-1.5.3/. $(BUILD_DIR)/libjpeg-turbo-1.5.3
	chmod -R u+w $(BUILD_DIR)/libjpeg-turbo-1.5.3
	for f in $(CURDIR)/patches/libjpeg-turbo-1.5.3/* ; do patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/libjpeg-turbo-1.5.3 -p1 < $$f; done
	(cd $(BUILD_DIR)/libjpeg-turbo-1.5.3; ./configure --prefix=/usr --with-pic --enable-shared=no )
	$(MAKE) -C $(BUILD_DIR)/libjpeg-turbo-1.5.3
	$(MAKE) -C $(BUILD_DIR)/libjpeg-turbo-1.5.3 install DESTDIR=$(STAGE_DIR)
	>$@

$(STAMP_DIR)/fltk-1.3.4-2: $(STAMP_DIR)/stampdir
	@echo "########## $(STAMP_DIR)/fltk-1.3.4-2 ##########"
	dh_testdir
	if [ -d $(BUILD_DIR)/fltk-1.3.4-2 ]; then rm -fr $(BUILD_DIR)/fltk-1.3.4-2; fi
	mkdir -p $(BUILD_DIR)/fltk-1.3.4-2
	cp -r $(CURDIR)/fltk-1.3.4-2/. $(BUILD_DIR)/fltk-1.3.4-2
	chmod -R u+w $(BUILD_DIR)/fltk-1.3.4-2
	(cd $(BUILD_DIR)/fltk-1.3.4-2; ./configure --prefix=/usr --enable-shared=no )
	$(MAKE) LDFLAGS="$(LDFLAGS) -ldl" -C $(BUILD_DIR)/fltk-1.3.4-2
	$(MAKE) -C $(BUILD_DIR)/fltk-1.3.4-2 install DESTDIR=$(STAGE_DIR)
	>$@

$(STAMP_DIR)/fltk-1.3.2: $(STAMP_DIR)/stampdir
	@echo "########## $(STAMP_DIR)/fltk-1.3.2 ##########"
	dh_testdir
	if [ -d $(BUILD_DIR)/fltk-1.3.2 ]; then rm -fr $(BUILD_DIR)/fltk-1.3.2; fi
	mkdir -p $(BUILD_DIR)/fltk-1.3.2
	cp -r $(CURDIR)/fltk-1.3.2/. $(BUILD_DIR)/fltk-1.3.2
	chmod -R u+w $(BUILD_DIR)/fltk-1.3.2
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v4.3.x-keyboard-x11.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v4.3.x-keyboard-win32.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v6.3.x-keyboard-osx.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1.3.x-clipboard.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v5.3.x-clipboard-x11.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v3.3.x-clipboard-win32-fix.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v2.3.x-clipboard-win32.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v2.3.x-clipboard-osx.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/pixmap_v2.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v5.3.x-cursor.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v2.3.0-modal.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v3.3.0-icons.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1.3.x-screen_num.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/fltk-1_v3.3.x-multihead.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/0001-Add-BUILD_STATIC-feature-from-TigerVNC-to-optionally.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/0002-Fl_cocoa.mm-depends-on-some-Carbon-functions-so-we-n.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/0003-We-need-to-unset-CMAKE_REQUIRED_LIBRARIES-after-chec.patch
	patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/fltk-1.3.2 -p1 < $(CURDIR)/patches/fltk-1.3.2/0004-str-2917-fix-macosx-10.6-build-issue.patch
	(cd $(BUILD_DIR)/fltk-1.3.2; ./configure --prefix=/usr --enable-shared=no )
	$(MAKE) LDFLAGS="$(LDFLAGS) -ldl" -C $(BUILD_DIR)/fltk-1.3.2
	$(MAKE) -C $(BUILD_DIR)/fltk-1.3.2 install DESTDIR=$(STAGE_DIR)
	>$@

$(STAMP_DIR)/tigervnc-$(tigervnc_version)-common: $(STAMP_DIR)/stampdir
	@echo "########## $(STAMP_DIR)/tigervnc-$(tigervnc_version)-common ##########"
	dh_testdir
	mkdir -p $(BUILD_DIR)/tigervnc-$(tigervnc_version)
	cp -r $(CURDIR)/tigervnc-$(tigervnc_version)/. $(BUILD_DIR)/tigervnc-$(tigervnc_version)
	chmod -R u+w $(BUILD_DIR)/tigervnc-$(tigervnc_version)
	cp -r $(CURDIR)/xorg-server-$(xorg_version)/. $(BUILD_DIR)/tigervnc-$(tigervnc_version)/unix/xserver 
	chmod -R u+w $(BUILD_DIR)/tigervnc-$(tigervnc_version)
	for f in $(CURDIR)/patches/xorg-server-$(xorg_version)/* ; do patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/tigervnc-$(tigervnc_version)/unix/xserver -p1 < $$f; done
	for f in $(CURDIR)/patches/tigervnc-$(tigervnc_version)/* ; do patch --no-backup-if-mismatch -N -d $(BUILD_DIR)/tigervnc-$(tigervnc_version) -p1 < $$f; done
	patch -d $(BUILD_DIR)/tigervnc-$(tigervnc_version)/unix/xserver -p1 < $(BUILD_DIR)/tigervnc-$(tigervnc_version)/unix/xserver$(tigervnc_patch).patch 
	>$@

$(STAMP_DIR)/configure-arch: $(STAMP_DIR)/libjpeg-turbo-1.5.3 $(STAMP_DIR)/fltk-1.3.4-2 $(STAMP_DIR)/tigervnc-$(tigervnc_version)-common
	@echo "########## $(STAMP_DIR)/configure-arch ##########"
	dh_testdir
	(cd $(BUILD_DIR)/tigervnc-$(tigervnc_version); cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DJPEG_INCLUDE_DIR=$(STAGE_DIR)/usr/include -DJPEG_LIBRARY=$(STAGE_DIR)/usr/lib/libturbojpeg.a -DFLTK_FLUID_EXECUTABLE=$(STAGE_DIR)/usr/bin/fluid -DFLTK_INCLUDE_DIR=$(STAGE_DIR)/usr/include -DFLTK_LIBRARIES="-lpng -ldl" $(BUILD_DIR)/tigervnc-$(tigervnc_version))
	(cd $(BUILD_DIR)/tigervnc-$(tigervnc_version)/unix/xserver; autoreconf -vfi)
	cd $(BUILD_DIR)/tigervnc-$(tigervnc_version)/unix/xserver && \
	./configure \
	  --prefix=/usr \
	  --mandir=\$${prefix}/share/man \
	  --infodir=\$${prefix}/share/info \
	  --sysconfdir=/etc \
	  --localstatedir=/var \
	  $(confflags) \
	  $(vars)
	>$@

$(STAMP_DIR)/build-arch: $(STAMP_DIR)/configure-arch
	@echo "########## $(STAMP_DIR)/build-arch  ##########"
	dh_testdir
	$(MAKE) -C $(BUILD_DIR)/tigervnc-$(tigervnc_version)
	$(MAKE) -C $(BUILD_DIR)/tigervnc-$(tigervnc_version)/unix/xserver
	cp debian/tigervncserver.init debian/hubzero-tigervnc-server.tigervncserver.init
	cp debian/tigervncserver.default  debian/hubzero-tigervnc-server.tigervncserver.default
	>$@

build-arch: $(STAMP_DIR)/build-arch
	@echo "########## build-arch  ##########"

build: build-indep build-arch
	@echo "########## build ##########"

clean:
	@echo "########## clean ##########"
	dh_testdir
	dh_testroot
	if [ "$(STAMP_DIR)" != "" -a "$(STAMP_DIR)" != "/" -a -d "$(STAMP_DIR)" -a -d "$(STAMP_DIR)/../debian" ] ; then  rm -fr "$(STAMP_DIR)" ; fi
	if [ "$(BUILD_DIR)" != "" -a "$(BUILD_DIR)" != "/" -a -d "$(BUILD_DIR)" -a -f "$(BUILD_DIR)/../rules" ] ; then rm -fr "$(BUILD_DIR)" ; fi
	if [ "$(STAGE_DIR)" != "" -a "$(STAGE_DIR)" != "/" -a -d "$(STAGE_DIR)" -a -f "$(STAGE_DIR)/../rules" ] ; then rm -fr "$(STAGE_DIR)" ; fi
	rm -f debian/jtigervncviewer.1
	rm -f debian/hubzero-tigervnc-server.tigervncserver.init
	rm -f debian/hubzero-tigervnc-server.tigervncserver.default
	dh_clean

$(STAMP_DIR)/install-arch: build-arch
	@echo "########## install-arch ##########"
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	# These go in hubzero-tigervnc-server
	$(MAKE) -C $(BUILD_DIR)/tigervnc-$(tigervnc_version)/unix/xserver DESTDIR=$(CURDIR)/debian/tmp install
	mv $(CURDIR)/debian/tmp/usr/bin/Xvnc $(CURDIR)/debian/tmp/usr/bin/Xtigervnc
	mv $(CURDIR)/debian/tmp/usr/share/man/man1/Xvnc.1 $(CURDIR)/debian/tmp/usr/share/man/man1/Xtigervnc.1

	# These are in xserver-common 
	# $(CURDIR)/debian/tmp/usr/share/man/man1/Xserver.1
	# $(CURDIR)/debian/tmp/usr/lib/xorg/protocol.txt
	# $(CURDIR)/debian/tmp/var/lib/xkb/README.compiled

	# These go in hubzero-tigervnc-server module
	rm $(CURDIR)/debian/tmp/usr/lib/xorg/modules/extensions/libvnc.la
	mv $(CURDIR)/debian/tmp/usr/lib/xorg/modules/extensions/libvnc.so $(CURDIR)/debian/tmp/usr/lib/xorg/modules/extensions/libtigervnc.so

	# These go in hubzero-tigervnc-server 
	$(MAKE) -C $(BUILD_DIR)/tigervnc-$(tigervnc_version)/unix DESTDIR=$(CURDIR)/debian/tmp install
	mv $(CURDIR)/debian/tmp/usr/share/man/man1/x0vncserver.1 $(CURDIR)/debian/tmp/usr/share/man/man1/x0tigervncserver.1
	mv $(CURDIR)/debian/tmp/usr/bin/vncconfig $(CURDIR)/debian/tmp/usr/bin/tigervncconfig
	mv $(CURDIR)/debian/tmp/usr/bin/vncpasswd $(CURDIR)/debian/tmp/usr/bin/tigervncpasswd
	mv $(CURDIR)/debian/tmp/usr/bin/vncserver $(CURDIR)/debian/tmp/usr/bin/tigervncserver
	mv $(CURDIR)/debian/tmp/usr/bin/x0vncserver $(CURDIR)/debian/tmp/usr/bin/x0tigervncserver
	mv $(CURDIR)/debian/tmp/usr/share/man/man1/vncconfig.1 $(CURDIR)/debian/tmp/usr/share/man/man1/tigervncconfig.1
	mv $(CURDIR)/debian/tmp/usr/share/man/man1/vncpasswd.1 $(CURDIR)/debian/tmp/usr/share/man/man1/tigervncpasswd.1
	mv $(CURDIR)/debian/tmp/usr/share/man/man1/vncserver.1 $(CURDIR)/debian/tmp/usr/share/man/man1/tigervncserver.1

	# These go in hubzero-tigervnc-viewer
	$(MAKE) -C $(BUILD_DIR)/tigervnc-$(tigervnc_version)/vncviewer DESTDIR=$(CURDIR)/debian/tmp install
	mv $(CURDIR)/debian/tmp/usr/bin/vncviewer $(CURDIR)/debian/tmp/usr/bin/xtigervncviewer
	mv $(CURDIR)/debian/tmp/usr/share/man/man1/vncviewer.1 $(CURDIR)/debian/tmp/usr/share/man/man1/xtigervncviewer.1

	# These go in hubzero-tigervnc-viewer
	$(MAKE) -C $(BUILD_DIR)/tigervnc-$(tigervnc_version)/media DESTDIR=$(CURDIR)/debian/tmp install
	# installer puts a 20x20 icon in place of 16x16, we rebuild it here
	rm $(CURDIR)/debian/tmp/usr/share/icons/hicolor/16x16/apps/tigervnc.png
	convert -density 72 -size 16x16 xc:none -gravity center -background transparent $(BUILD_DIR)/tigervnc-$(tigervnc_version)/media/tigervnc_16.svg -composite $(CURDIR)/debian/tmp/usr/share/icons/hicolor/16x16/apps/tigervnc.png

	# $(CURDIR)/debian/tmp/usr/share/icons/hicolor/16x16/apps/tigervnc.png
	# $(CURDIR)/debian/tmp/usr/share/icons/hicolor/22x22/apps/tigervnc.png
	# $(CURDIR)/debian/tmp/usr/share/icons/hicolor/48x48/apps/tigervnc.png
	# $(CURDIR)/debian/tmp/usr/share/icons/hicolor/scalable/apps/tigervnc.svg
	# $(CURDIR)/debian/tmp/usr/share/icons/hicolor/32x32/apps/tigervnc.png
	# $(CURDIR)/debian/tmp/usr/share/icons/hicolor/16x16/apps/tigervnc.png
	# $(CURDIR)/debian/tmp/usr/share/icons/hicolor/24x24/apps/tigervnc.png

	>$@


$(STAMP_DIR)/install-indep: $(STAMP_DIR)/build-indep
	@echo "########## install-indep ##########"
	# These go in hubzero-tigervnc-java
	$(MAKE) -C $(BUILD_DIR)/tigervnc-$(tigervnc_version)/java DESTDIR=$(CURDIR)/debian/tmp install
	mkdir -p $(CURDIR)/debian/tmp/usr/share/tigervnc/classes
	mkdir -p $(CURDIR)/debian/tmp/usr/bin
	mv $(CURDIR)/debian/tmp/usr/share/vnc/classes/index.vnc $(CURDIR)/debian/tmp/usr/share/tigervnc/classes
	mv $(CURDIR)/debian/tmp/usr/share/vnc/classes/README $(CURDIR)/debian/tmp/usr/share/tigervnc/classes
	mv $(CURDIR)/debian/tmp/usr/share/vnc/classes/favicon.ico $(CURDIR)/debian/tmp/usr/share/tigervnc/classes
	mv $(CURDIR)/debian/tmp/usr/share/vnc/classes/VncViewer.jar $(CURDIR)/debian/tmp/usr/share/tigervnc/classes
	rmdir $(CURDIR)/debian/tmp/usr/share/vnc/classes/
	rmdir $(CURDIR)/debian/tmp/usr/share/vnc/
	# Fix for making it more policy compliant.
	mkdir -p $(CURDIR)/debian/tmp/usr/share/java
	mv $(CURDIR)/debian/tmp/usr/share/tigervnc/classes/VncViewer.jar $(CURDIR)/debian/tmp/usr/share/java/tigervncviewer-$(tigervnc_version).jar
	ln -s ../../java/tigervncviewer.jar $(CURDIR)/debian/tmp/usr/share/tigervnc/classes/VncViewer.jar
	ln -s tigervncviewer-$(tigervnc_version).jar $(CURDIR)/debian/tmp/usr/share/java/tigervncviewer.jar
	install -m 755 debian/jtigervncviewer.sh $(CURDIR)/debian/tmp/usr/bin/jtigervncviewer
	pod2man --section=1 --release="Java TigerVNC " --date="`date`" debian/jtigervncviewer.pod > debian/jtigervncviewer.1
	>$@

binary-indep: $(STAMP_DIR)/install-indep
	@echo "########## binary-indep ##########"
	dh_testdir -i
	dh_testroot -i
	dh_installchangelogs -i
	dh_installdocs -i
	dh_installexamples -i
	dh_installmenu -i
	dh_install -i
	dh_installlogrotate -i
	dh_installinit -i
	dh_installman -i
	dh_link -i
	dh_strip -i
	dh_lintian -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_shlibdeps -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: $(STAMP_DIR)/install-arch
	@echo "########## binary-arch ##########"
	dh_testdir -a
	dh_testroot -a
	dh_installchangelogs -a
	dh_installdocs -a
	dh_installexamples -a
	dh_installmenu -a
	dh_install -a
	dh_installlogrotate -a
	dh_installinit -a --name=tigervncserver
	dh_installman -a
	dh_link -a
	dh_strip -a
	dh_lintian -a
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a -- --warnings=1
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep
binary: binary-arch
	@echo "########## binary ##########"

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