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