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	@echo no bmptopnm: can not compare iconsize of  node_icons.bmp node_icons2.bmp
20	@echo no bmptopnm: can not compare iconsize of  standard_toolbar.bmp standard_toolbar2.bmp
21	@echo no bmptopnm: can not compare iconsize of  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	rm -f ./dune_selftest dune_selftest.exe
30	sh -c "cd ../src;ls Node*.h | \
31             awk '{print \"#include \\\"\" \$$0 \"\\\"\"}' > ../test/AllNodes.h"
32	cd ../src && $(MAKE) $$DUNEMAKEFLAGS allNodesTest
33	./dune_allNodesTest > allNodesTest.wrl
34	rm -f dune_allNodesTest dune_allNodesTest.exe
35	cd ../src && $(MAKE) $$DUNEMAKEFLAGS allNodesTestX3d
36	./dune_allNodesTestX3d > allNodesTestX3d.x3dv
37	cp allNodesTestX3d.x3dv /tmp
38	rm -f dune_allNodesTestX3d dune_allNodesTestX3d.exe
39	cd ../src && $(MAKE) $$DUNEMAKEFLAGS selftest
40	./dune_selftest allNodesTestX3d.x3dv 2>/dev/null >/dev/null
41	$(MAKE) clean
42	cd ../src/swt && $(MAKE) $$DUNEMAKEFLAGS test
43	cd ../src/swt && $(MAKE) $$DUNEMAKEFLAGS testclean
44	$(MAKE) export_source_test
45
46export_source_test: dune
47	cd .. && $(MAKE)
48	cd ../docs/export_example_c/simple_example && $(MAKE)
49	../docs/export_example_c/simple_example/helloWorld
50	cd ../docs/export_example_c/simple_example && $(MAKE) clean
51	cd ../docs/export_example_c++/simple_example && $(MAKE)
52	../docs/export_example_c++/simple_example/helloWorld
53	cd ../docs/export_example_c++/simple_example && $(MAKE) clean
54	cd ../docs/export_example_java/simple_example && $(MAKE)
55	cd ../docs/export_example_java/simple_example && $(JAVA) -cp classes helloWorld
56	cd ../docs/export_example_java/simple_example && $(MAKE) clean
57
58realclean: clean
59	rm -f /tmp/allNodesTestX3d.x3dv
60
61clean:
62	rm -f dune_selftest dune_selftest.exe \
63              printFieldType printFieldType.exe \
64              printNodeType printNodeType.exe \
65              printFieldNumber printFieldNumber.exe \
66	      *allNodesTest* ../src/allNodesTest* AllNodes.h \
67	      dune_testprotos dune_testprotos.exe testprotos.cpp \
68	      testzeroclass testzeroclass.exe testzeroclass.cpp
69
70testzeroclass: dune
71	sh testzeroclass.sh > testzeroclass.cpp
72	cd ../src && $(MAKE) $$DUNEMAKEFLAGS testzeroclass
73	./testzeroclass
74
75printFieldType: dune
76	cd ../src && $(MAKE) $$DUNEMAKEFLAGS ../test/printFieldType
77
78printNodeType: dune
79	cd ../src && $(MAKE) $$DUNEMAKEFLAGS ../test/printNodeType
80
81printFieldNumber: dune
82	cd ../src && $(MAKE) $$DUNEMAKEFLAGS ../test/printFieldNumber
83