[build] Change the way how mcs references are passed to compiler to always use full...
[mono.git] / mcs / class / monodoc / Makefile
1 thisdir = class/monodoc
2 SUBDIRS = 
3 include ../../build/rules.make
4
5 LIBRARY = monodoc.dll
6 LIBRARY_PACKAGE = monodoc
7 # Remove a bunch of "obsolete"-type warning for Lucene.NET
8 # also activate legacy mode to compile old monodoc.dll api
9 LOCAL_MCS_FLAGS = /nowarn:618,612,672,809 /define:LEGACY_MODE
10
11 JAY_FLAGS = -ct
12
13 IMAGES = \
14         Resources/images/bc_bg.png              \
15         Resources/images/bc_separator.png       \
16         Resources/images/error.png              \
17         Resources/images/hatch.png              \
18         Resources/images/headerbg.png           \
19         Resources/images/help.png               \
20         Resources/images/house.png              \
21         Resources/images/members.png            \
22         Resources/images/namespace.png          \
23         Resources/images/privclass.png          \
24         Resources/images/privdelegate.png       \
25         Resources/images/privenumeration.png    \
26         Resources/images/privevent.png          \
27         Resources/images/privextension.png      \
28         Resources/images/privfield.png          \
29         Resources/images/privinterface.png      \
30         Resources/images/privmethod.png         \
31         Resources/images/privproperty.png       \
32         Resources/images/privstructure.png      \
33         Resources/images/protclass.png          \
34         Resources/images/protdelegate.png       \
35         Resources/images/protenumeration.png    \
36         Resources/images/protevent.png          \
37         Resources/images/protextension.png      \
38         Resources/images/protfield.png          \
39         Resources/images/protinterface.png      \
40         Resources/images/protmethod.png         \
41         Resources/images/protproperty.png       \
42         Resources/images/protstructure.png      \
43         Resources/images/pubclass.png           \
44         Resources/images/pubdelegate.png        \
45         Resources/images/pubenumeration.png     \
46         Resources/images/pubevent.png           \
47         Resources/images/pubextension.png       \
48         Resources/images/pubfield.png           \
49         Resources/images/pubinterface.png       \
50         Resources/images/pubmethod.png          \
51         Resources/images/pubproperty.png        \
52         Resources/images/pubstructure.png       \
53         Resources/images/reference.png          \
54         Resources/images/treebg.png             
55
56 IMAGE_RESOURCE_COMMAND = $(foreach file,$(IMAGES),/resource:$(file),$(notdir $(file)))
57
58 RESOURCE_FILES = \
59         ../../docs/monodoc.xml            \
60         Resources/base.css                \
61         Resources/ecmaspec-html-css.xsl   \
62         Resources/ecmaspec-html.xsl       \
63         Resources/ecmaspec.css            \
64         Resources/helper.js               \
65         Resources/home.html               \
66         Resources/Lminus.gif              \
67         Resources/Lplus.gif               \
68         Resources/creativecommons.png     \
69         Resources/mdoc-html-format.xsl    \
70         Resources/mdoc-html-utils.xsl     \
71         Resources/mdoc-sections-css.xsl   \
72         Resources/mdoc-sections.xsl       \
73         Resources/mono-ecma-css.xsl       \
74         Resources/mono-ecma-impl.xsl      \
75         Resources/mono-ecma.css           \
76         Resources/mono-ecma.xsl                 \
77         Resources/toc-html.xsl           \
78         $(IMAGES)
79
80 EXTRA_DISTFILES = \
81         jay.sh \
82         monodoc.dll.config.in   \
83         $(RESOURCE_FILES)   \
84         Monodoc.Ecma/EcmaUrlParser.jay \
85         Test/monodoc_test/monodoc.xml \
86         Test/monodoc_test/trees/tree-from-2-10.tree \
87         Test/monodoc_test/trees/tree-from-3-0-old.tree \
88         Test/monodoc_test/trees/tree-from-3-0.tree
89
90 LIB_REFS = ICSharpCode.SharpZipLib System System.Core System.Xml System.Xml.Linq System.Configuration
91 LIB_MCS_FLAGS = \
92         /unsafe                                                           \
93         /nowarn:169,164,162,168,219,618,612                               \
94         /resource:../../docs/monodoc.xml,monodoc.xml                      \
95         /resource:Resources/base.css,base.css                             \
96         /resource:Resources/ecmaspec-html-css.xsl,ecmaspec-html-css.xsl   \
97         /resource:Resources/ecmaspec-html.xsl,ecmaspec-html.xsl           \
98         /resource:Resources/ecmaspec.css,ecmaspec.css                     \
99         /resource:Resources/helper.js,helper.js                           \
100         /resource:Resources/home.html,home.html                           \
101         /resource:Resources/Lminus.gif,Lminus.gif                         \
102         /resource:Resources/Lplus.gif,Lplus.gif                           \
103         /resource:Resources/creativecommons.png,creativecommons.png       \
104         /resource:Resources/mdoc-html-format.xsl,mdoc-html-format.xsl     \
105         /resource:Resources/mdoc-html-utils.xsl,mdoc-html-utils.xsl       \
106         /resource:Resources/mdoc-sections-css.xsl,mdoc-sections-css.xsl   \
107         /resource:Resources/mdoc-sections.xsl,mdoc-sections.xsl           \
108         /resource:Resources/mono-ecma-css.xsl,mono-ecma-css.xsl           \
109         /resource:Resources/mono-ecma-impl.xsl,mono-ecma-impl.xsl         \
110         /resource:Resources/mono-ecma.css,mono-ecma.css                   \
111         /resource:Resources/mono-ecma.xsl,mono-ecma.xsl                   \
112         /resource:Resources/toc-html.xsl,toc-html.xsl                     \
113         $(IMAGE_RESOURCE_COMMAND)                                                             \
114         /publicsign
115
116 CLEAN_FILES += $(the_lib).config
117
118 TEST_MCS_FLAGS =
119 TEST_LIB_REFS = System System.Core System.Xml
120
121 DOC_SOURCE_DIRS = \
122         ../../docs \
123         ../../../docs
124
125 DOC_SOURCES = $(foreach dir,$(DOC_SOURCE_DIRS),$(wildcard $(dir)/*.source $(dir)/*.tree $(dir)/*.zip))
126
127 include ../../build/library.make
128
129 $(the_lib): Makefile $(RESOURCE_FILES)
130
131 all-local: $(the_lib).config Monodoc.Ecma/EcmaUrlParser.cs
132
133 test-local: setup-doc-sources
134
135 dist-local: Monodoc.Ecma/EcmaUrlParser.cs
136
137 $(the_lib).config: Makefile monodoc.dll.config.in
138         sed 's,@monodoc_refdir@,$(mono_libdir)/monodoc,g' monodoc.dll.config.in > $@
139
140 Monodoc.Ecma/EcmaUrlParser.cs: Monodoc.Ecma/EcmaUrlParser.jay $(topdir)/jay/skeleton.cs jay.sh
141         $(topdir)/$(thisdir)/jay.sh $(topdir) $< $@ $(JAY_FLAGS)
142
143 parser.exe: Monodoc.Ecma/EcmaUrlParser.cs Monodoc.Ecma/EcmaUrlTokenizer.cs Monodoc.Ecma/EcmaUrlParserDriver.cs Monodoc.Ecma/EcmaDesc.cs
144         mcs /out:$@ /debug $^
145
146 setup-doc-sources: $(DOC_SOURCES)
147         mkdir -p ./Test/monodoc_test/sources/
148         cp $(DOC_SOURCES) ./Test/monodoc_test/sources/