diff --git a/workspace_tools/make.py b/workspace_tools/make.py index 30ad2fed36..030c345ebe 100644 --- a/workspace_tools/make.py +++ b/workspace_tools/make.py @@ -42,7 +42,7 @@ except: if __name__ == '__main__': # Parse Options parser = get_default_options_parser() - parser.add_option("-p", type="int", dest="program", + parser.add_option("-p", type="int", dest="program", default=-1, help="The index of the desired test program: [0-%d]" % (len(TESTS)-1)) parser.add_option("-n", dest="program_name", help="The name of the desired test program") @@ -50,10 +50,22 @@ if __name__ == '__main__': default=False, help="Verbose diagnostic output") # Local run - parser.add_option("--source", dest="input_dir", - default=None, help="The source input directory") - parser.add_option("--build", dest="output_dir", - default=None, help="The binary output directory") + parser.add_option("--automated", action="store_true", dest="automated", + default=False, help="Automated test") + parser.add_option("--host", dest="host_test", + default=None, help="Host test") + parser.add_option("--extra", dest="extra", + default=None, help="Extra files") + parser.add_option("--peripherals", dest="peripherals", + default=None, help="Required peripherals") + parser.add_option("--dep", dest="dependencies", + default=None, help="Dependencies") + parser.add_option("--source", dest="source_dir", + default=None, help="The source (input) directory") + parser.add_option("--duration", type="int", dest="duration", + default=None, help="Duration of the test") + parser.add_option("--build", dest="build_dir", + default=None, help="The build (output) directory") parser.add_option("-d", "--disk", dest="disk", default=None, help="The mbed disk") parser.add_option("-s", "--serial", dest="serial", @@ -71,9 +83,15 @@ if __name__ == '__main__': default=None, help="use the specified linker script") (options, args) = parser.parse_args() - + + # force program to "0" if a source dir is specified + if options.source_dir is not None: + p = 0 + n = None + else: # Program Number or name - p, n = options.program, options.program_name + p, n = options.program, options.program_name + if n is not None and p is not None: args_error(parser, "[ERROR] specify either '-n' or '-p', not both") if n: @@ -103,6 +121,19 @@ if __name__ == '__main__': # Test test = Test(p) + if options.automated is not None: + test.automated = options.automated + if options.dependencies is not None: + test.dependencies = options.dependencies + if options.host_test is not None: + test.host_test = options.host_test; + if options.peripherals is not None: + test.peripherals = options.peripherals; + if options.duration is not None: + test.duration = options.duration; + if options.extra is not None: + test.extra_files = options.extra + if not test.is_supported(mcu, toolchain): print 'The selected test is not supported on target %s with toolchain %s' % (mcu, toolchain) sys.exit() @@ -112,10 +143,12 @@ if __name__ == '__main__': test.dependencies.append(RTOS_LIBRARIES) build_dir = join(BUILD_DIR, "test", mcu, toolchain, test.id) - if options.input_dir is not None: - test.source_dir = options.input_dir - if options.output_dir is not None: - build_dir = options.output_dir + if options.source_dir is not None: + test.source_dir = options.source_dir + build_dir = options.source_dir + + if options.build_dir is not None: + build_dir = options.build_dir target = TARGET_MAP[mcu] try: diff --git a/workspace_tools/settings.py b/workspace_tools/settings.py index 9b6d3e9ce8..5158ace2e8 100644 --- a/workspace_tools/settings.py +++ b/workspace_tools/settings.py @@ -53,7 +53,7 @@ ARM_CPPLIB = join(ARM_LIB, "cpplib") MY_ARM_CLIB = join(ARM_PATH, "lib", "microlib") # GCC ARM -GCC_ARM_PATH = "C:/arm-none-eabi-gcc-4_7/bin" +GCC_ARM_PATH = "/opt/gcc4mbed/gcc-arm-none-eabi/bin" # GCC CodeSourcery GCC_CS_PATH = "C:/Program Files (x86)/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin"