1# This Makefile is free software; the Free Software Foundation
2# gives unlimited permission to copy, distribute and modify it.
3
4JAVA=echo
5
6tests: dune slowtests testzeroclass fasttests
7
8dune:
9	cd ../src && $(MAKE) $$DUNEMAKEFLAGS
10
11slowtests: dune
12	cd ../src && $(MAKE) $$DUNEMAKEFLAGS FilesMissingInWindowsProjects.o
13
14fasttests: dune
15	rm -rf ../src/NONE
16	sh testtabs.sh
17	sh testresourcenumbers.sh
18	sh testmenus.sh
19	../batch/testiconsize2.sh /usr/bin/bmptopnm node_icons.bmp node_icons2.bmp
20	../batch/testiconsize2.sh /usr/bin/bmptopnm standard_toolbar.bmp standard_toolbar2.bmp
21	../batch/testiconsize2.sh /usr/bin/bmptopnm vcr.bmp vcr2.bmp
22	sh testprotos.sh > testprotos.cpp
23	cd ../src && $(MAKE) $$DUNEMAKEFLAGS testprotos
24	./dune_testprotos
25	rm -f ./dune_testprotos ./dune_testprotos.exe testprotos.cpp
26	cd ../src && $(MAKE) $$DUNEMAKEFLAGS selftest
27	./dune_selftest > allNodesTest.cpp
28	./dune_selftest -x3d > allNodesTestX3d.cpp
29	./dune_selftest -x3dom > allNodesTestX3dom.cpp
30	./dune_selftest -kambi > allNodesTestKambi.cpp
31	./dune_selftest -cover > allNodesTestCover.cpp
32	rm -f ./dune_selftest dune_selftest.exe
33	sh -c "cd ../src;ls Node*.h | \
34             awk '{print \"#include \\\"\" \$$0 \"\\\"\"}' > ../test/AllNodes.h"
35	cd ../src && $(MAKE) $$DUNEMAKEFLAGS allNodesTest
36	./dune_allNodesTest > allNodesTest.wrl
37	rm -f dune_allNodesTest dune_allNodesTest.exe
38	cd ../src && $(MAKE) $$DUNEMAKEFLAGS allNodesTestX3d
39	./dune_allNodesTestX3d > allNodesTestX3d.x3dv
40	cp allNodesTestX3d.x3dv /tmp
41	rm -f dune_allNodesTestX3d dune_allNodesTestX3d.exe
42	cd ../src && $(MAKE) $$DUNEMAKEFLAGS allNodesTestCover
43	./dune_allNodesTestCover > allNodesTestCover.wrl
44	rm -f dune_allNodesTestCover dune_allNodesTestCover.exe
45	cd ../src && $(MAKE) $$DUNEMAKEFLAGS allNodesTestKambi
46	./dune_allNodesTestKambi > allNodesTestKambi.wrl
47	rm -f dune_allNodesTestX3dom dune_allNodesTestX3dom.exe
48	cd ../src && $(MAKE) $$DUNEMAKEFLAGS allNodesTestX3dom
49	./dune_allNodesTestX3dom > allNodesTestX3dom.wrl
50	rm -f dune_allNodesTestX3dom dune_allNodesTestX3dom.exe
51	cd ../src && $(MAKE) $$DUNEMAKEFLAGS selftest
52	./dune_selftest allNodesTestX3d.x3dv 2>/dev/null >/dev/null
53	$(MAKE) clean
54	cd ../src/swt && $(MAKE) $$DUNEMAKEFLAGS test
55	cd ../src/swt && $(MAKE) $$DUNEMAKEFLAGS testclean
56	$(MAKE) export_source_test
57	echo all tests passed
58
59export_source_test: dune
60	cd .. && $(MAKE)
61	cd ../docs/export_example_c/simple_example && $(MAKE)
62	../docs/export_example_c/simple_example/helloWorld
63	cd ../docs/export_example_c/simple_example && $(MAKE) clean
64	cd ../docs/export_example_c++/simple_example && $(MAKE)
65	../docs/export_example_c++/simple_example/helloWorld
66	cd ../docs/export_example_c++/simple_example && $(MAKE) clean
67	cd ../docs/export_example_java/simple_example && $(MAKE)
68	cd ../docs/export_example_java/simple_example && $(JAVA) -cp classes helloWorld
69	cd ../docs/export_example_java/simple_example && $(MAKE) clean
70
71realclean: clean
72	rm -f /tmp/allNodesTestX3d.x3dv
73
74clean:
75	rm -f dune_selftest dune_selftest.exe \
76              printFieldType printFieldType.exe \
77              printNodeType printNodeType.exe \
78              printFieldNumber printFieldNumber.exe \
79	      *allNodesTest* ../src/allNodesTest* AllNodes.h \
80	      dune_testprotos dune_testprotos.exe testprotos.cpp \
81	      testzeroclass testzeroclass.exe testzeroclass.cpp
82
83testzeroclass: dune
84	sh testzeroclass.sh > testzeroclass.cpp
85	cd ../src && $(MAKE) $$DUNEMAKEFLAGS testzeroclass
86	./testzeroclass
87
88printFieldType: dune
89	cd ../src && $(MAKE) $$DUNEMAKEFLAGS ../test/printFieldType
90
91printNodeType: dune
92	cd ../src && $(MAKE) $$DUNEMAKEFLAGS ../test/printNodeType
93
94printFieldNumber: dune
95	cd ../src && $(MAKE) $$DUNEMAKEFLAGS ../test/printFieldNumber
96