12
12
sys .path .insert (0 , ROOT )
13
13
14
14
from tools .utils import argparse_force_uppercase_type
15
+ from tools .utils import argparse_many
16
+ from tools .build_api import get_mbed_official_release
15
17
import examples_lib as lib
16
18
from examples_lib import SUPPORTED_TOOLCHAINS , SUPPORTED_IDES
17
19
21
23
22
24
def main ():
23
25
"""Entry point"""
26
+
27
+ official_targets = get_mbed_official_release ("5" )
28
+ official_target_names = [x [0 ] for x in official_targets ]
29
+
30
+
24
31
parser = ArgumentParser ()
25
32
parser .add_argument ("-c" , dest = "config" , default = "examples.json" )
33
+ parser .add_argument ("-e" , "--example" ,
34
+ help = ("filter the examples used in the script" ),
35
+ type = argparse_many ()
26
36
subparsers = parser .add_subparsers ()
27
37
import_cmd = subparsers .add_parser ("import" )
28
38
import_cmd .set_defaults (fn = do_import )
@@ -39,12 +49,26 @@ def main():
39
49
"toolchains" , nargs = "*" , default = SUPPORTED_TOOLCHAINS ,
40
50
type = argparse_force_uppercase_type (SUPPORTED_TOOLCHAINS ,
41
51
"toolchain" )),
52
+ compile_cmd .add_argument ("-m" , "--mcu" ,
53
+ help = ("build for the given MCU (%s)" %
54
+ ', ' .join (official_target_names )),
55
+ metavar = "MCU" ,
56
+ type = argparse_many (
57
+ argparse_force_uppercase_type (
58
+ official_target_names , "MCU" )))
42
59
export_cmd = subparsers .add_parser ("export" )
43
60
export_cmd .set_defaults (fn = do_export ),
44
61
export_cmd .add_argument (
45
62
"ide" , nargs = "*" , default = SUPPORTED_IDES ,
46
63
type = argparse_force_uppercase_type (SUPPORTED_IDES ,
47
64
"ide" ))
65
+ export_cmd .add_argument ("-m" , "--mcu" ,
66
+ help = ("build for the given MCU (%s)" %
67
+ ', ' .join (official_target_names )),
68
+ metavar = "MCU" ,
69
+ type = argparse_many (
70
+ argparse_force_uppercase_type (
71
+ official_target_names , "MCU" )))
48
72
args = parser .parse_args ()
49
73
config = json .load (open (os .path .join (os .path .dirname (__file__ ),
50
74
args .config )))
0 commit comments