Add simple documentation generation

pull/2911/head
Jimmy Brisson 2016-07-26 16:23:04 -05:00
parent 4f3a07e953
commit 77c7524471
3 changed files with 1553 additions and 0 deletions

View File

@ -12,6 +12,11 @@
"public": false,
"default_lib": "std"
},
"Super_Target": {
"inherits": ["Target"],
"core": "Cortex-M4",
"features_add": ["UVISOR", "BLE", "CLIENT", "IPV4", "IPV6"]
},
"CM4_UARM": {
"inherits": ["Target"],
"core": "Cortex-M4",

1512
tools/Doxyfile Normal file

File diff suppressed because it is too large Load Diff

36
tools/docs_gen.py Normal file
View File

@ -0,0 +1,36 @@
"""An api for generating documentation from the codebase
"""
from os.path import dirname, join
import subprocess
def generate_documentation(dirs, output_dir):
"""Use doxygen to generate the documentation
Positional arguments:
dirs - the directories that doxygen should scan for documentation
output_dir - location of the documentation after the return of this function
"""
with open(join(dirname(__file__), "Doxyfile")) as doxyfile:
proc = subprocess.Popen(["doxygen", "-"], stdin=subprocess.PIPE)
proc.stdin.write(doxyfile.read())
proc.stdin.write("OUTPUT_DIRECTORY={}\n".format(output_dir))
proc.stdin.write("INPUT={}".format(" ".join(dirs)))
proc.stdin.close()
proc.wait()
if __name__ == "__main__":
import sys
from os.path import abspath, dirname, join
# Be sure that the tools directory is in the search path
ROOT = abspath(join(dirname(__file__), ".."))
sys.path.insert(0, ROOT)
from tools.toolchains.gcc import GCC_ARM
from tools.targets import TARGET_MAP
toolchain = GCC_ARM(TARGET_MAP["Super_Target"])
resources = toolchain.scan_resources(".")
generate_documentation(sum(map(lambda x:x.headers, resources.features.values()), resources.headers),
join(dirname(dirname(__file__)), "mbed-docs"))
print resources