Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
export/cdt/__init__.py@38:399953da035d, 2017-07-13 (annotated)
- Committer:
- The Other Jimmy
- Date:
- Thu Jul 13 15:26:26 2017 -0500
- Revision:
- 38:399953da035d
- Parent:
- 35:da9c89f8be7d
- Child:
- 40:7d3fa6b99b2b
Update to tools release 5.5.2
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| The Other Jimmy |
35:da9c89f8be7d | 1 | import re |
| The Other Jimmy |
35:da9c89f8be7d | 2 | |
| The Other Jimmy |
31:8ea194f6145b | 3 | from os.path import join, exists, realpath, relpath, basename |
| The Other Jimmy |
31:8ea194f6145b | 4 | from os import makedirs |
| The Other Jimmy |
31:8ea194f6145b | 5 | |
| The Other Jimmy |
31:8ea194f6145b | 6 | from tools.export.makefile import Makefile, GccArm, Armc5, IAR |
| The Other Jimmy |
31:8ea194f6145b | 7 | |
| The Other Jimmy |
31:8ea194f6145b | 8 | class Eclipse(Makefile): |
| The Other Jimmy |
31:8ea194f6145b | 9 | """Generic Eclipse project. Intended to be subclassed by classes that |
| The Other Jimmy |
31:8ea194f6145b | 10 | specify a type of Makefile. |
| The Other Jimmy |
31:8ea194f6145b | 11 | """ |
| The Other Jimmy |
31:8ea194f6145b | 12 | def generate(self): |
| The Other Jimmy |
31:8ea194f6145b | 13 | """Generate Makefile, .cproject & .project Eclipse project file, |
| The Other Jimmy |
31:8ea194f6145b | 14 | py_ocd_settings launch file, and software link .p2f file |
| The Other Jimmy |
31:8ea194f6145b | 15 | """ |
| The Other Jimmy |
31:8ea194f6145b | 16 | super(Eclipse, self).generate() |
| The Other Jimmy |
35:da9c89f8be7d | 17 | starting_dot = re.compile(r'(^[.]/|^[.]$)') |
| The Other Jimmy |
31:8ea194f6145b | 18 | ctx = { |
| The Other Jimmy |
31:8ea194f6145b | 19 | 'name': self.project_name, |
| The Other Jimmy |
31:8ea194f6145b | 20 | 'elf_location': join('BUILD',self.project_name)+'.elf', |
| The Other Jimmy |
31:8ea194f6145b | 21 | 'c_symbols': self.toolchain.get_symbols(), |
| The Other Jimmy |
31:8ea194f6145b | 22 | 'asm_symbols': self.toolchain.get_symbols(True), |
| The Other Jimmy |
31:8ea194f6145b | 23 | 'target': self.target, |
| The Other Jimmy |
35:da9c89f8be7d | 24 | 'include_paths': [starting_dot.sub('%s/' % self.project_name, inc) for inc in self.resources.inc_dirs], |
| The Other Jimmy |
31:8ea194f6145b | 25 | 'load_exe': str(self.LOAD_EXE).lower() |
| The Other Jimmy |
31:8ea194f6145b | 26 | } |
| The Other Jimmy |
31:8ea194f6145b | 27 | |
| The Other Jimmy |
31:8ea194f6145b | 28 | if not exists(join(self.export_dir,'eclipse-extras')): |
| The Other Jimmy |
31:8ea194f6145b | 29 | makedirs(join(self.export_dir,'eclipse-extras')) |
| The Other Jimmy |
31:8ea194f6145b | 30 | |
| The Other Jimmy |
31:8ea194f6145b | 31 | |
| The Other Jimmy |
31:8ea194f6145b | 32 | self.gen_file('cdt/pyocd_settings.tmpl', ctx, |
| The Other Jimmy |
31:8ea194f6145b | 33 | join('eclipse-extras',self.target+'_pyocd_settings.launch')) |
| The Other Jimmy |
31:8ea194f6145b | 34 | self.gen_file('cdt/necessary_software.tmpl', ctx, |
| The Other Jimmy |
31:8ea194f6145b | 35 | join('eclipse-extras','necessary_software.p2f')) |
| The Other Jimmy |
31:8ea194f6145b | 36 | |
| The Other Jimmy |
31:8ea194f6145b | 37 | self.gen_file('cdt/.cproject.tmpl', ctx, '.cproject') |
| The Other Jimmy |
31:8ea194f6145b | 38 | self.gen_file('cdt/.project.tmpl', ctx, '.project') |
| The Other Jimmy |
31:8ea194f6145b | 39 | |
| The Other Jimmy |
31:8ea194f6145b | 40 | |
| The Other Jimmy |
31:8ea194f6145b | 41 | class EclipseGcc(Eclipse, GccArm): |
| The Other Jimmy |
31:8ea194f6145b | 42 | LOAD_EXE = True |
| The Other Jimmy |
31:8ea194f6145b | 43 | NAME = "Eclipse-GCC-ARM" |
| The Other Jimmy |
31:8ea194f6145b | 44 | |
| The Other Jimmy |
31:8ea194f6145b | 45 | class EclipseArmc5(Eclipse, Armc5): |
| The Other Jimmy |
31:8ea194f6145b | 46 | LOAD_EXE = False |
| The Other Jimmy |
31:8ea194f6145b | 47 | NAME = "Eclipse-Armc5" |
| The Other Jimmy |
31:8ea194f6145b | 48 | |
| The Other Jimmy |
31:8ea194f6145b | 49 | class EclipseIAR(Eclipse, IAR): |
| The Other Jimmy |
31:8ea194f6145b | 50 | LOAD_EXE = True |
| The Other Jimmy |
31:8ea194f6145b | 51 | NAME = "Eclipse-IAR" |
| The Other Jimmy |
31:8ea194f6145b | 52 | |
| The Other Jimmy |
31:8ea194f6145b | 53 |
