#!/usr/bin/make -f

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

include /usr/share/dpatch/dpatch.make

CFLAGS = -Wall -g

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

DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
	CROSS=CC=$(DEB_HOST_GNU_TYPE)-gcc LDFLAGS=-L../libsupp/
else
	CROSS=LDFLAGS="-L../libsupp/ -Wl,--as-needed"
endif


build: build-stamp
build-stamp:
	dh_testdir

	# Building package
	CFLAGS="$(CFLAGS)" $(MAKE) $(CROSS)

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp

	# Cleaning package
	[ ! -f Makefile ] || $(MAKE) distclean

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Installing package
	install -D -m 0755 traceroute/traceroute debian/traceroute2/usr/bin/traceroute.db
	install -D -m 0644 traceroute/traceroute.8 debian/traceroute2/usr/share/man/man1/traceroute.db.1

	install -D -m 0755 wrappers/traceroute-nanog debian/traceroute2/usr/bin/traceroute-nanog
	ln -s traceroute.db.1.gz debian/traceroute2/usr/share/man/man1/traceroute-nanog.1.gz

	install -D -m 0644 libsupp/libsupp.a debian/traceroute2/usr/lib/libsupp.a
	install -D -m 0644 libsupp/clif.h debian/traceroute2/usr/include/clif.h

	# Installing symlinks
	mkdir -p debian/traceroute2/usr/share/man/man1

	for _ALTERNATIVE in traceroute6; \
	do \
		ln -s traceroute.db debian/traceroute2/usr/bin/$${_ALTERNATIVE}.db; \
		ln -s traceroute.db.1.gz debian/traceroute2/usr/share/man/man1/$${_ALTERNATIVE}.db.1.gz; \
	done

	# Installing wrappers
	for _WRAPPER in lft traceproto; \
	do \
		install -D -m 0755 wrappers/$${_WRAPPER} debian/traceroute2/usr/bin/$${_WRAPPER}.db; \
		ln -s traceroute.db.1.gz debian/traceroute2/usr/share/man/man1/$${_WRAPPER}.db.1.gz; \
	done

	mkdir -p debian/traceroute2/usr/share/man/man8

	for _WRAPPER in tcptraceroute; \
	do \
		install -D -m 0755 wrappers/$${_WRAPPER} debian/traceroute2/usr/sbin/$${_WRAPPER}.db; \
		ln -s ../man1/traceroute.db.1.gz debian/traceroute2/usr/share/man/man8/$${_WRAPPER}.db.8.gz; \
	done


binary-indep: build install

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs ChangeLog
	dh_installdocs
	dh_install
	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
