summaryrefslogtreecommitdiff
path: root/tools/root.make
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2012-01-17 07:36:08 +0100
committerThomas Martitz <kugel@rockbox.org>2012-01-21 18:39:19 +0100
commitcf333a61c7861361b4025cb0f67c8f75b0b07eef (patch)
treececb037f3c38ecb035ff79de75dafa6b135bb595 /tools/root.make
parent4343011955bffaf61b002a89b0137d48e873d9d0 (diff)
downloadrockbox-cf333a61c7861361b4025cb0f67c8f75b0b07eef.tar.gz
rockbox-cf333a61c7861361b4025cb0f67c8f75b0b07eef.zip
Move supprt-arm.S to separate library.
Core, codecs and plugins link it separately so this gets rid of SOURCES trickery. Don't build it for hosted targets. Change-Id: If15ef90e93cd218a4352ae8e89eea95d3122452f
Diffstat (limited to 'tools/root.make')
-rw-r--r--tools/root.make26
1 files changed, 19 insertions, 7 deletions
diff --git a/tools/root.make b/tools/root.make
index dd827d6d3f..3cdee2caf7 100644
--- a/tools/root.make
+++ b/tools/root.make
@@ -70,9 +70,12 @@ ifeq (,$(findstring checkwps,$(APPSDIR)))
70 endif 70 endif
71endif 71endif
72 72
73#included before codecs.make and plugins.make so they see $(LIBSETJMP) 73#included before codecs.make and plugins.make so they see them)
74ifndef APP_TYPE 74ifndef APP_TYPE
75 include $(ROOTDIR)/lib/libsetjmp/libsetjmp.make 75 include $(ROOTDIR)/lib/libsetjmp/libsetjmp.make
76 ifeq (arm,$(ARCH))
77 include $(ROOTDIR)/lib/arm_support/arm_support.make
78 endif
76endif 79endif
77 80
78ifneq (,$(findstring bootloader,$(APPSDIR))) 81ifneq (,$(findstring bootloader,$(APPSDIR)))
@@ -176,6 +179,13 @@ LINKRAM := $(BUILDDIR)/ram.link
176ROMLDS := $(FIRMDIR)/rom.lds 179ROMLDS := $(FIRMDIR)/rom.lds
177LINKROM := $(BUILDDIR)/rom.link 180LINKROM := $(BUILDDIR)/rom.link
178 181
182ifeq (arm,$(ARCH))
183 LIBARMSUPPORT_LINK := -larm_support
184else
185 LIBARMSUPPORT_LINK :=
186endif
187
188
179 189
180$(LINKRAM): $(RAMLDS) $(CONFIGFILE) 190$(LINKRAM): $(RAMLDS) $(CONFIGFILE)
181 $(call PRINTS,PP $(@F)) 191 $(call PRINTS,PP $(@F))
@@ -185,19 +195,21 @@ $(LINKROM): $(ROMLDS)
185 $(call PRINTS,PP $(@F)) 195 $(call PRINTS,PP $(@F))
186 $(call preprocess2file,$<,$@,-DLOADADDRESS=$(LOADADDRESS)) 196 $(call preprocess2file,$<,$@,-DLOADADDRESS=$(LOADADDRESS))
187 197
188$(BUILDDIR)/rockbox.elf : $$(OBJ) $$(FIRMLIB) $$(VOICESPEEXLIB) $$(SKINLIB) $$(LINKRAM) 198$(BUILDDIR)/rockbox.elf : $$(OBJ) $$(FIRMLIB) $$(VOICESPEEXLIB) $$(SKINLIB) $$(LIBARMSUPPORT) $$(LINKRAM)
189 $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ 199 $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \
190 -L$(BUILDDIR)/firmware -lfirmware \ 200 -L$(BUILDDIR)/firmware -lfirmware \
191 -L$(BUILDDIR)/lib -lskin_parser \ 201 -L$(BUILDDIR)/lib -lskin_parser $(LIBARMSUPPORT_LINK) \
192 -L$(BUILDDIR)/apps/codecs $(VOICESPEEXLIB:lib%.a=-l%) \ 202 -L$(BUILDDIR)/apps/codecs $(VOICESPEEXLIB:lib%.a=-l%) \
193 -lgcc $(BOOTBOXLDOPTS) $(GLOBAL_LDOPTS) \ 203 -lgcc $(BOOTBOXLDOPTS) $(GLOBAL_LDOPTS) \
194 -T$(LINKRAM) -Wl,-Map,$(BUILDDIR)/rockbox.map 204 -T$(LINKRAM) -Wl,-Map,$(BUILDDIR)/rockbox.map
195 205
196$(BUILDDIR)/rombox.elf : $$(OBJ) $$(FIRMLIB) $$(VOICESPEEXLIB) $$(SKINLIB) $$(LINKROM) 206$(BUILDDIR)/rombox.elf : $$(OBJ) $$(FIRMLIB) $$(VOICESPEEXLIB) $$(SKINLIB) $$(LIBARMSUPPORT) $$(LINKROM)
197 $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ 207 $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \
198 $(VOICESPEEXLIB) $(FIRMLIB) -lgcc $(GLOBAL_LDOPTS) \ 208 -L$(BUILDDIR)/firmware -lfirmware \
199 -L$(BUILDDIR)/lib -lskin_parser \ 209 -L$(BUILDDIR)/lib -lskin_parser $(LIBARMSUPPORT_LINK) \
200 -L$(BUILDDIR)/firmware -T$(LINKROM) -Wl,-Map,$(BUILDDIR)/rombox.map 210 -L$(BUILDDIR)/apps/codecs $(VOICESPEEXLIB:lib%.a=-l%) \
211 -lgcc $(GLOBAL_LDOPTS) \
212 -T$(LINKROM) -Wl,-Map,$(BUILDDIR)/rombox.map
201 213
202$(BUILDDIR)/rockbox.bin : $(BUILDDIR)/rockbox.elf 214$(BUILDDIR)/rockbox.bin : $(BUILDDIR)/rockbox.elf
203 $(call PRINTS,OC $(@F))$(OC) $(if $(filter yes, $(USE_ELF)), -S -x, -O binary) $< $@ 215 $(call PRINTS,OC $(@F))$(OC) $(if $(filter yes, $(USE_ELF)), -S -x, -O binary) $< $@