Clone of official tools
export/cdt/__init__.py@40:7d3fa6b99b2b, 2017-10-10 (annotated)
- Committer:
- theotherjimmy
- Date:
- Tue Oct 10 16:56:30 2017 -0500
- Revision:
- 40:7d3fa6b99b2b
- Parent:
- 35:da9c89f8be7d
- Child:
- 43:2a7da56ebd24
Update to tools release 5.6.1
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 | |
theotherjimmy |
40:7d3fa6b99b2b | 3 | from os.path import join, exists |
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, |
theotherjimmy |
40:7d3fa6b99b2b | 33 | join('eclipse-extras', |
theotherjimmy |
40:7d3fa6b99b2b | 34 | '{target}_pyocd_{project}_settings.launch'.format(target=self.target, |
theotherjimmy |
40:7d3fa6b99b2b | 35 | project=self.project_name))) |
The Other Jimmy |
31:8ea194f6145b | 36 | self.gen_file('cdt/necessary_software.tmpl', ctx, |
The Other Jimmy |
31:8ea194f6145b | 37 | join('eclipse-extras','necessary_software.p2f')) |
The Other Jimmy |
31:8ea194f6145b | 38 | |
The Other Jimmy |
31:8ea194f6145b | 39 | self.gen_file('cdt/.cproject.tmpl', ctx, '.cproject') |
The Other Jimmy |
31:8ea194f6145b | 40 | self.gen_file('cdt/.project.tmpl', ctx, '.project') |
The Other Jimmy |
31:8ea194f6145b | 41 | |
The Other Jimmy |
31:8ea194f6145b | 42 | |
The Other Jimmy |
31:8ea194f6145b | 43 | class EclipseGcc(Eclipse, GccArm): |
The Other Jimmy |
31:8ea194f6145b | 44 | LOAD_EXE = True |
The Other Jimmy |
31:8ea194f6145b | 45 | NAME = "Eclipse-GCC-ARM" |
The Other Jimmy |
31:8ea194f6145b | 46 | |
The Other Jimmy |
31:8ea194f6145b | 47 | class EclipseArmc5(Eclipse, Armc5): |
The Other Jimmy |
31:8ea194f6145b | 48 | LOAD_EXE = False |
The Other Jimmy |
31:8ea194f6145b | 49 | NAME = "Eclipse-Armc5" |
The Other Jimmy |
31:8ea194f6145b | 50 | |
The Other Jimmy |
31:8ea194f6145b | 51 | class EclipseIAR(Eclipse, IAR): |
The Other Jimmy |
31:8ea194f6145b | 52 | LOAD_EXE = True |
The Other Jimmy |
31:8ea194f6145b | 53 | NAME = "Eclipse-IAR" |
The Other Jimmy |
31:8ea194f6145b | 54 | |
The Other Jimmy |
31:8ea194f6145b | 55 |