* Makefile: Correct path names.
[mono.git] / mcs / tools / mdoc / Makefile
1 thisdir = tools/mdoc
2 SUBDIRS = 
3 include ../../build/rules.make
4
5 LOCAL_MCS_FLAGS = \
6         /resource:../monodoc/Resources/mdoc-html-utils.xsl,mdoc-html-utils.xsl      \
7         /resource:../monodoc/Resources/mdoc-sections-css.xsl,mdoc-sections-css.xsl  \
8         /resource:../monodoc/Resources/mono-ecma-css.xsl,mono-ecma-css.xsl          \
9         /resource:Resources/defaulttemplate.xsl,defaulttemplate.xsl                 \
10         /resource:Resources/monodoc-ecma.xsd,monodoc-ecma.xsd                       \
11         /resource:Resources/overview.xsl,overview.xsl                               \
12         /resource:Resources/stylesheet.xsl,stylesheet.xsl                           \
13         /r:$(topdir)/class/lib/net_1_1/monodoc.dll
14
15 MDOC_RESOURCES = \
16         Resources/defaulttemplate.xsl     \
17         Resources/monodoc-ecma.xsd        \
18         Resources/overview.xsl            \
19         Resources/stylesheet.xsl
20
21 MDOC_TEST_FILES = \
22         Test/DocTest-v1.cs                                        \
23         Test/DocTest-v2.patch                                     \
24         Test/msxdoc-expected.importslashdoc.xml                   \
25         Test/TestEcmaDocs.xml                                     \
26         Test/validate.check.monodocer                             \
27         Test/validate.check.monodocer.importslashdoc              \
28         Test/validate.check.monodocer.since                       \
29         $(shell find Test/en.expected* -name \*.xml)      \
30         $(shell find Test/html.expected* -name \*.html)
31
32 EXTRA_DISTFILES = \
33         $(MDOC_RESOURCES) \
34         $(MDOC_TEST_FILES)
35
36 PROGRAM = mdoc.exe
37
38 include ../../build/executable.make
39
40 $(PROGRAM) : monodocer1.exe Makefile
41
42 MCS1 = \
43         MONO_PATH="$(topdir)/class/lib/net_1_1$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" \
44         $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/net_1_1/mcs.exe
45
46 CSCOMPILE1 = $(Q_MCS) $(MCS1) $(USE_MCS_FLAGS)
47
48 MONO = \
49         MONO_PATH="$(topdir)/class/lib/2.0$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" \
50         $(RUNTIME) $(RUNTIME_FLAGS)
51
52 monodocer1.exe : Mono.Documentation/monodocer.cs
53         $(CSCOMPILE1) -debug+ -d:NET_1_0 Mono.Documentation/monodocer.cs -out:$@ -r:Mono.GetOptions
54
55 test-local: $(PROGRAM)
56
57 clean-local: cleanup
58
59 cleanup:
60         -rm -Rf Test/en.actual Test/html.actual
61         -rm monodocer1.exe*
62
63 Test/DocTest.dll: 
64         $(CSCOMPILE) $(TEST_CSCFLAGS) -debug -unsafe -target:library -out:$@ Test/DocTest.cs
65
66 Test/DocTest.dll-v1: 
67         -rm -f Test/DocTest.cs
68         cp Test/DocTest-v1.cs Test/DocTest.cs
69         -rm -f Test/DocTest.dll
70         $(MAKE) TEST_CSCFLAGS=$(TEST_CSCFLAGS) Test/DocTest.dll
71
72 Test/DocTest.dll-v2: 
73         -rm -f Test/DocTest.cs
74         cp Test/DocTest-v1.cs Test/DocTest.cs
75         cd Test && patch -p0 < DocTest-v2.patch
76         -rm -f Test/DocTest.dll
77         $(MAKE) TEST_CSCFLAGS=$(TEST_CSCFLAGS) Test/DocTest.dll
78
79 check-monodocer-update: mdoc.exe
80         find Test/en.expected -name \*.xml -exec rm "{}" \;
81         $(MAKE) Test/DocTest.dll-v1
82         $(MONO) mdoc.exe update -o Test/en.expected Test/DocTest.dll
83
84 check-monodocer: mdoc.exe
85         -rm -Rf Test/en.actual
86         $(MAKE) Test/DocTest.dll-v1
87         $(MONO) mdoc.exe update -o Test/en.actual Test/DocTest.dll
88         diff --exclude=.svn -rup Test/en.expected Test/en.actual
89         $(MONO) mdoc.exe update -o Test/en.actual Test/DocTest.dll 
90         diff --exclude=.svn -rup Test/en.expected Test/en.actual
91
92 check-monodocer-since-update: mdoc.exe
93         find Test/en.expected.since -name \*.xml -exec rm "{}" \;
94         $(MAKE) Test/DocTest.dll-v1
95         $(MONO) mdoc.exe update -o Test/en.expected.since Test/DocTest.dll 
96         $(MAKE) Test/DocTest.dll-v2
97         $(MONO) mdoc.exe update --since="Version 2.0" \
98                 -o Test/en.expected.since Test/DocTest.dll 
99
100 check-monodocer-since: mdoc.exe
101         rm -Rf Test/en.actual
102         $(MAKE) Test/DocTest.dll-v1
103         $(MONO) mdoc.exe update -o Test/en.actual Test/DocTest.dll 
104         $(MAKE) Test/DocTest.dll-v2
105         $(MONO) mdoc.exe update --since="Version 2.0" \
106                 -o Test/en.actual Test/DocTest.dll 
107         diff --exclude=.svn -rup Test/en.expected.since Test/en.actual
108
109 check-monodocer-importslashdoc-update: mdoc.exe
110         find Test/en.expected.importslashdoc -name \*.xml -exec rm "{}" \;
111         $(MAKE) Test/DocTest.dll-v1 TEST_CSCFLAGS=-doc:Test/DocTest.xml
112         $(MONO) mdoc.exe update -i Test/DocTest.xml \
113                 -o Test/en.expected.importslashdoc Test/DocTest.dll 
114
115 check-monodocer-importslashdoc: mdoc.exe
116         rm -Rf Test/en.actual
117         $(MAKE) Test/DocTest.dll-v1 TEST_CSCFLAGS=-doc:Test/DocTest.xml
118         $(MONO) mdoc.exe update -i Test/DocTest.xml \
119                 -o Test/en.actual Test/DocTest.dll 
120         diff --exclude=.svn -rup Test/en.expected.importslashdoc Test/en.actual
121
122 check-monodocer-importecmadoc-update: mdoc.exe
123         find Test/en.expected.importecmadoc -name \*.xml -exec rm "{}" \;
124         $(MAKE) Test/DocTest.dll-v1
125         $(MONO) mdoc.exe update -i Test/TestEcmaDocs.xml \
126                 '--type=System.Action`1' --type=System.AsyncCallback \
127                 --type=System.Environment --type=System.Array \
128                 -o Test/en.expected.importecmadoc Test/DocTest.dll 
129
130 check-monodocer-importecmadoc: mdoc.exe
131         rm -Rf Test/en.actual
132         $(MAKE) Test/DocTest.dll-v1
133         $(MONO) mdoc.exe update -i Test/TestEcmaDocs.xml \
134                 '--type=System.Action`1' --type=System.AsyncCallback \
135                 --type=System.Environment --type=System.Array \
136                 -o Test/en.actual Test/DocTest.dll 
137         diff --exclude=.svn -rup Test/en.expected.importecmadoc Test/en.actual
138
139 check-mdoc-export-html-update: mdoc.exe
140         find Test/html.expected -name \*.html -exec rm "{}" \;
141         $(MONO) mdoc.exe export-html -o Test/html.expected \
142                 Test/en.expected.importslashdoc 
143
144 check-mdoc-export-html: check-monodocer mdoc.exe
145         rm -Rf Test/html.actual
146         $(MONO) mdoc.exe export-html -o Test/html.actual \
147                 Test/en.expected.importslashdoc
148         diff --exclude=.svn -rup Test/html.expected Test/html.actual
149
150 check-md-html-dir: mdoc.exe
151         rm -Rf Test/html.actual
152         $(MONO) mdoc.exe export-html -dest:Test/html.actual $(DIR) 
153         diff --exclude=.svn -rup Test/html.expected Test/html.actual
154
155 check-mdoc-export-msxdoc-update:
156         $(MONO) mdoc.exe export-msxdoc -o - Test/en.expected.importslashdoc \
157                 > Test/msxdoc-expected.importslashdoc.xml
158
159 check-mdoc-export-msxdoc:
160         $(MONO) mdoc.exe export-msxdoc -o - Test/en.expected.importslashdoc \
161                 | diff --brief - Test/msxdoc-expected.importslashdoc.xml
162
163 run-test-local: check-doc-tools
164
165 run-test-update : check-doc-tools-update
166
167 check-doc-tools: check-monodocer-since \
168         check-monodocer-importecmadoc \
169         check-monodocer-importslashdoc \
170         check-monodocer \
171         check-mdoc-export-html \
172         check-mdoc-export-msxdoc
173
174 check-doc-tools-update: check-monodocer-since-update \
175         check-monodocer-importecmadoc-update \
176         check-monodocer-importslashdoc-update \
177         check-monodocer-update \
178         check-mdoc-export-html-update \
179         check-mdoc-export-msxdoc-update
180