sourcesdir = $(libdir)/monodoc/sources
cserrors_sourcesdir = $(libdir)/monodoc/sources
sources_DATA = \
ecma334.tree ecma334.zip ecma334.source \
netdocs.tree netdocs.zip netdocs.source \
nunit-docs.tree nunit-docs.zip nunit-docs.source \
Mono.tree Mono.zip Mono.source \
Novell.source Novell.zip Novell.tree
if BUILD_CSERRORS
cserrors_sources_DATA = \
cs-errors.tree cs-errors.zip cs-errors.source
endif
ASSEMBLER = ../engine/assembler.exe
#
# Netdocs contains all the .NET Framework documentation
#
netdocs: netdocs.tree
netdocs.tree netdocs.zip: $(srcdir)/*/en/*/*.xml $(srcdir)/*/en/*.xml
mono --debug $(ASSEMBLER) -o netdocs \
--ecma $(srcdir)/corlib/en/ \
--ecma $(srcdir)/System/en/ \
--ecma $(srcdir)/System.XML/en/ \
--ecma $(srcdir)/System.Web/en \
--ecma $(srcdir)/System.Web.Services/en \
--ecma $(srcdir)/System.Data/en \
--ecma $(srcdir)/System.DirectoryServices/en \
--ecma $(srcdir)/System.Drawing/en \
--ecma $(srcdir)/System.Security/en \
--ecma $(srcdir)/Microsoft.Build.Framework/en \
--ecma $(srcdir)/Microsoft.Build.BuildEngine/en \
--ecma $(srcdir)/Microsoft.Build.Utilities/en
#
# All the Mono.* namespaces go into a single package
#
Mono.tree Mono.zip: $(srcdir)/Mono.Cairo/en/*/*.xml $(srcdir)/Mono.GetOptions/en/*/*.xml $(srcdir)/Mono.Posix/en/*/*.xml $(srcdir)/Mono.Security/en/*/*.xml $(srcdir)/Mono.Security.Win32/en/*/*.xml $(srcdir)/Commons.Xml.Relaxng/en/*/*.xml $(srcdir)/Mono.Addins/en/*/*.xml
mono --debug $(ASSEMBLER) --ecma $(srcdir)/Mono.Cairo/en --ecma $(srcdir)/Mono.GetOptions/en --ecma $(srcdir)/Mono.Posix/en --ecma $(srcdir)/Mono.Security.Win32/en/ --ecma $(srcdir)/Mono.Security/en/ --ecma $(srcdir)/Commons.Xml.Relaxng/en/ --ecma $(srcdir)/Mono.Addins/en/ -o Mono
#
# All the Novell namespaces we handle go into a single file (one for now).
#
Novell.tree Novell.zip: $(srcdir)/Novell.Directory.Ldap/en/*/*.xml
mono --debug $(ASSEMBLER) --ecma $(srcdir)/Novell.Directory.Ldap/en/ -o Novell
#
# These are the NUnit documents, not sure why we have these, if NUnit is well documented
#
nunit-docs.tree nunit-docs.zip: $(srcdir)/nunit/en/*/*.xml $(srcdir)/nunit/en/*.xml
mono --debug $(ASSEMBLER) --ecma $(srcdir)/nunit/en/ -o nunit-docs
#
# Generation of C# errors, from the mcs source tree
#
cs-errors.tree cs-errors.zip: $(srcdir)/cs-errors.config
mono --debug $(ASSEMBLER) --error $(srcdir)/cs-errors.config -o cs-errors
#
# The ECMA C# specification, from Jon Jagger.
#
ecma334.tree ecma334.zip: $(srcdir)/../ecma334/*
mono --debug $(ASSEMBLER) --ecmaspec $(srcdir)/../ecma334 -o ecma334
CLEANFILES = \
ecma334.tree ecma334.zip \
netdocs.tree netdocs.zip \
nunit-docs.tree nunit-docs.zip \
cs-errors.tree cs-errors.zip \
Mono.tree Mono.zip \
Novell.tree Novell.zip \
tmp
EXTRA_DIST = \
$(sources_DATA) $(cserrors_sources_DATA)
dirs = \
corlib System System.Configuration.Install System.Data System.Design \
System.Drawing System.Runtime.Remoting \
System.Runtime.Serialization.Formatters.Soap System.Web \
System.Web.Services System.Windows.Forms System.XML \
nunit Mono.Cairo Mono.GetOptions Mono.Posix Mono.Security Mono.Security.Win32 Mono.Addins \
Microsoft.Build.Framework Microsoft.Build.BuildEngine Microsoft.Build.Utilities
UPDATE_DIRS = \
mscorlib:corlib \
System System.Configuration.Install System.Data System.Design \
System.Drawing System.Runtime.Remoting \
System.Runtime.Serialization.Formatters.Soap System.Web \
System.Web.Services System.Windows.Forms Npgsql \
Mono.Cairo Mono.GetOptions Mono.Posix Mono.Security Mono.Security.Win32 Mono.Addins \
System.Security \
System.Xml:System.XML
UPDATE_COMMAND = \
mono --debug ../tools/monodocer1.exe -pretty -overrides -ignore_extra_docs \
-assembly:@prefix@/lib/mono/1.0/$(1).dll \
-path:./$(2)/en || exit 1; \
mono --debug ../tools/monodocer.exe -pretty -overrides -since:".NET 2.0" \
-assembly:@prefix@/lib/mono/2.0/$(1).dll \
-path:./$(2)/en || exit 1;
IMPORT_COMMAND = \
mono --debug ../tools/monodocer.exe -pretty -overrides \
-assembly:@prefix@/lib/mono/2.0/$(1).dll \
-path:./$(2)/en -importecmadoc:$(ECMA_XML_DOCS) || exit 1;
update:
for i in $(UPDATE_DIRS); do \
a=`echo $$i | sed -r 's/^([^:]+).*$$/\1/'`; \
d=`echo $$i | sed -r 's/^[^:]+:(.*)$$/\1/'`; \
if test -z "$$d" ; then d="$$a"; fi; \
$(call UPDATE_COMMAND,$$a,$$d)
done
mono --debug ../tools/monodocer.exe -pretty -overrides \
-assembly:@prefix@/lib/mono/1.0/nunit.framework.dll -path:./nunit/en
import:
for i in $(UPDATE_DIRS); do \
a=`echo $$i | sed -r 's/^([^:]+).*$$/\1/'`; \
d=`echo $$i | sed -r 's/^[^:]+:(.*)$$/\1/'`; \
if test -z "$$d" ; then d="$$a"; fi; \
$(call UPDATE_COMMAND,$$a,$$d)
done
update-dir:
$(call UPDATE_COMMAND,$(ASSEMBLY),$(DIR))
import-dir:
$(call IMPORT_COMMAND,$(ASSEMBLY),$(DIR))
dist-hook:
find . -name '*.xml' > files
tar cTf files - | (cd $(distdir); tar xf -)
cp $(srcdir)/cs-errors.* $(distdir)
syntax highlighted by Code2HTML, v. 0.9.1