#!/usr/bin/make -f

NS3_DIR=ns-3.7.1
PYBINDGENV_DIR=pybindgen-0.12.0.710
REFTRACE_DIR=ns-3.7.1-ref-traces
NSC_DIR=nsc-0.5.1

PYVERS=$(shell pyversions -s)

%:
	dh $@ --with quilt


override_dh_auto_configure:
	cd $(NS3_DIR);./waf configure --doxygen-no-build --disable-examples -d release \
		--prefix=/usr --regression-tests= --with-regression-traces=../$(REFTRACE_DIR) \
		--with-pybindgen=../$(PYBINDGENV_DIR) --with-nsc=../$(NSC_DIR)
#		--enable-mpi


override_dh_auto_build:
	make all -C ./$(NS3_DIR)/doc/manual/
	make all -C ./$(NS3_DIR)/doc/testing/
	make all -C ./$(NS3_DIR)/doc/tutorial/

	cd $(NS3_DIR);./waf build
	
#	cd $(NS3_DIR);./waf check  #bug 798 makes it check failed http://www.nsnam.org/bugzilla/show_bug.cgi?id=798

override_dh_auto_install:
	################################################ ns3
	cd ./$(NS3_DIR);./waf install --destdir=../debian/ns3
	if [ ! -d ./debian/ns3/usr/share/doc/ns3 ] ;then mkdir -p ./debian/ns3/usr/share/doc/ns3 ;fi
	cp ./$(NS3_DIR)/RELEASE_NOTES ./debian/ns3/usr/share/doc/ns3
	cp ./$(NS3_DIR)/README ./debian/README.source
	rm ./debian/ns3/usr/lib/libns3.so
	################################################ libns3-3
	mkdir -p ./debian/libns3-3/usr/lib
	mv ./debian/ns3/usr/lib/libns3.so.3 ./debian/libns3-3/usr/lib
	mv ./debian/ns3/usr/lib/libns3.so.3.7.1 ./debian/libns3-3/usr/lib

	################################################ ns3-doc	
	mkdir -p ./debian/tmp/ns3-doc
	
	cp ./$(NS3_DIR)/doc/manual/manual.pdf ./$(NS3_DIR)/doc/manual/manual.html ./debian/tmp/ns3-doc
	cp -r ./$(NS3_DIR)/doc/manual/manual ./debian/tmp/ns3-doc

	
	cp  ./$(NS3_DIR)/doc/testing/testing.pdf ./$(NS3_DIR)/doc/testing/testing.html ./debian/tmp/ns3-doc
	cp -r ./$(NS3_DIR)/doc/testing/testing ./debian/tmp/ns3-doc

	cp ./$(NS3_DIR)/doc/tutorial/tutorial.pdf ./$(NS3_DIR)/doc/tutorial/tutorial.html ./debian/tmp/ns3-doc
	cp -r ./$(NS3_DIR)/doc/tutorial/tutorial ./debian/tmp/ns3-doc
	cp ./$(NS3_DIR)/doc/build.txt ./$(NS3_DIR)/doc/codingstd.txt ./$(NS3_DIR)/doc/contributing.txt ./$(NS3_DIR)/doc/mercurial.txt ./$(NS3_DIR)/doc/modules ./$(NS3_DIR)/doc/release_steps.txt ./debian/tmp/ns3-doc
	################################################ libns3-dev
	mkdir -p ./debian/tmp/libns3-dev/	
	cp -r ./$(NS3_DIR)/build/release/ns3 ./debian/tmp/libns3-dev/
	find ./$(NS3_DIR)/build/release/src -name '*.o' -exec cp -n {} ./debian/tmp/libns3-dev/ \;
	ar r debian/tmp/libns3-dev/libns3.a debian/tmp/libns3-dev/*.o
	ranlib debian/tmp/libns3-dev/libns3.a
	cp -r ns-3.7.1/examples debian/tmp/libns3-dev/
	find debian/tmp/libns3-dev/examples -name 'waf' -exec rm {} \;
	############################################### python-ns3
	for pyv in $(PYVERS);\
	do \
		mkdir -p ./debian/python-ns3/usr/lib/$(pyv)/dist-packages/ ;\
		mv ./debian/ns3/usr/lib/_ns3.so ./debian/python-ns3/usr/lib/$(pyv)/dist-packages/ ;\
		cp debian/ns3.py ./debian/python-ns3/usr/lib/$(pyv)/dist-packages ;\
	done
	############################################### other clean
	rmdir ./debian/ns3/usr/lib/
	
	dh_install

override_dh_installchangelogs:
	dh_installchangelogs ./$(NS3_DIR)/CHANGES.html
	
