@@ -52,6 +52,13 @@ def get_default_options_parser(add_clean=True, add_options=True,
52
52
', ' .join (targetnames )),
53
53
metavar = "MCU" )
54
54
55
+ parser .add_argument ("--custom-targets" ,
56
+ help = "Specify directory containing custom_targets.json" ,
57
+ type = argparse_filestring_type ,
58
+ dest = "custom_targets_directory" ,
59
+ action = "append" ,
60
+ default = None )
61
+
55
62
parser .add_argument ("-t" , "--tool" ,
56
63
help = ("build using the given TOOLCHAIN (%s)" %
57
64
', ' .join (toolchainlist )),
@@ -123,7 +130,11 @@ def extract_profile(parser, options, toolchain, fallback="develop"):
123
130
124
131
def extract_mcus (parser , options ):
125
132
try :
126
- if options .source_dir :
133
+ if options .custom_targets_directory :
134
+ for custom_targets_directory in options .custom_targets_directory :
135
+ Target .add_extra_targets (custom_targets_directory )
136
+ update_target_data ()
137
+ elif options .source_dir :
127
138
for source_dir in options .source_dir :
128
139
Target .add_extra_targets (source_dir )
129
140
update_target_data ()
@@ -135,4 +146,3 @@ def extract_mcus(parser, options):
135
146
return argparse_many (argparse_force_uppercase_type (targetnames , "MCU" ))(options .mcu )
136
147
except ArgumentTypeError as exc :
137
148
args_error (parser , "argument -m/--mcu: {}" .format (str (exc )))
138
-
0 commit comments