#!/usr/bin/make -f
# MAde with the aid of dh_make, by Craig Small
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
# Some lines taken from debmake, by Cristoph Lameter.

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

DB2MAN=/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl


DEB_HOST_ARCH_CPU       ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
DEB_BUILD_ARCH_CPU      ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU)

PYTHON_VERSION=python2.4

CFLAGS=-g -O2

# Enable IEEE-conformant floating point math on alphas (not the default)
ifeq (alpha,$(DEB_HOST_ARCH_CPU))
  CFLAGS += -mieee
endif

idl2deb.1: idl2deb.dbk
	xsltproc --nonet --novalid $(DB2MAN) $<

asn2deb.1: asn2deb.dbk
	xsltproc --nonet --novalid $(DB2MAN) $<


CONFIGURE_FLAGS=--prefix=/usr --sysconfdir=/usr/share --datadir=/usr/share --disable-static --disable-ssl --without-ucdsnmp --enable-gtk2 --libdir=/usr/lib/wireshark --enable-warnings-as-errors=no --with-plugins=/usr/lib/wireshark/plugins --with-lua=/usr/

configure: configure-stamp
configure-stamp:
	dh_testdir

	libtoolize --force --copy
	-mkdir aclocal-missing
	./autogen.sh
	CFLAGS="$(CFLAGS)" ./configure $(CONFIGURE_FLAGS)

	touch configure-stamp

build: build-stamp idl2deb.1 asn2deb.1
build-stamp: configure-stamp
	$(MAKE)

	touch build-stamp

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

	[ ! -f Makefile ] || $(MAKE) distclean 
	rm -f rdps wireshark.1 tshark.1 idl2deb.1 wireshark-filter.4 asn2deb.1 dumpcap.1 rawshark.1
	rm -f conftest conftest.c
	rm -f config.guess config.sub config.log
	rm -f config.h.in config.h configure

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the files into debian/tmp
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
	rm -rf $(CURDIR)/debian/tmp/usr/share/wireshark/COPYING
	cp debian/license-text-about-dialog $(CURDIR)/debian/tmp/usr/share/wireshark/ABOUT.GPL
	mkdir -p $(CURDIR)/debian/tmp/usr/share/applications/
	cp wireshark.desktop $(CURDIR)/debian/tmp/usr/share/applications/
	cp tools/idl2wrs.sh $(CURDIR)/debian/tmp/usr/bin/
	mkdir -p $(CURDIR)/debian/tmp/usr/share/pixmaps/
	cp image/hi48-app-wireshark.png $(CURDIR)/debian/tmp/usr/share/pixmaps/
	cp image/wsicon32.xpm $(CURDIR)/debian/tmp/usr/share/pixmaps/
	mkdir -p $(CURDIR)/debian/tmp/usr/lib/$(PYTHON_VERSION)/site-packages/
	install -m 755 $(CURDIR)/idl2deb $(CURDIR)/debian/tmp/usr/bin/
	install -m 755 $(CURDIR)/asn2deb $(CURDIR)/debian/tmp/usr/bin/
	mkdir -p $(CURDIR)/debian/tmp/usr/share/lintian/overrides/
	install -m 644 $(CURDIR)/tshark.lintian-overrides \
		$(CURDIR)/debian/tmp/usr/share/lintian/overrides/tshark
	install -m 644 $(CURDIR)/wireshark-common.lintian-overrides \
		$(CURDIR)/debian/tmp/usr/share/lintian/overrides/wireshark-common
	mkdir -p $(CURDIR)/debian/tmp/etc/wireshark/
	mv $(CURDIR)/debian/tmp/usr/share/wireshark/init.lua \
		$(CURDIR)/debian/tmp/etc/wireshark/
	ln -s /etc/wireshark/init.lua \
		$(CURDIR)/debian/tmp/usr/share/wireshark/init.lua
	cp $(CURDIR)/tools/wireshark_be.py $(CURDIR)/tools/wireshark_gen.py \
		$(CURDIR)/tools/asn2wrs.py $(CURDIR)/debian/tmp/usr/lib/$(PYTHON_VERSION)/site-packages/
	mkdir -p $(CURDIR)/debian/tmp/usr/include/wireshark/
	for F in `cat debian/wireshark-dev.header-files`; do \
		cp --parents $$F $(CURDIR)/debian/tmp/usr/include/wireshark; \
	done
	# .a is no longer built; why was is used ?
	#cp $(CURDIR)/wiretap/libwiretap.a $(CURDIR)/debian/tmp/usr/lib/
	-rm -rf $(CURDIR)/debian/tmp/usr/man
	dh_installman

	dh_movefiles
	dh_pysupport
	dh_python
	dh_installdocs
	dh_installmenu
	dh_installchangelogs NEWS

# Build architecture-independent files here.
binary-indep: install
# We have nothing to do by default.

check: install
	# check all necessary headers are included
	gcc -c debian/headers-check.c `pkg-config --cflags glib-2.0` -Idebian/wireshark-dev/usr/include/ -Idebian/wireshark-dev/usr/include/wireshark/ -o /dev/null

# Build architecture-dependent files here.
binary-arch: install check
	dh_strip --dbg-package=wireshark-dbg
	dh_compress
	dh_fixperms

	dh_installdebconf
	dh_installdeb
	LD_LIBRARY_PATH=/usr/lib/wireshark/ dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

source diff:
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

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