diff options
author | Jonathan Pryor <jpryor@novell.com> | 2008-10-18 04:25:54 +0400 |
---|---|---|
committer | Jonathan Pryor <jpryor@novell.com> | 2008-10-18 04:25:54 +0400 |
commit | d8617290607a89f9bcb1a928c2d2c1cbe6a5c3fc (patch) | |
tree | 0253f68882a9b476feb08f6523dcaa2585400b7a /mcs/build | |
parent | fa236206f23c938f2d62ac4b9855527429bf1da3 (diff) |
* README.makefiles: Add documentation about the new doc-update target.
svn path=/trunk/mcs/; revision=116341
Diffstat (limited to 'mcs/build')
-rw-r--r-- | mcs/build/ChangeLog | 4 | ||||
-rw-r--r-- | mcs/build/README.makefiles | 37 |
2 files changed, 38 insertions, 3 deletions
diff --git a/mcs/build/ChangeLog b/mcs/build/ChangeLog index 399c9ebc36e..84c557ed546 100644 --- a/mcs/build/ChangeLog +++ b/mcs/build/ChangeLog @@ -1,3 +1,7 @@ +2008-10-17 Jonathan Pryor <jpryor@novell.com> + + * README.makefiles: Add documentation about the new doc-update target. + 2008-10-18 Raja R Harinath <harinath@hurrynot.org> * rules.make (MDOC): Pass a proper MONO_PATH. diff --git a/mcs/build/README.makefiles b/mcs/build/README.makefiles index 7460e88ff38..610468d5cdf 100644 --- a/mcs/build/README.makefiles +++ b/mcs/build/README.makefiles @@ -11,6 +11,7 @@ build system needs to let us do, specifically: * Make distributions easily * Provide a framework for testing * Build platform-independently whenever possible + * Generate, update, and build monodoc documentation. @@ -47,20 +48,22 @@ DISTFILES = myfile.txt my_test_source.cs dist-local: dist-default +doc-update-local: + my_test_program.exe: my_test_source.cs $(CSCOMPILE) /target:exe /out:$@ $< ======================================== Each makefile follows the same pattern: it does some setup, includes -the standard make rules, and provides rules for seven standard targets: -all, install, test, run-test, clean, and dist. +the standard make rules, and provides rules for eight standard targets: +all, install, test, run-test, clean, dist, and doc-update. "Some setup" is defining two variables: $(thisdir) and $(SUBDIRS). $(thisdir) is the directory that the makefile lives in, relative to the top directory (ie, class/corlib) and $(SUBDIRS) defines the subdirectories that should be built in. -The seven targets do the following: +The eight targets do the following: * all-local builds whatever someone would expect to be built when they just type 'make'. Most likely Foo.dll or Foo.exe @@ -88,6 +91,11 @@ true that all files that go into a tarball need to be left after a make clean.) given by the variable $(distdir). dist-local always depends on the target 'dist-default'. See ** 'make dist' below. + * doc-update-local should generate or update monodoc documentation, +if appropriate. This is usually only appropriate for libraries. It's +defined as a standard target so that it can easily be run recursively +across all libraries within the module. + @@ -365,6 +373,14 @@ If you're building a library, library.make is highly recommended; the only DLL that doesn't use it is corlib, because building corlib is a fair bit more complicated than it should be. Oh well. +library.make also automatically supports generating and updating +monodoc documentation. Documentation is stored within the +Documentation directory (a sibling to the Test directory), and is +generated/updated whenever the doc-update target is executed. +Assembling of the documentation so that the monodoc browser can +display the documentation is handled separately within the mcs/docs +all-local target; see mcs/docs/Makefile for details. + @@ -408,6 +424,21 @@ variable $(CFLAGS) will automatically be included on the command line. +* Documentation-related needs? Use $(MDOC) + +$(MDOC) is a front-end to the monodoc documentation system, supporting +documentation generation, updating, importing from Microsoft XML +Documentation and ECMA documentation formats, assembling documentation +for use within the monodoc documentation browser, and exporting +documentation to various other output formats such as static HTML. + +It is currently only used for library.make's doc-update-local target +and for assembling documentation within $topdir/docs. + + + + + * Installing files? Use $(MKINSTALLDIRS), $(INSTALL_DATA) or $(INSTALL_BIN), $(prefix), and $(DESTDIR). |