mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #1 from bridadan/gnuarmeclipse
Parallel building, makefile clean, and build steppull/3561/head
commit
7be6e92a9a
|
@ -153,7 +153,7 @@
|
|||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.{{u.id}}" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.{{u.id}}" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.{{u.id}}" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/{{name}}}/Debug" id="ilg.gnuarmeclipse.managedbuild.cross.builder.{{u.id}}" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<builder buildPath="${workspace_loc:/{{name}}}/Debug" cleanBuildTarget="mbedclean" id="ilg.gnuarmeclipse.managedbuild.cross.builder.{{u.id}}" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.{{u.id}}" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
{% if options['as']['usepreprocessor'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.{{u.id}}" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
|
@ -537,7 +537,7 @@
|
|||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.{{u.id}}" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.{{u.id}}" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.{{u.id}}" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/{{name}}}/Release" id="ilg.gnuarmeclipse.managedbuild.cross.builder.{{u.id}}" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<builder buildPath="${workspace_loc:/{{name}}}/Release" cleanBuildTarget="mbedclean" id="ilg.gnuarmeclipse.managedbuild.cross.builder.{{u.id}}" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.{{u.id}}" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
{% if options['as']['usepreprocessor'] %}
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.{{u.id}}" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
|
|
|
@ -22,11 +22,12 @@ the GNU ARM Eclipse plug-ins.
|
|||
Author: Liviu Ionescu <ilg@livius.net>
|
||||
"""
|
||||
from tools.export.exporters import Exporter
|
||||
from os.path import splitext, basename, relpath, dirname
|
||||
from os.path import splitext, basename, relpath, dirname, exists
|
||||
from random import randint
|
||||
import os
|
||||
import copy
|
||||
import tempfile
|
||||
import shutil
|
||||
from subprocess import call, Popen, PIPE
|
||||
|
||||
# import logging
|
||||
|
@ -188,6 +189,7 @@ class GNUARMEclipse(Exporter):
|
|||
# expected context values is not defined.
|
||||
self.gen_file('gnuarmeclipse/.project.tmpl', ctx, '.project')
|
||||
self.gen_file('gnuarmeclipse/.cproject.tmpl', ctx, '.cproject')
|
||||
self.gen_file('gnuarmeclipse/makefile.targets.tmpl', ctx, 'makefile.targets')
|
||||
|
||||
print 'Done.'
|
||||
|
||||
|
@ -228,15 +230,37 @@ class GNUARMEclipse(Exporter):
|
|||
'--launcher.suppressErrors',
|
||||
'-nosplash',
|
||||
'-application org.eclipse.cdt.managedbuilder.core.headlessbuild',
|
||||
'-data', tmp_folder,
|
||||
'-import', os.getcwd(),
|
||||
'-cleanBuild', 'all',
|
||||
'-data', relpath(tmp_folder, os.getcwd()),
|
||||
'-import', '.',
|
||||
'-cleanBuild', 'all'
|
||||
]
|
||||
|
||||
ret_code = subprocess.call(cmd)
|
||||
p = Popen(' '.join(cmd), stdout=PIPE, stderr=PIPE)
|
||||
out, err = p.communicate()
|
||||
ret_code = p.returncode
|
||||
|
||||
stdout_string = "=" * 10 + "STDOUT" + "=" * 10 + "\n"
|
||||
err_string = "=" * 10 + "STDERR" + "=" * 10 + "\n"
|
||||
err_string += err
|
||||
|
||||
|
||||
ret_string = "SUCCESS\n"
|
||||
if ret_code != 0:
|
||||
ret_string += "FAILURE\n"
|
||||
|
||||
print "%s\nSee %s for STDOUT\n%s\n%s" % (stdout_string, log_name, err_string, ret_string)
|
||||
|
||||
if log_name:
|
||||
# Write the output to the log file
|
||||
with open(log_name, 'w+') as f:
|
||||
f.write(stdout_string)
|
||||
f.write(out)
|
||||
f.write(err_string)
|
||||
f.write(ret_string)
|
||||
|
||||
# Cleanup the exported and built files
|
||||
if cleanup:
|
||||
if exists(log_name):
|
||||
os.remove(log_name)
|
||||
os.remove('.project')
|
||||
os.remove('.cproject')
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
define \n
|
||||
|
||||
|
||||
endef
|
||||
|
||||
mbedclean:
|
||||
$(foreach TO_BE_CLEANED,$(CC_DEPS)$(C++_DEPS)$(OBJS)$(C_UPPER_DEPS)$(CXX_DEPS)$(SECONDARY_FLASH)$(SECONDARY_SIZE)$(ASM_DEPS)$(S_UPPER_DEPS)$(C_DEPS)$(CPP_DEPS) {{name}}.elf,$(RM) $(TO_BE_CLEANED)${\n})
|
||||
-@echo ' '
|
Loading…
Reference in New Issue