Clone of official tools
Diff: export/makefile/__init__.py
- Revision:
- 35:da9c89f8be7d
- Parent:
- 31:8ea194f6145b
- Child:
- 36:96847d42f010
--- a/export/makefile/__init__.py Mon Feb 13 09:29:13 2017 -0600 +++ b/export/makefile/__init__.py Wed Feb 15 13:53:18 2017 -0600 @@ -40,6 +40,9 @@ Note: subclasses should not need to override this method """ + if not self.resources.linker_script: + raise NotSupportedException("No linker script found.") + self.resources.win_to_unix() to_be_compiled = [splitext(src)[0] + ".o" for src in @@ -49,6 +52,8 @@ libraries = [self.prepare_lib(basename(lib)) for lib in self.resources.libraries] + sys_libs = [self.prepare_sys_lib(lib) for lib + in self.toolchain.sys_libs] ctx = { 'name': self.project_name, @@ -58,6 +63,7 @@ 'library_paths': self.resources.lib_dirs, 'linker_script': self.resources.linker_script, 'libraries': libraries, + 'ld_sys_libs': sys_libs, 'hex_files': self.resources.hex_files, 'vpath': (["../../.."] if (basename(dirname(dirname(self.export_dir))) @@ -168,6 +174,10 @@ def prepare_lib(libname): return "-l:" + libname + @staticmethod + def prepare_sys_lib(libname): + return "-l" + libname + class Armc5(Makefile): """ARM Compiler 5 specific makefile target""" @@ -183,6 +193,10 @@ def prepare_lib(libname): return libname + @staticmethod + def prepare_sys_lib(libname): + return libname + class IAR(Makefile): """IAR specific makefile target""" @@ -199,3 +213,9 @@ if "lib" == libname[:3]: libname = libname[3:] return "-l" + splitext(libname)[0] + + @staticmethod + def prepare_sys_lib(libname): + if "lib" == libname[:3]: + libname = libname[3:] + return "-l" + splitext(libname)[0]