Makefile 4.9 KB

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