#!/usr/bin/make -f

NS3VER=3.9
NS3_DIR=ns-$(NS3VER)
PYBINDGENV_DIR=pybindgen-0.15.0
REFTRACE_DIR=ns-$(NS3VER)-ref-traces
NSC_DIR=nsc-0.5.2

RELEASE=debug

PYVERS=$(shell pyversions -s)

%:
	dh $@ --with quilt


override_dh_auto_configure:
#	cd $(NS3_DIR);./waf configure --disable-examples -d $(RELEASE) \
#		--prefix=/usr --with-regression-traces=../$(REFTRACE_DIR) \
#		--with-pybindgen=../$(PYBINDGENV_DIR) --with-nsc=../$(NSC_DIR) \
#		--enable-mpi --python-scan --enable-python-pch --doxygen-no-build
	cp ./debian/build.config ./.config


override_dh_auto_build:
	cp debian/doc-makefile/makefile-manual ./$(NS3_DIR)/doc/manual/GNUmakefile
	make manual/manual.html -C ./$(NS3_DIR)/doc/manual/
	cp debian/doc-makefile/makefile-testing ./$(NS3_DIR)/doc/testing/GNUmakefile
	make testing/testing.html -C ./$(NS3_DIR)/doc/testing/
	cp debian/doc-makefile/makefile-tutorial ./$(NS3_DIR)/doc/tutorial/GNUmakefile
	make split-html -C ./$(NS3_DIR)/doc/tutorial/

#	cd $(NS3_DIR);./waf build
	./build.py
	
	cd $(NS3_DIR); ./waf --doxygen
	

override_dh_auto_test:
	cd ./$(NS3_DIR); ./test.py

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

	################################################ 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.$(NS3VER) ./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
	mv ./debian/ns3/usr/lib/libns3.so debian/tmp/libns3-dev/
	cp -r $(NS3_DIR)/examples debian/tmp/libns3-dev/
	find debian/tmp/libns3-dev/examples -name 'waf' -exec rm {} \;
	############################################### python-ns3
#	python ./debian/python-ns3-setup.py install --prefix=./debian/python-ns3/usr

	for pyv in $(PYVERS);\
	do \
		mkdir -p ./debian/python-ns3/usr/lib/$${pyv}/dist-packages/ ;\
		cp -r $(NS3_DIR)/build/debug/bindings/python/ns3 ./debian/python-ns3/usr/lib/$${pyv}/dist-packages/ ;\
	done
	############################################### other clean
	rm -rf ./debian/ns3/usr/lib/
	
	dh_install

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

override_dh_auto_clean:
	sh ./debian/clean-tree.sh
	
