diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2013-04-16 17:47:58 -0400 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2013-04-26 00:11:04 +0200 |
commit | 95e23defb085ee1a846ec2d379368485921d5aee (patch) | |
tree | 0bdb31f562fef8c7ff5f3f7dba9c54f9c1e84a76 /tools/root.make | |
parent | 8829e909b4e756bfb2ad9210eec61d0dc55e1731 (diff) | |
download | rockbox-95e23defb085ee1a846ec2d379368485921d5aee.tar.gz rockbox-95e23defb085ee1a846ec2d379368485921d5aee.zip |
Make fixepoint.c as a shared library (libfixedpoint.a).
Change-Id: Icc10d6e85f890c432f191233a4d64e09f00be43d
Reviewed-on: http://gerrit.rockbox.org/456
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
Diffstat (limited to 'tools/root.make')
-rw-r--r-- | tools/root.make | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/tools/root.make b/tools/root.make index c2d061b0eb..6d623595fa 100644 --- a/tools/root.make +++ b/tools/root.make | |||
@@ -17,6 +17,7 @@ INCLUDES = -I$(BUILDDIR) -I$(BUILDDIR)/lang $(TARGET_INC) | |||
17 | CFLAGS = $(INCLUDES) $(DEFINES) $(GCCOPTS) | 17 | CFLAGS = $(INCLUDES) $(DEFINES) $(GCCOPTS) |
18 | PPCFLAGS = $(filter-out -g -Dmain=SDL_main,$(CFLAGS)) # cygwin sdl-config fix | 18 | PPCFLAGS = $(filter-out -g -Dmain=SDL_main,$(CFLAGS)) # cygwin sdl-config fix |
19 | ASMFLAGS = -D__ASSEMBLER__ # work around gcc 3.4.x bug with -std=gnu99, only meant for .S files | 19 | ASMFLAGS = -D__ASSEMBLER__ # work around gcc 3.4.x bug with -std=gnu99, only meant for .S files |
20 | CORE_LDOPTS = $(GLOBAL_LDOPTS) # linker ops specifically for core build | ||
20 | 21 | ||
21 | TOOLS = $(TOOLSDIR)/rdf2binary $(TOOLSDIR)/convbdf \ | 22 | TOOLS = $(TOOLSDIR)/rdf2binary $(TOOLSDIR)/convbdf \ |
22 | $(TOOLSDIR)/codepages $(TOOLSDIR)/scramble $(TOOLSDIR)/bmp2rb \ | 23 | $(TOOLSDIR)/codepages $(TOOLSDIR)/scramble $(TOOLSDIR)/bmp2rb \ |
@@ -90,10 +91,15 @@ ifndef APP_TYPE | |||
90 | endif | 91 | endif |
91 | endif | 92 | endif |
92 | 93 | ||
94 | ifeq (,$(findstring bootloader,$(APPSDIR))) | ||
95 | ifeq (,$(findstring checkwps,$(APP_TYPE))) | ||
96 | include $(ROOTDIR)/lib/fixedpoint/fixedpoint.make | ||
97 | endif | ||
98 | endif | ||
99 | |||
93 | ifneq (,$(findstring bootloader,$(APPSDIR))) | 100 | ifneq (,$(findstring bootloader,$(APPSDIR))) |
94 | include $(APPSDIR)/bootloader.make | 101 | include $(APPSDIR)/bootloader.make |
95 | else ifneq (,$(findstring bootbox,$(APPSDIR))) | 102 | else ifneq (,$(findstring bootbox,$(APPSDIR))) |
96 | BOOTBOXLDOPTS = -Wl,--gc-sections | ||
97 | include $(APPSDIR)/bootbox.make | 103 | include $(APPSDIR)/bootbox.make |
98 | else ifneq (,$(findstring checkwps,$(APP_TYPE))) | 104 | else ifneq (,$(findstring checkwps,$(APP_TYPE))) |
99 | include $(APPSDIR)/checkwps.make | 105 | include $(APPSDIR)/checkwps.make |
@@ -104,10 +110,10 @@ else ifneq (,$(findstring warble,$(APP_TYPE))) | |||
104 | include $(ROOTDIR)/lib/rbcodec/test/warble.make | 110 | include $(ROOTDIR)/lib/rbcodec/test/warble.make |
105 | include $(ROOTDIR)/lib/tlsf/libtlsf.make | 111 | include $(ROOTDIR)/lib/tlsf/libtlsf.make |
106 | include $(ROOTDIR)/lib/rbcodec/rbcodec.make | 112 | include $(ROOTDIR)/lib/rbcodec/rbcodec.make |
107 | else | 113 | else # core |
108 | include $(APPSDIR)/apps.make | 114 | include $(APPSDIR)/apps.make |
109 | include $(ROOTDIR)/lib/rbcodec/rbcodec.make | ||
110 | include $(APPSDIR)/lang/lang.make | 115 | include $(APPSDIR)/lang/lang.make |
116 | include $(ROOTDIR)/lib/rbcodec/rbcodec.make | ||
111 | 117 | ||
112 | ifdef ENABLEDPLUGINS | 118 | ifdef ENABLEDPLUGINS |
113 | include $(APPSDIR)/plugins/bitmaps/pluginbitmaps.make | 119 | include $(APPSDIR)/plugins/bitmaps/pluginbitmaps.make |
@@ -132,6 +138,14 @@ else | |||
132 | 138 | ||
133 | endif # bootloader | 139 | endif # bootloader |
134 | 140 | ||
141 | # One or more subdir makefiles requested --gc-sections? | ||
142 | ifdef CORE_GCSECTIONS | ||
143 | # Do not use '--gc-sections' when compiling sdl-sim | ||
144 | ifneq ($(findstring sdl-sim, $(APP_TYPE)), sdl-sim) | ||
145 | CORE_LDOPTS += -Wl,--gc-sections | ||
146 | endif | ||
147 | endif # CORE_GCSECTIONS | ||
148 | |||
135 | OBJ := $(SRC:.c=.o) | 149 | OBJ := $(SRC:.c=.o) |
136 | OBJ := $(OBJ:.S=.o) | 150 | OBJ := $(OBJ:.S=.o) |
137 | OBJ += $(BMP:.bmp=.o) | 151 | OBJ += $(BMP:.bmp=.o) |
@@ -205,16 +219,16 @@ $(BUILDDIR)/rockbox.elf : $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS) $$(LI | |||
205 | -L$(BUILDDIR)/firmware -lfirmware \ | 219 | -L$(BUILDDIR)/firmware -lfirmware \ |
206 | -L$(RBCODEC_BLD)/codecs $(call a2lnk, $(VOICESPEEXLIB)) \ | 220 | -L$(RBCODEC_BLD)/codecs $(call a2lnk, $(VOICESPEEXLIB)) \ |
207 | -L$(BUILDDIR)/lib $(call a2lnk, $(CORE_LIBS)) \ | 221 | -L$(BUILDDIR)/lib $(call a2lnk, $(CORE_LIBS)) \ |
208 | -lgcc $(BOOTBOXLDOPTS) $(GLOBAL_LDOPTS) \ | 222 | -lgcc -T$(LINKRAM) \ |
209 | -T$(LINKRAM) -Wl,-Map,$(BUILDDIR)/rockbox.map | 223 | $(CORE_LDOPTS) -Wl,-Map,$(BUILDDIR)/rockbox.map |
210 | 224 | ||
211 | $(BUILDDIR)/rombox.elf : $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS) $$(LINKROM) | 225 | $(BUILDDIR)/rombox.elf : $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS) $$(LINKROM) |
212 | $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ | 226 | $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ |
213 | -L$(BUILDDIR)/firmware -lfirmware \ | 227 | -L$(BUILDDIR)/firmware -lfirmware \ |
214 | -L$(RBCODEC_BLD)/codecs $(call a2lnk, $(VOICESPEEXLIB)) \ | 228 | -L$(RBCODEC_BLD)/codecs $(call a2lnk, $(VOICESPEEXLIB)) \ |
215 | -L$(BUILDDIR)/lib $(call a2lnk, $(CORE_LIBS)) \ | 229 | -L$(BUILDDIR)/lib $(call a2lnk, $(CORE_LIBS)) \ |
216 | -lgcc $(BOOTBOXLDOPTS) $(GLOBAL_LDOPTS) \ | 230 | -lgcc -T$(LINKROM) \ |
217 | -T$(LINKROM) -Wl,-Map,$(BUILDDIR)/rombox.map | 231 | $(CORE_LDOPTS) -Wl,-Map,$(BUILDDIR)/rombox.map |
218 | 232 | ||
219 | $(BUILDDIR)/rockbox.bin : $(BUILDDIR)/rockbox.elf | 233 | $(BUILDDIR)/rockbox.bin : $(BUILDDIR)/rockbox.elf |
220 | $(call PRINTS,OC $(@F))$(call objcopy,$<,$@) | 234 | $(call PRINTS,OC $(@F))$(call objcopy,$<,$@) |