Another dist build fix for rx integration, move *.cs file to safe-ish path.
[mono-project.git] / mcs / docs / Makefile
blob3b653ccd692602e55f5a5a34adc42f756a7a567f
1 thisdir = docs
2 SUBDIRS =
3 include ../build/rules.make
5 DISTFILES = \
6 clr-abi.txt \
7 compiler.txt \
8 control-flow-analysis.txt \
9 cs-errors.config \
10 monodoc.xml \
11 new-anonymous-design.txt \
12 order.txt \
13 $(DOC_SOURCE_FILES) \
14 $(wildcard ecma334/*.xml)
16 DOC_SOURCE_FILES = \
17 lang-csharp.source \
18 Mono.source \
19 netdocs.source \
20 Novell.source
22 ASSEMBLED_DOCS = \
23 cs-errors.tree cs-errors.zip \
24 ecma334.tree ecma334.zip \
25 Mono.tree Mono.zip \
26 netdocs.tree netdocs.zip \
27 Novell.tree Novell.zip
29 MONODOC_SOURCES_INSTALL_FILES = \
30 $(ASSEMBLED_DOCS) \
31 $(DOC_SOURCE_FILES)
33 CLEAN_FILES += $(ASSEMBLED_DOCS)
35 ifndef DISABLE_MCS_DOCS
36 ifneq ($(PROFILE), $(DEFAULT_PROFILE))
37 DISABLE_MCS_DOCS = yes
38 endif
39 endif
41 csproj-local test-local run-test-local run-test-ondotnet-local doc-update:
43 clean-local:
44 -rm -f $(CLEAN_FILES)
46 dist-local: dist-default
49 MONODOC_INSTALL_DIR = $(DESTDIR)$(mono_libdir)/monodoc
51 ifdef DISABLE_MCS_DOCS
52 all-local:
54 install-local:
56 uninstall-local:
58 else
59 all-local: $(ASSEMBLED_DOCS)
61 install-local:
62 $(MKINSTALLDIRS) $(MONODOC_INSTALL_DIR) $(MONODOC_INSTALL_DIR)/sources
63 $(INSTALL_DATA) $(MONODOC_SOURCES_INSTALL_FILES) $(MONODOC_INSTALL_DIR)/sources
64 $(INSTALL_DATA) monodoc.xml $(MONODOC_INSTALL_DIR)
66 uninstall-local:
67 -rm -f $(MONODOC_INSTALL_DIR)/monodoc.xml
68 -rm -f $(addprefix $(MONODOC_INSTALL_DIR)/sources/,$(MONODOC_SOURCES_INSTALL_FILES))
69 endif
73 classdir = $(topdir)/class
74 doc_en = Documentation/en
76 NETDOCS_DIRS = \
77 $(classdir)/corlib/$(doc_en) \
78 $(classdir)/Managed.Windows.Forms/$(doc_en) \
79 $(classdir)/Microsoft.Build.Engine/$(doc_en) \
80 $(classdir)/Microsoft.Build.Framework/$(doc_en) \
81 $(classdir)/Microsoft.Build.Utilities/$(doc_en) \
82 $(classdir)/System.Configuration.Install/$(doc_en) \
83 $(classdir)/System.Core/$(doc_en) \
84 $(classdir)/System.Data/$(doc_en) \
85 $(classdir)/System.Design/$(doc_en) \
86 $(classdir)/System.DirectoryServices/$(doc_en) \
87 $(classdir)/System.Drawing/$(doc_en) \
88 $(classdir)/System.Runtime.Remoting/$(doc_en) \
89 $(classdir)/System.Runtime.Serialization.Formatters.Soap/$(doc_en) \
90 $(classdir)/System.Security/$(doc_en) \
91 $(classdir)/System.Web.Services/$(doc_en) \
92 $(classdir)/System.Web/$(doc_en) \
93 $(classdir)/System.XML/$(doc_en) \
94 $(classdir)/System/$(doc_en)
96 MONO_DIRS = \
97 $(classdir)/Commons.Xml.Relaxng/$(doc_en) \
98 $(classdir)/Mono.Cairo/$(doc_en) \
99 $(classdir)/Mono.CSharp/$(doc_en) \
100 $(classdir)/Mono.Data.Sqlite/$(doc_en) \
101 $(classdir)/Mono.Debugger.Soft/$(doc_en) \
102 $(classdir)/Mono.Options/$(doc_en) \
103 $(classdir)/Mono.Parallel/$(doc_en) \
104 $(classdir)/Mono.Posix/$(doc_en) \
105 $(classdir)/Mono.Security.Win32/$(doc_en) \
106 $(classdir)/Mono.Security/$(doc_en) \
107 $(classdir)/Mono.Simd/$(doc_en) \
108 $(classdir)/Npgsql/$(doc_en)
110 NOVELL_DIRS = \
111 $(topdir)/class/Novell.Directory.Ldap/Documentation/en
113 NUNIT_DIRS = \
114 $(topdir)/nunit20/core/$(doc_en) \
115 $(topdir)/nunit20/framework/$(doc_en) \
116 $(topdir)/nunit20/mocks/$(doc_en) \
117 $(topdir)/nunit20/util/$(doc_en)
119 # To support `make -jN`, we can't mention multiple targets in the same rule;
120 # DO NOT DO THIS:
122 # foo.tree foo.zip : Makefile
123 # $(MDOC) assemble -o foo $(FOO_DIRS)
125 # If you do, make will try to biuld foo.tree & foo.zip concurrently, which
126 # breaks things badly... (read: "mdoc: sharing violation on path...foo.zip").
128 # The proper solution is to chain the rule dependencies so that only one file
129 # is the target of a rule.
131 netdocs.zip : netdocs.tree
132 netdocs.tree: Makefile
133 $(MDOC) assemble -o netdocs $(NETDOCS_DIRS)
135 Mono.zip : Mono.tree
136 Mono.tree: Makefile
137 $(MDOC) assemble -o Mono $(MONO_DIRS)
139 Novell.zip : Novell.tree
140 Novell.tree: Makefile
141 $(MDOC) assemble -o Novell $(NOVELL_DIRS)
143 cs-errors.zip : cs-errors.tree
144 cs-errors.tree: cs-errors.config Makefile
145 $(MDOC) assemble -o cs-errors -f error $<
147 ecma334.zip : ecma334.tree
148 ecma334.tree: Makefile
149 $(MDOC) assemble -o ecma334 -f ecmaspec ecma334