Skip to content

Commit 0b11177

Browse files
authored
Merge pull request #4069 from theotherjimmy/preproc-linker-gnuarmeclipse
Update gnuarmeclipse to preprocess linker scripts
2 parents 0559aa4 + 6a3c71c commit 0b11177

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

tools/export/gnuarmeclipse/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,9 @@ def generate(self):
244244
opts['ld']['object_files'] = objects
245245
opts['ld']['user_libraries'] = libraries
246246
opts['ld']['system_libraries'] = self.system_libraries
247-
opts['ld']['script'] = self.ld_script
247+
opts['ld']['script'] = join(id.capitalize(),
248+
"linker-script-%s.ld" % id)
249+
opts['cpp_cmd'] = " ".join(toolchain.preproc)
248250

249251
# Unique IDs used in multiple places.
250252
# Those used only once are implemented with {{u.id}}.
@@ -261,6 +263,7 @@ def generate(self):
261263

262264
jinja_ctx = {
263265
'name': self.project_name,
266+
'ld_script': self.ld_script,
264267

265268
# Compiler & linker command line options
266269
'options': self.options,

tools/export/gnuarmeclipse/makefile.targets.tmpl

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,11 @@
33
mbedclean:
44
$(RM) $(OBJS)
55
$(RM) $(CC_DEPS)$(C++_DEPS)$(C_UPPER_DEPS)$(CXX_DEPS)$(ASM_DEPS)$(S_UPPER_DEPS)$(C_DEPS)$(CPP_DEPS)
6-
$(RM) $(SECONDARY_FLASH)$(SECONDARY_SIZE) {{name}}.*
7-
-@echo ' '
6+
$(RM) $(SECONDARY_FLASH)$(SECONDARY_SIZE) {{name}}.* linker-script-*.ld
7+
-@echo ' '
8+
9+
{% for config, data in options.iteritems() %}
10+
linker-script-{{config}}.ld: ../{{ld_script}}
11+
{{data.cpp_cmd}} {{data.ld.other}} $< -o $@
12+
{{name}}.elf: linker-script-{{config}}.ld
13+
{% endfor %}

0 commit comments

Comments
 (0)