probe CFG_VALGRIND valgrind
probe CFG_PERF perf
probe CFG_ISCC iscc
-probe CFG_NATURALDOCS NaturalDocs naturaldocs
probe CFG_LLNEXTGEN LLnextgen
probe CFG_PANDOC pandoc
probe CFG_PDFLATEX pdflatex
for i in \
doc doc/core doc/std \
- nd nd/core nd/std \
dl tmp
do
make_dir $i
+++ /dev/null
-Format: 1.51
-
-# This is the Natural Docs languages file for this project. If you change
-# anything here, it will apply to THIS PROJECT ONLY. If you'd like to change
-# something for all your projects, edit the Languages.txt in Natural Docs'
-# Config directory instead.
-
-
-# You can prevent certain file extensions from being scanned like this:
-# Ignore Extensions: [extension] [extension] ...
-
-
-#-------------------------------------------------------------------------------
-# SYNTAX:
-#
-# Unlike other Natural Docs configuration files, in this file all comments
-# MUST be alone on a line. Some languages deal with the # character, so you
-# cannot put comments on the same line as content.
-#
-# Also, all lists are separated with spaces, not commas, again because some
-# languages may need to use them.
-#
-# Language: [name]
-# Alter Language: [name]
-# Defines a new language or alters an existing one. Its name can use any
-# characters. If any of the properties below have an add/replace form, you
-# must use that when using Alter Language.
-#
-# The language Shebang Script is special. It's entry is only used for
-# extensions, and files with those extensions have their shebang (#!) lines
-# read to determine the real language of the file. Extensionless files are
-# always treated this way.
-#
-# The language Text File is also special. It's treated as one big comment
-# so you can put Natural Docs content in them without special symbols. Also,
-# if you don't specify a package separator, ignored prefixes, or enum value
-# behavior, it will copy those settings from the language that is used most
-# in the source tree.
-#
-# Extensions: [extension] [extension] ...
-# [Add/Replace] Extensions: [extension] [extension] ...
-# Defines the file extensions of the language's source files. You can
-# redefine extensions found in the main languages file. You can use * to
-# mean any undefined extension.
-#
-# Shebang Strings: [string] [string] ...
-# [Add/Replace] Shebang Strings: [string] [string] ...
-# Defines a list of strings that can appear in the shebang (#!) line to
-# designate that it's part of the language. You can redefine strings found
-# in the main languages file.
-#
-# Ignore Prefixes in Index: [prefix] [prefix] ...
-# [Add/Replace] Ignored Prefixes in Index: [prefix] [prefix] ...
-#
-# Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ...
-# [Add/Replace] Ignored [Topic Type] Prefixes in Index: [prefix] [prefix] ...
-# Specifies prefixes that should be ignored when sorting symbols in an
-# index. Can be specified in general or for a specific topic type.
-#
-#------------------------------------------------------------------------------
-# For basic language support only:
-#
-# Line Comments: [symbol] [symbol] ...
-# Defines a space-separated list of symbols that are used for line comments,
-# if any.
-#
-# Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ...
-# Defines a space-separated list of symbol pairs that are used for block
-# comments, if any.
-#
-# Package Separator: [symbol]
-# Defines the default package separator symbol. The default is a dot.
-#
-# [Topic Type] Prototype Enders: [symbol] [symbol] ...
-# When defined, Natural Docs will attempt to get a prototype from the code
-# immediately following the topic type. It stops when it reaches one of
-# these symbols. Use \n for line breaks.
-#
-# Line Extender: [symbol]
-# Defines the symbol that allows a prototype to span multiple lines if
-# normally a line break would end it.
-#
-# Enum Values: [global|under type|under parent]
-# Defines how enum values are referenced. The default is global.
-# global - Values are always global, referenced as 'value'.
-# under type - Values are under the enum type, referenced as
-# 'package.enum.value'.
-# under parent - Values are under the enum's parent, referenced as
-# 'package.value'.
-#
-# Perl Package: [perl package]
-# Specifies the Perl package used to fine-tune the language behavior in ways
-# too complex to do in this file.
-#
-#------------------------------------------------------------------------------
-# For full language support only:
-#
-# Full Language Support: [perl package]
-# Specifies the Perl package that has the parsing routines necessary for full
-# language support.
-#
-#-------------------------------------------------------------------------------
-
-# The following languages are defined in the main file, if you'd like to alter
-# them:
-#
-# Text File, Shebang Script, C/C++, C#, Java, JavaScript, Perl, Python,
-# PHP, SQL, Visual Basic, Pascal, Assembly, Ada, Tcl, Ruby, Makefile,
-# ActionScript, ColdFusion, R, Fortran
-
-# If you add a language that you think would be useful to other developers
-# and should be included in Natural Docs by default, please e-mail it to
-# languages [at] naturaldocs [dot] org.
-
-
-Language: Rust
-
- Extensions: rc rs
- Line Comment: //
- Block Comment: /* */
- Package Separator: ::
- Function Prototype Enders: ; {
- Predicate Prototype Enders: ; {
- Type Prototype Enders: ; }
- Class Prototype Enders: {
- Variant Prototype Enders: ;
+++ /dev/null
-Format: 1.51
-
-# This is the Natural Docs topics file for this project. If you change anything
-# here, it will apply to THIS PROJECT ONLY. If you'd like to change something
-# for all your projects, edit the Topics.txt in Natural Docs' Config directory
-# instead.
-
-
-# If you'd like to prevent keywords from being recognized by Natural Docs, you
-# can do it like this:
-# Ignore Keywords: [keyword], [keyword], ...
-#
-# Or you can use the list syntax like how they are defined:
-# Ignore Keywords:
-# [keyword]
-# [keyword], [plural keyword]
-# ...
-
-
-#-------------------------------------------------------------------------------
-# SYNTAX:
-#
-# Topic Type: [name]
-# Alter Topic Type: [name]
-# Creates a new topic type or alters one from the main file. Each type gets
-# its own index and behavior settings. Its name can have letters, numbers,
-# spaces, and these charaters: - / . '
-#
-# Plural: [name]
-# Sets the plural name of the topic type, if different.
-#
-# Keywords:
-# [keyword]
-# [keyword], [plural keyword]
-# ...
-# Defines or adds to the list of keywords for the topic type. They may only
-# contain letters, numbers, and spaces and are not case sensitive. Plural
-# keywords are used for list topics. You can redefine keywords found in the
-# main topics file.
-#
-# Index: [yes|no]
-# Whether the topics get their own index. Defaults to yes. Everything is
-# included in the general index regardless of this setting.
-#
-# Scope: [normal|start|end|always global]
-# How the topics affects scope. Defaults to normal.
-# normal - Topics stay within the current scope.
-# start - Topics start a new scope for all the topics beneath it,
-# like class topics.
-# end - Topics reset the scope back to global for all the topics
-# beneath it.
-# always global - Topics are defined as global, but do not change the scope
-# for any other topics.
-#
-# Class Hierarchy: [yes|no]
-# Whether the topics are part of the class hierarchy. Defaults to no.
-#
-# Page Title If First: [yes|no]
-# Whether the topic's title becomes the page title if it's the first one in
-# a file. Defaults to no.
-#
-# Break Lists: [yes|no]
-# Whether list topics should be broken into individual topics in the output.
-# Defaults to no.
-#
-# Can Group With: [type], [type], ...
-# Defines a list of topic types that this one can possibly be grouped with.
-# Defaults to none.
-#-------------------------------------------------------------------------------
-
-# The following topics are defined in the main file, if you'd like to alter
-# their behavior or add keywords:
-#
-# Generic, Class, Interface, Section, File, Group, Function, Variable,
-# Property, Type, Constant, Enumeration, Event, Delegate, Macro,
-# Database, Database Table, Database View, Database Index, Database
-# Cursor, Database Trigger, Cookie, Build Target
-
-# If you add something that you think would be useful to other developers
-# and should be included in Natural Docs by default, please e-mail it to
-# topics [at] naturaldocs [dot] org.
-
-
-#Topic Type: Crate
-
-# Plural: Crates
-# Scope: Always Global
-
-# Keywords:
-# crate, crates
-
-Topic Type: Syntax Extension
-
- Plural: Syntax Extensions
- Scope: Always Global
-
- Keywords:
- syntax extension, syntax extensions
-
-#Alter Topic Type: Class
-
-# Keywords:
-# object, objects
-# tag, tags
-# resource, resources
-
-Topic Type: Module
- Plural: Modules
- Scope: Start
- Class Hierarchy: Yes
- Page Title If First: Yes
-
- Keywords:
- module, modules
-
-Topic Type: Object
- Plural: Objects
- Scope: Start
- Class Hierarchy: Yes
-
- Keywords:
- obj, objs
-
-Topic Type: Tag
- Plural: Tags
- Scope: Start
- Class Hierarchy: Yes
-
- Keywords:
- tag, tags
-
-#Alter Topic Type: Function
-
-# Scope: Start
-# predicate, predicates
-
-# Ignore Keywords:
-# method, methods
-# Keywords:
-# variant, variants
-
-Topic Type: Variant
-
- Plural: Variants
- Keywords:
- variant, variants
-
-Alter Topic Type: Type
-
- Keywords:
- resource, resources
-
-Topic Type: Predicate
-
- Plural: Predicates
- Break Lists: Yes
-
- Keywords:
- predicate, predicates
######################################################################
-# Naturaldocs (library reference related)
+# Rustdoc (libcore/std)
######################################################################
-ifeq ($(CFG_NATURALDOCS),)
- $(info cfg: no naturaldocs found, omitting library doc build)
+ifeq ($(CFG_PANDOC),)
+ $(info cfg: no pandoc found, omitting library doc build)
else
-define libdoc
-doc/$(1)/index.html: nd/$(1)/Languages.txt nd/$(1)/Topics.txt \
- nd/$(1)/lib.css $(2)
- @$$(call E, naturaldocs: $$@)
- $(CFG_NATURALDOCS) -i $(S)src/lib$(1) -o HTML doc/$(1) \
- -p nd/$(1) -r -s Default lib
-
-nd/$(1)/Languages.txt: $(S)doc/Languages.txt
- @$$(call E, cp: $$@)
- $(Q)cp $$< $$@
+# The rustdoc executable
+RUSTDOC = $(HBIN2_H_$(CFG_HOST_TRIPLE))/rustdoc$(X)
-nd/$(1)/Topics.txt: $(S)doc/Topics.txt
- @$$(call E, cp: $$@)
- $(Q)cp $$< $$@
+# The library documenting macro
+# $(1) - The output directory
+# $(2) - The crate file
+# $(3) - The crate soruce files
+define libdoc
+doc/$(1)/index.html: $(2) $(3) $$(RUSTDOC) doc/$(1)/rust.css
+ @$$(call E, rustdoc: $$@)
+ $(Q)$(RUSTDOC) $(2) --output-dir=doc/$(1)
-nd/$(1)/lib.css: $(S)doc/lib.css
+doc/$(1)/rust.css: $(S)doc/rust.css
@$$(call E, cp: $$@)
$(Q)cp $$< $$@
-GENERATED += nd/$(1)/Languages.txt \
- nd/$(1)/Topics.txt \
- nd/$(1)/Menu.txt \
- nd/$(1)/Data
-
-DOCS += doc/$(1)/index.html nd/$(1)/lib.css
+DOCS += doc/$(1)/index.html
endef
-$(eval $(call libdoc,core,$(CORELIB_CRATE) $(CORELIB_INPUTS)))
-$(eval $(call libdoc,std,$(STDLIB_CRATE) $(STDLIB_INPUTS)))
+$(eval $(call libdoc,core,$(CORELIB_CRATE),$(CORELIB_INPUTS)))
+$(eval $(call libdoc,std,$(STDLIB_CRATE),$(STDLIB_INPUTS)))
endif