@@ -79,6 +79,15 @@ def _get_target_info(target):
79
79
delivery_dir ])
80
80
81
81
82
+ def _get_psa_secure_targets_list ():
83
+ """
84
+ Creates a list of PSA secure targets.
85
+
86
+ :return: List of PSA secure targets.
87
+ """
88
+ return [str (t ) for t in TARGET_NAMES if
89
+ Target .get_target (t ).is_PSA_secure_target ]
90
+
82
91
def get_mbed_official_psa_release (target = None ):
83
92
"""
84
93
Creates a list of PSA targets with default toolchain and
@@ -87,20 +96,13 @@ def get_mbed_official_psa_release(target=None):
87
96
:param target: Ask for specific target, None for all targets.
88
97
:return: List of tuples (target, toolchain, delivery directory).
89
98
"""
90
- psa_targets_release_list = []
91
- psa_secure_targets = [t for t in TARGET_NAMES if
92
- Target .get_target (t ).is_PSA_secure_target ]
99
+ psa_secure_targets = _get_psa_secure_targets_list ()
93
100
logger .debug ("Found the following PSA targets: {}" .format (
94
101
', ' .join (psa_secure_targets )))
95
102
if target is not None :
96
- if target not in psa_secure_targets :
97
- raise Exception ("{} is not a PSA secure target" .format (target ))
98
- psa_targets_release_list .append (_get_target_info (target ))
99
- else :
100
- for t in psa_secure_targets :
101
- psa_targets_release_list .append (_get_target_info (t ))
103
+ return [_get_target_info (target )]
102
104
103
- return psa_targets_release_list
105
+ return [ _get_target_info ( t ) for t in psa_secure_targets ]
104
106
105
107
106
108
def create_mbed_ignore (build_dir ):
@@ -272,6 +274,7 @@ def get_parser():
272
274
parser .add_argument ("-m" , "--mcu" ,
273
275
help = "build for the given MCU" ,
274
276
default = None ,
277
+ choices = _get_psa_secure_targets_list (),
275
278
metavar = "MCU" )
276
279
277
280
parser .add_argument ("-d" , "--debug" ,
0 commit comments