diff --git a/tools/toolchains/__init__.py b/tools/toolchains/__init__.py index 29bec74106..3a12f99eab 100644 --- a/tools/toolchains/__init__.py +++ b/tools/toolchains/__init__.py @@ -532,8 +532,7 @@ class mbedToolchain: def get_labels(self): if self.labels is None: - toolchain_labels = [c.__name__ for c in getmro(self.__class__)] - toolchain_labels.remove('mbedToolchain') + toolchain_labels = self._get_toolchain_labels() self.labels = { 'TARGET': self.target.labels, 'FEATURE': self.target.features, @@ -551,6 +550,12 @@ class mbedToolchain: self.labels['TARGET'].append("RELEASE") return self.labels + def _get_toolchain_labels(self): + toolchain_labels = [c.__name__ for c in getmro(self.__class__)] + toolchain_labels.remove('mbedToolchain') + toolchain_labels.remove('object') + return toolchain_labels + # Determine whether a source file needs updating/compiling def need_update(self, target, dependencies): diff --git a/tools/toolchains/arm.py b/tools/toolchains/arm.py index e7dc533882..0b2f07b870 100644 --- a/tools/toolchains/arm.py +++ b/tools/toolchains/arm.py @@ -91,6 +91,12 @@ class ARM(mbedToolchain): self.SHEBANG += " --cpu=%s" % cpu + def _get_toolchain_labels(self): + if getattr(self.target, "defalut_lib", "std") == "small": + return ["ARM", "ARM_MICRO"] + else: + return ["ARM", "ARM_STD"] + def parse_dependencies(self, dep_path): dependencies = [] for line in open(dep_path).readlines(): @@ -394,6 +400,9 @@ class ARMC6(ARM_STD): self.ar = [join(TOOLCHAIN_PATHS["ARMC6"], "armar")] self.elf2bin = join(TOOLCHAIN_PATHS["ARMC6"], "fromelf") + def _get_toolchain_labels(self): + return ["ARM", "ARM_STD", "ARMC6"] + def parse_dependencies(self, dep_path): return mbedToolchain.parse_dependencies(self, dep_path)