def METHOD_NAME(self):
    """Generate Makefile, .cproject & .project Eclipse project file,
    pyocd_settings launch files for both GNU ARM Eclipse and
    GNU MCU Eclipse plug-ins, and software link .p2f file
    """
    super(Eclipse, self).METHOD_NAME()
    starting_dot = re.compile(r'(^[.]/|^[.]$)')
    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': [starting_dot.sub('%s/' % self.project_name, inc) for inc in self.resources.inc_dirs],
        'load_exe': str(self.LOAD_EXE).lower()
    }
    launch_cfgs = {}
    for launch_name in supported_launches:
        launch = deepcopy(ctx)
        launch.update({'device': self.get_target_config(launch_name)})
        launch_cfgs[launch_name] = launch
    if not exists(join(self.export_dir, 'eclipse-extras')):
        makedirs(join(self.export_dir, 'eclipse-extras'))
    for launch_name, ctx in launch_cfgs.items():
        # Generate launch configurations for former GNU ARM Eclipse plug-in
        self.gen_file('cdt/%s' % 'pyocd_settings_gnu_arm.tmpl', ctx, join('eclipse-extras',
                        '{target}_{project}_{conf}_pyocd_settings.launch'.format(
                                                                    target=self.target,
                                                                    project=self.project_name,
                                                                    conf=launch_name)))
        # Generate launch configurations for GNU MCU Eclipse plug-in
        self.gen_file('cdt/%s' % 'pyocd_settings_gnu_mcu.tmpl', ctx, join('eclipse-extras',
                        '{target}_{project}_{conf}.launch'.format(
                                                                    target=self.target,
                                                                    project=self.project_name,
                                                                    conf=launch_name)))
    self.gen_file('cdt/necessary_software.tmpl', ctx,
                  join('eclipse-extras', 'necessary_software.p2f'))
    self.gen_file('cdt/.cproject.tmpl', ctx, '.cproject')
    self.gen_file('cdt/.project.tmpl', ctx, '.project')