Added additional command line options for the build

pull/86/head
pbrier 2013-10-20 17:17:10 +02:00
parent 43f4e42681
commit d0306ca254
2 changed files with 45 additions and 12 deletions

View File

@ -42,7 +42,7 @@ except:
if __name__ == '__main__': if __name__ == '__main__':
# Parse Options # Parse Options
parser = get_default_options_parser() 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)) help="The index of the desired test program: [0-%d]" % (len(TESTS)-1))
parser.add_option("-n", dest="program_name", parser.add_option("-n", dest="program_name",
help="The name of the desired test program") help="The name of the desired test program")
@ -50,10 +50,22 @@ if __name__ == '__main__':
default=False, help="Verbose diagnostic output") default=False, help="Verbose diagnostic output")
# Local run # Local run
parser.add_option("--source", dest="input_dir", parser.add_option("--automated", action="store_true", dest="automated",
default=None, help="The source input directory") default=False, help="Automated test")
parser.add_option("--build", dest="output_dir", parser.add_option("--host", dest="host_test",
default=None, help="The binary output directory") 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", parser.add_option("-d", "--disk", dest="disk",
default=None, help="The mbed disk") default=None, help="The mbed disk")
parser.add_option("-s", "--serial", dest="serial", parser.add_option("-s", "--serial", dest="serial",
@ -71,9 +83,15 @@ if __name__ == '__main__':
default=None, help="use the specified linker script") default=None, help="use the specified linker script")
(options, args) = parser.parse_args() (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 # 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: if n is not None and p is not None:
args_error(parser, "[ERROR] specify either '-n' or '-p', not both") args_error(parser, "[ERROR] specify either '-n' or '-p', not both")
if n: if n:
@ -103,6 +121,19 @@ if __name__ == '__main__':
# Test # Test
test = Test(p) 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): if not test.is_supported(mcu, toolchain):
print 'The selected test is not supported on target %s with toolchain %s' % (mcu, toolchain) print 'The selected test is not supported on target %s with toolchain %s' % (mcu, toolchain)
sys.exit() sys.exit()
@ -112,10 +143,12 @@ if __name__ == '__main__':
test.dependencies.append(RTOS_LIBRARIES) test.dependencies.append(RTOS_LIBRARIES)
build_dir = join(BUILD_DIR, "test", mcu, toolchain, test.id) build_dir = join(BUILD_DIR, "test", mcu, toolchain, test.id)
if options.input_dir is not None: if options.source_dir is not None:
test.source_dir = options.input_dir test.source_dir = options.source_dir
if options.output_dir is not None: build_dir = options.source_dir
build_dir = options.output_dir
if options.build_dir is not None:
build_dir = options.build_dir
target = TARGET_MAP[mcu] target = TARGET_MAP[mcu]
try: try:

View File

@ -53,7 +53,7 @@ ARM_CPPLIB = join(ARM_LIB, "cpplib")
MY_ARM_CLIB = join(ARM_PATH, "lib", "microlib") MY_ARM_CLIB = join(ARM_PATH, "lib", "microlib")
# GCC ARM # 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 CodeSourcery
GCC_CS_PATH = "C:/Program Files (x86)/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin" GCC_CS_PATH = "C:/Program Files (x86)/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin"