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

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


# 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)


CFLAGS = -Wall -g

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

# shared library versions, option 1
#version=2.0.5
#major=2
# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
version=`ls src/.libs/lib*.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
major=`ls src/.libs/lib*.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

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) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --disable-runtime-loading


build: build-stamp
build-stamp:  config.status
	dh_testdir
	@# Add here commands to compile the package.
	$(MAKE) DPKGBUILD=true

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp 
	@# Add here commands to clean up after the build process.
	[ ! -f Makefile ] || $(MAKE) distclean
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
	cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
	cp -f /usr/share/misc/config.guess config.guess
endif


	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs
	@# Add here commands to install the package into debian/tmp
	$(MAKE) install DESTDIR="$(CURDIR)/debian/tmp"
	# Set up system-wide user CSS style options
	mkdir -p "$(CURDIR)/debian/tmp/etc/shellinabox/options-available"     \
	         "$(CURDIR)/debian/tmp/etc/shellinabox/options-enabled"
	for i in "00+Black on White" "00_White On Black"                      \
	         "01_Monochrome"     "01+Color Terminal"; do                  \
	  ln "$(CURDIR)/debian/tmp/usr/share/doc/shellinabox/$$(echo "$$i"|   \
                                        sed -e 's/[0-9]*[_+]\([^ ]*\).*/\1/'| \
	                                tr A-Z a-z)"*.css                     \
	     "$(CURDIR)/debian/tmp/etc/shellinabox/options-available/$$i.css";\
	done
	cd "$(CURDIR)/debian/tmp/etc/shellinabox/options-enabled" &&          \
	ln -s ../options-available/*.css .
	cp "$(CURDIR)/debian/README.available"                                \
	   "$(CURDIR)/debian/tmp/etc/shellinabox/options-available/README"
	cp "$(CURDIR)/debian/README.enabled"                                  \
	   "$(CURDIR)/debian/tmp/etc/shellinabox/options-enabled/README"
	# Add Lintian override. ShellInABox has an explicit exemption allowing
	# the linking its GPLv2 code with OpenSSL.
	mkdir -p "$(CURDIR)/debian/tmp/usr/share/lintian/overrides/"
	{ echo '# ShellInABox has an explicit exemption allowing the linking';\
	echo '# of its GPLv2 code with OpenSSL';                              \
	echo 'shellinabox binary: possible-gpl-code-linked-with-openssl'; }   \
	   >"$(CURDIR)/debian/tmp/usr/share/lintian/overrides/shellinabox"

# 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 --exclude COPYING --exclude INSTALL --exclude ChangeLog
	dh_installexamples
	dh_install --sourcedir=debian/tmp
#	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
	dh_md5sums
	dh_builddeb

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