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__':
# 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",
@ -72,8 +84,14 @@ if __name__ == '__main__':
(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
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:

View File

@ -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"