#!/usr/bin/make -f
# Made with the aid of debmake, by Christoph Lameter,
# based on the sample debian/rules file for GNU hello by Ian Jackson.

package		= netperf
tmpdir    = $(CURDIR)/debian/$(package)
CC = gcc
CFLAGS = -O2 -Wall 
#CFLAGS = -O2 -Wall -DDEBUG_LOG_FILE=\\\"/tmp/netperf.debug\\\" -DUSE_LOOPER
LDFLAGS = 

build:
	$(checkdir)
	$(MAKE) CFLAGS="${CFLAGS}"
	touch build-stamp

clean:
	$(checkdir)
	rm -f build-stamp
	$(MAKE) clean
	rm -f `find . -name "*~"`
	rm -rf ${tmpdir} `find debian/* -type d ! -name CVS` debian/files* core
	rm -f debian/*substvars

install: build	
	test -e debian/control
	install -d ${tmpdir}
	cd ${tmpdir} && install -d `cat ../dirs` && cd ../..
	# 'install' may used in future when the makefile is rewritten.
	#$(MAKE) install PREFIX=${tmpdir}
	install -m 0755 -s netperf ${tmpdir}/usr/bin
	install -m 0755 -s netserver ${tmpdir}/usr/sbin
	install -m 0644 netserver.man ${tmpdir}/usr/share/man/man1/netserver.1
	install -m 0644 netperf.man ${tmpdir}/usr/share/man/man1/netperf.1

	# move scripts to examples directory
	install -m 0644 tcp_range_script ${tmpdir}/usr/share/doc/netperf/examples/
	install -m 0644 tcp_stream_script ${tmpdir}/usr/share/doc/netperf/examples/
	install -m 0644 tcp_rr_script ${tmpdir}/usr/share/doc/netperf/examples/
	install -m 0644 udp_stream_script ${tmpdir}/usr/share/doc/netperf/examples/
	install -m 0644 udp_rr_script ${tmpdir}/usr/share/doc/netperf/examples/
	install -m 0644 snapshot_script ${tmpdir}/usr/share/doc/netperf/examples/

binary-netperf: checkroot install
	$(checkdir)
	## Install debian stuff
	# docs ..
	install -m 0644 ACKNWLDGMNTS ${tmpdir}/usr/share/doc/${package}
	install -m 0644 COPYRIGHT ${tmpdir}/usr/share/doc/${package}/copyright
	install -m 0644 Release_Notes \
		${tmpdir}/usr/share/doc/${package}/changelog
	install -m 0644 README ${tmpdir}/usr/share/doc/${package}
	install -m 0644 netperf.ps ${tmpdir}/usr/share/doc/${package}
	install -m 0755 debian/init.d ${tmpdir}/etc/init.d/${package}
	
	install -m 0644 debian/README.debian ${tmpdir}/usr/share/doc/${package}
	install -m 0644 debian/changelog \
		${tmpdir}/usr/share/doc/${package}/changelog.Debian
	# compress stuff
	gzip -9f ${tmpdir}/usr/share/man/man1/* \
		${tmpdir}/usr/share/doc/${package}/changelog \
		${tmpdir}/usr/share/doc/${package}/changelog.Debian \
		${tmpdir}/usr/share/doc/${package}/netperf.ps

	# generate ${shlibs:Depends}
	dpkg-shlibdeps -Tdebian/substvars -dDepends ${tmpdir}/usr/sbin/netserver ${tmpdir}/usr/bin/netperf
	
	# install stuff to DEBIAN/
	install -d ${tmpdir}/DEBIAN
	install -m 0644 debian/conffiles ${tmpdir}/DEBIAN
	install -m 0755 debian/postinst ${tmpdir}/DEBIAN
	install -m 0755 debian/prerm ${tmpdir}/DEBIAN
	install -m 0755 debian/postrm ${tmpdir}/DEBIAN

	# generate DEBIAN/MD5sums
	cd ${tmpdir} >/dev/null ;\
		find * -type f ! -regex '^DEBIAN/.*' \
		-print0 | xargs -r0 md5sum > DEBIAN/md5sums ; \
		cd ../.. >/dev/null
	chmod 644 ${tmpdir}/DEBIAN/md5sums
	chown root:root ${tmpdir}/DEBIAN/md5sums
	
	# generate DEBIAN/control
	dpkg-gencontrol -isp -p${package} -Tdebian/substvars -P${tmpdir}
									
	chown -R root.root ${tmpdir}
	chmod -R go=rX ${tmpdir}
	dpkg --build ${tmpdir} ..

define checkdir
	test -f debian/rules
endef

binary-indep:

binary-arch: binary-netperf

binary: binary-indep binary-arch

checkroot:
	$(checkdir)
	test "xroot" = "x`whoami`"

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