mbed-os/tools/export/cdt/__init__.py

51 lines
1.6 KiB
Python
Raw Normal View History

2016-08-24 17:54:34 +00:00
from os.path import join, exists, realpath, relpath, basename
from os import makedirs
from tools.export.makefile import Makefile, GccArm, Armc5, IAR
class Eclipse(Makefile):
"""Generic Eclipse project. Intended to be subclassed by classes that
specify a type of Makefile.
"""
def generate(self):
"""Generate Makefile, .cproject & .project Eclipse project file,
py_ocd_settings launch file, and software link .p2f file
"""
super(Eclipse, self).generate()
ctx = {
'name': self.project_name,
'elf_location': join('.build',self.project_name)+'.elf',
'c_symbols': self.toolchain.get_symbols(),
'asm_symbols': self.toolchain.get_symbols(True),
'target': self.target,
'include_paths': self.resources.inc_dirs,
'load_exe': str(self.LOAD_EXE).lower()
2016-08-24 17:54:34 +00:00
}
if not exists(join(self.export_dir,'eclipse-extras')):
makedirs(join(self.export_dir,'eclipse-extras'))
2016-09-30 15:15:26 +00:00
self.gen_file('cdt/pyocd_settings.tmpl', ctx,
join('eclipse-extras',self.target+'_pyocd_settings.launch'))
2016-08-24 17:54:34 +00:00
self.gen_file('cdt/necessary_software.tmpl', ctx,
join('eclipse-extras','necessary_software.p2f'))
2016-10-17 19:51:28 +00:00
self.gen_file('cdt/.cproject.tmpl', ctx, '.cproject')
self.gen_file('cdt/.project.tmpl', ctx, '.project')
2016-08-24 17:54:34 +00:00
class EclipseGcc(Eclipse, GccArm):
LOAD_EXE = True
2016-10-17 19:35:26 +00:00
NAME = "Eclipse-GCC-ARM"
2016-08-24 17:54:34 +00:00
class EclipseArmc5(Eclipse, Armc5):
LOAD_EXE = False
2016-10-17 19:35:26 +00:00
NAME = "Eclipse-Armc5"
2016-08-24 17:54:34 +00:00
class EclipseIAR(Eclipse, IAR):
LOAD_EXE = True
2016-10-17 19:35:26 +00:00
NAME = "Eclipse-IAR"
2016-08-24 17:54:34 +00:00