#!/usr/bin/make -f

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

# Uncomment this to force a specific compiler, like 'gcc-9' or 'gcc-10'.
#export CC=gcc-10

include /usr/share/dpkg/architecture.mk

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk

# see FEATURE AREAS in dpkg-buildflags(1)
ifneq (,$(findstring amd64,$(DEB_BUILD_ARCH)))
export DEB_BUILD_MAINT_OPTIONS = hardening=+fortify,-stackprotector,+relro,+bindnow,-pie
else
export DEB_BUILD_MAINT_OPTIONS = hardening=+fortify,-stackprotector,+relro,+bindnow,+pie
endif

devi := $(shell lsb_release -r -s | cut -d '.'  -f1)
ifeq ($(shell if [ $(devi) -gt 7 ] ; then echo gt ; else echo lt ; fi),gt)
   DEBVE=yes
else
   DEBVE=no
endif

ifeq ($(DEBVE),yes)
OPTI_FLAGS_LIBONLY := -fomit-frame-pointer -Wall
else
OPTI_FLAGS_LIBONLY := -fomit-frame-pointer -DOLDER_DEB -Wall
endif
### PICCORO optimizer flags for i386 x86 machines
ifeq ($(DEB_HOST_ARCH),i386)
    OPTI_FLAGS_LIBONLY += -march=i686 -mtune=generic -mmmx
else
ifeq ($(DEB_HOST_ARCH),i486)
    OPTI_FLAGS_LIBONLY += -march=i686 -mtune=generic -mmmx
endif
endif

ifeq ($(DEB_HOST_ARCH),amd64)
    OPTI_FLAGS_LIBONLY += -mmmx -msse -msse2
endif

export CFLAGS=$(OPTI_FLAGS_LIBONLY)
CFLAGS=$(OPTI_FLAGS_LIBONLY)
export CXXFLAGS=$(OPTI_FLAGS_LIBONLY)
CXXFLAGS=$(OPTI_FLAGS_LIBONLY)

%:
	dh $@

override_dh_auto_clean:
	dh_auto_clean
	# Remove files generated by override_dh_auto_build.
	$(RM) debian/faq.txt debian/start.txt

override_dh_auto_build:
	dh_auto_build -- 
	# Generate text files from html sources.
	LANGUAGE=en && lynx -dump debian/faq.html   | sed 's,file://.*/,,' > debian/faq.txt
	LANGUAGE=en && lynx -dump debian/start.html | sed 's,file://.*/,,' > debian/start.txt

override_dh_auto_install:
# tightvncpasswd
	install -m 755 vncpasswd/vncpasswd \
		$(CURDIR)/debian/tightvncserver/usr/bin/tightvncpasswd
	install -m 644 vncpasswd/vncpasswd.man \
		$(CURDIR)/debian/tightvncserver/usr/share/man/man1/tightvncpasswd.1
# tightvncserver
	install -m 644 debian/vnc.conf \
		$(CURDIR)/debian/tightvncserver/etc/tightvncserver.conf
	install -m 755 Xvnc/programs/Xserver/Xvnc \
		$(CURDIR)/debian/tightvncserver/usr/bin/Xtightvnc
	install -m 755 vncserver \
		$(CURDIR)/debian/tightvncserver/usr/bin/tightvncserver
	install -m 644 tightvncserver.conf \
		$(CURDIR)/debian/tightvncserver/etc/tightvncserver.conf
	install -m 755 vncconnect/vncconnect \
		$(CURDIR)/debian/tightvncserver/usr/bin/tightvncconnect
	install -m 644 vncserver.man \
		$(CURDIR)/debian/tightvncserver/usr/share/man/man1/tightvncserver.1
	install -m 644 vncconnect/vncconnect.man \
		$(CURDIR)/debian/tightvncserver/usr/share/man/man1/tightvncconnect.1
	install -m 644 Xvnc/programs/Xserver/Xvnc.man \
		$(CURDIR)/debian/tightvncserver/usr/share/man/man1/Xtightvnc.1
# xtightvncviewer
	install -m 755 vncviewer/vncviewer \
		$(CURDIR)/debian/xtightvncviewer/usr/bin/xtightvncviewer
	install -m 644 vncviewer/Vncviewer \
		$(CURDIR)/debian/xtightvncviewer/etc/X11/app-defaults/Vncviewer
	install -m 644 vncviewer/vncviewer.man \
		$(CURDIR)/debian/xtightvncviewer/usr/share/man/man1/xtightvncviewer.1
