Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-sdk-tools by
Diff: make.py
- Revision:
- 9:2d27d77ada5c
- Parent:
- 0:66f3b5499f7f
- Child:
- 13:ab47a20b66f0
--- a/make.py Tue Jun 07 11:35:02 2016 +0100 +++ b/make.py Tue Jun 14 11:07:30 2016 +0100 @@ -21,7 +21,7 @@ import sys from time import sleep from shutil import copy -from os.path import join, abspath, dirname +from os.path import join, abspath, dirname, isfile, isdir # Be sure that the tools directory is in the search path ROOT = abspath(join(dirname(__file__), "..")) @@ -41,12 +41,12 @@ from tools.targets import TARGET_MAP from tools.options import get_default_options_parser from tools.build_api import build_project +from tools.build_api import mcu_toolchain_matrix try: import tools.private_settings as ps except: ps = object() - if __name__ == '__main__': # Parse Options parser = get_default_options_parser() @@ -82,6 +82,17 @@ dest="macros", help="Add a macro definition") + parser.add_option("-S", "--supported-toolchains", + action="store_true", + dest="supported_toolchains", + default=False, + help="Displays supported matrix of MCUs and toolchains") + + parser.add_option('-f', '--filter', + dest='general_filter_regex', + default=None, + help='For some commands you can use filter to filter out results') + # Local run parser.add_option("--automated", action="store_true", dest="automated", default=False, help="Automated test") @@ -167,6 +178,17 @@ (options, args) = parser.parse_args() + # Only prints matrix of supported toolchains + if options.supported_toolchains: + print mcu_toolchain_matrix(platform_filter=options.general_filter_regex) + exit(0) + + if options.source_dir: + for path in options.source_dir : + if not isfile(path) and not isdir(path) : + args_error(parser, "[ERROR] you passed \"{}\" to --source, which does not exist". + format(path)) + # Print available tests in order and exit if options.list_tests is True: print '\n'.join(map(str, sorted(TEST_MAP.values()))) @@ -243,13 +265,7 @@ build_dir = options.build_dir try: - target = TARGET_MAP[mcu] - except KeyError: - print "[ERROR] Target %s not supported" % mcu - sys.exit(1) - - try: - bin_file = build_project(test.source_dir, build_dir, target, toolchain, test.dependencies, options.options, + bin_file = build_project(test.source_dir, build_dir, mcu, toolchain, test.dependencies, options.options, linker_script=options.linker_script, clean=options.clean, verbose=options.verbose, @@ -267,7 +283,7 @@ # Import pyserial: https://pypi.python.org/pypi/pyserial from serial import Serial - sleep(target.program_cycle_s()) + sleep(TARGET_MAP[mcu].program_cycle_s()) serial = Serial(options.serial, timeout = 1) if options.baud: