diff options
-rw-r--r-- | android/android.make | 2 | ||||
-rw-r--r-- | apps/codecs/codecs.make | 17 | ||||
-rw-r--r-- | apps/plugins/imageviewer/imageviewer.make | 2 | ||||
-rw-r--r-- | apps/plugins/mikmod/mikmod.make | 2 | ||||
-rw-r--r-- | apps/plugins/pdbox/pdbox.make | 2 | ||||
-rw-r--r-- | apps/plugins/plugins.make | 8 | ||||
-rw-r--r-- | firmware/target/hosted/ypr0/ypr0.make | 8 | ||||
-rw-r--r-- | lib/arm_support/arm_support.make | 16 | ||||
-rw-r--r-- | lib/libsetjmp/libsetjmp.make | 16 | ||||
-rw-r--r-- | lib/rbcodec/rbcodec.make | 18 | ||||
-rw-r--r-- | lib/skin_parser/skin_parser.make | 16 | ||||
-rw-r--r-- | lib/unwarminder/unwarminder.make | 15 | ||||
-rw-r--r-- | tools/functions.make | 2 | ||||
-rw-r--r-- | tools/root.make | 43 | ||||
-rw-r--r-- | uisimulator/uisimulator.make | 2 |
15 files changed, 79 insertions, 90 deletions
diff --git a/android/android.make b/android/android.make index f18b3f958e..dfbc64ef6e 100644 --- a/android/android.make +++ b/android/android.make | |||
@@ -114,7 +114,7 @@ dex: $(DEX) | |||
114 | classes: $(R_OBJ) $(JAVA_OBJ) | 114 | classes: $(R_OBJ) $(JAVA_OBJ) |
115 | 115 | ||
116 | 116 | ||
117 | $(BUILDDIR)/$(BINARY): $$(OBJ) $(VOICESPEEXLIB) $(FIRMLIB) $(RBCODEC_LIB) $(SKINLIB) $(UNWARMINDER) $(CPUFEAT_BUILD)/cpu-features.o | 117 | $(BUILDDIR)/$(BINARY): $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS) $(CPUFEAT_BUILD)/cpu-features.o |
118 | $(call PRINTS,LD $(BINARY))$(CC) -o $@ $^ $(LDOPTS) $(GLOBAL_LDOPTS) -Wl,-Map,$(BUILDDIR)/rockbox.map | 118 | $(call PRINTS,LD $(BINARY))$(CC) -o $@ $^ $(LDOPTS) $(GLOBAL_LDOPTS) -Wl,-Map,$(BUILDDIR)/rockbox.map |
119 | $(call PRINTS,OC $(@F))$(OC) -S -x $@ | 119 | $(call PRINTS,OC $(@F))$(OC) -S -x $@ |
120 | 120 | ||
diff --git a/apps/codecs/codecs.make b/apps/codecs/codecs.make index 55002b229b..37713015ad 100644 --- a/apps/codecs/codecs.make +++ b/apps/codecs/codecs.make | |||
@@ -21,6 +21,9 @@ include $(APPSDIR)/codecs/lib/tlsf/libtlsf.make | |||
21 | include $(APPSDIR)/codecs/lib/libcodec.make | 21 | include $(APPSDIR)/codecs/lib/libcodec.make |
22 | OTHER_INC += -I$(APPSDIR)/codecs/lib | 22 | OTHER_INC += -I$(APPSDIR)/codecs/lib |
23 | 23 | ||
24 | # extra libraries | ||
25 | CODEC_LIBS := $(EXTRA_LIBS) $(TLSFLIB) $(CODECLIB) | ||
26 | |||
24 | # the codec libraries | 27 | # the codec libraries |
25 | include $(APPSDIR)/codecs/demac/libdemac.make | 28 | include $(APPSDIR)/codecs/demac/libdemac.make |
26 | include $(APPSDIR)/codecs/liba52/liba52.make | 29 | include $(APPSDIR)/codecs/liba52/liba52.make |
@@ -135,7 +138,7 @@ $(CODECDIR)/spc.codec : $(CODECDIR)/libspc.a | |||
135 | $(CODECDIR)/mpa.codec : $(CODECDIR)/libmad.a | 138 | $(CODECDIR)/mpa.codec : $(CODECDIR)/libmad.a |
136 | $(CODECDIR)/a52.codec : $(CODECDIR)/liba52.a | 139 | $(CODECDIR)/a52.codec : $(CODECDIR)/liba52.a |
137 | $(CODECDIR)/flac.codec : $(CODECDIR)/libffmpegFLAC.a | 140 | $(CODECDIR)/flac.codec : $(CODECDIR)/libffmpegFLAC.a |
138 | $(CODECDIR)/vorbis.codec : $(CODECDIR)/libtremor.a $(TLSFLIB) | 141 | $(CODECDIR)/vorbis.codec : $(CODECDIR)/libtremor.a |
139 | $(CODECDIR)/speex.codec : $(CODECDIR)/libspeex.a | 142 | $(CODECDIR)/speex.codec : $(CODECDIR)/libspeex.a |
140 | $(CODECDIR)/mpc.codec : $(CODECDIR)/libmusepack.a | 143 | $(CODECDIR)/mpc.codec : $(CODECDIR)/libmusepack.a |
141 | $(CODECDIR)/wavpack.codec : $(CODECDIR)/libwavpack.a | 144 | $(CODECDIR)/wavpack.codec : $(CODECDIR)/libwavpack.a |
@@ -168,10 +171,7 @@ $(CODECDIR)/sgc.codec : $(CODECDIR)/libsgc.a $(CODECDIR)/libemu2413.a | |||
168 | $(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a $(CODECDIR)/libemu2413.a | 171 | $(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a $(CODECDIR)/libemu2413.a |
169 | $(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a $(CODECDIR)/libemu2413.a | 172 | $(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a $(CODECDIR)/libemu2413.a |
170 | 173 | ||
171 | $(CODECS): $(CODECLIB) # this must be last in codec dependency list | 174 | $(CODECS): $(CODEC_LIBS) # this must be last in codec dependency list |
172 | |||
173 | # libfaad and libmusepack both contain a huffman.h file, with different | ||
174 | # content. So we compile them with special command lines: | ||
175 | 175 | ||
176 | # pattern rule for compiling codecs | 176 | # pattern rule for compiling codecs |
177 | $(CODECDIR)/%.o: $(ROOTDIR)/apps/codecs/%.c | 177 | $(CODECDIR)/%.o: $(ROOTDIR)/apps/codecs/%.c |
@@ -194,14 +194,13 @@ else | |||
194 | endif | 194 | endif |
195 | CODECLDFLAGS += $(GLOBAL_LDOPTS) | 195 | CODECLDFLAGS += $(GLOBAL_LDOPTS) |
196 | 196 | ||
197 | $(CODECDIR)/%-pre.map: $(CODEC_CRT0) $(CODECLINK_LDS) $(CODECDIR)/%.o $(CODECLIB) | 197 | $(CODECDIR)/%-pre.map: $(CODEC_CRT0) $(CODECLINK_LDS) $(CODECDIR)/%.o $(CODECS_LIBS) |
198 | $(call PRINTS,LD $(@F))$(CC) $(CODECFLAGS) -o $(CODECDIR)/$*-pre.elf \ | 198 | $(call PRINTS,LD $(@F))$(CC) $(CODECFLAGS) -o $(CODECDIR)/$*-pre.elf \ |
199 | $(filter %.o, $^) \ | 199 | $(filter %.o, $^) \ |
200 | $(filter-out $(CODECLIB),$(filter %.a, $+)) \ | 200 | $(filter-out $(CODECLIB),$(filter %.a, $+)) $(CODECLIB) \ |
201 | $(CODECLIB) \ | ||
202 | -lgcc $(subst .map,-pre.map,$(CODECLDFLAGS)) | 201 | -lgcc $(subst .map,-pre.map,$(CODECLDFLAGS)) |
203 | 202 | ||
204 | $(CODECDIR)/%.codec: $(CODECDIR)/%.o $(LIBSETJMP) $(LIBARMSUPPORT) | 203 | $(CODECDIR)/%.codec: $(CODECDIR)/%.o |
205 | $(call PRINTS,LD $(@F))$(CC) $(CODECFLAGS) -o $(CODECDIR)/$*.elf \ | 204 | $(call PRINTS,LD $(@F))$(CC) $(CODECFLAGS) -o $(CODECDIR)/$*.elf \ |
206 | $(filter %.o, $^) \ | 205 | $(filter %.o, $^) \ |
207 | $(filter %.a, $+) \ | 206 | $(filter %.a, $+) \ |
diff --git a/apps/plugins/imageviewer/imageviewer.make b/apps/plugins/imageviewer/imageviewer.make index 76cc3e266d..7f7d94320a 100644 --- a/apps/plugins/imageviewer/imageviewer.make +++ b/apps/plugins/imageviewer/imageviewer.make | |||
@@ -47,7 +47,7 @@ else | |||
47 | endif | 47 | endif |
48 | 48 | ||
49 | # rule to create reference map for image decoder | 49 | # rule to create reference map for image decoder |
50 | $(IMGVBUILDDIR)/%.refmap: $(APPSDIR)/plugin.h $(IMGVSRCDIR)/imageviewer.h $(PLUGINLINK_LDS) $(LIBARMSUPPORT) $(PLUGINLIB) $(PLUGINBITMAPLIB) | 50 | $(IMGVBUILDDIR)/%.refmap: $(APPSDIR)/plugin.h $(IMGVSRCDIR)/imageviewer.h $(PLUGINLINK_LDS) $(PLUGIN_LIBS) |
51 | $(call PRINTS,LD $(@F))$(CC) $(IMGDECFLAGS) -o /dev/null \ | 51 | $(call PRINTS,LD $(@F))$(CC) $(IMGDECFLAGS) -o /dev/null \ |
52 | $(filter %.o, $^) \ | 52 | $(filter %.o, $^) \ |
53 | $(filter %.a, $+) \ | 53 | $(filter %.a, $+) \ |
diff --git a/apps/plugins/mikmod/mikmod.make b/apps/plugins/mikmod/mikmod.make index c975e1e5c7..38a95c3695 100644 --- a/apps/plugins/mikmod/mikmod.make +++ b/apps/plugins/mikmod/mikmod.make | |||
@@ -20,7 +20,7 @@ OTHER_SRC += $(MIKMOD_SRC) | |||
20 | 20 | ||
21 | MIKMODCFLAGS = $(PLUGINFLAGS) -I$(MIKMODSRCDIR) -O2 | 21 | MIKMODCFLAGS = $(PLUGINFLAGS) -I$(MIKMODSRCDIR) -O2 |
22 | 22 | ||
23 | $(MIKMODBUILDDIR)/mikmod.rock: $(MIKMOD_OBJ) $(CODECDIR)/libtlsf.a | 23 | $(MIKMODBUILDDIR)/mikmod.rock: $(MIKMOD_OBJ) |
24 | 24 | ||
25 | # new rule needed to use extra compile flags | 25 | # new rule needed to use extra compile flags |
26 | $(MIKMODBUILDDIR)/%.o: $(MIKMODSRCDIR)/%.c | 26 | $(MIKMODBUILDDIR)/%.o: $(MIKMODSRCDIR)/%.c |
diff --git a/apps/plugins/pdbox/pdbox.make b/apps/plugins/pdbox/pdbox.make index 0e40232321..239e1c0852 100644 --- a/apps/plugins/pdbox/pdbox.make +++ b/apps/plugins/pdbox/pdbox.make | |||
@@ -18,7 +18,7 @@ PDBOX_OBJ := $(call c2obj, $(PDBOX_SRC)) | |||
18 | # add source files to OTHERSRC to get automatic dependencies | 18 | # add source files to OTHERSRC to get automatic dependencies |
19 | OTHER_SRC += $(PDBOX_SRC) | 19 | OTHER_SRC += $(PDBOX_SRC) |
20 | 20 | ||
21 | $(PDBOXBUILDDIR)/pdbox.rock: $(PDBOX_OBJ) $(MPEG_OBJ) $(CODECDIR)/libtlsf.a | 21 | $(PDBOXBUILDDIR)/pdbox.rock: $(PDBOX_OBJ) $(MPEG_OBJ) |
22 | 22 | ||
23 | PDBOXFLAGS = $(PLUGINFLAGS) -fno-strict-aliasing | 23 | PDBOXFLAGS = $(PLUGINFLAGS) -fno-strict-aliasing |
24 | PDBOXLDFLAGS = $(PLUGINLDFLAGS) | 24 | PDBOXLDFLAGS = $(PLUGINLDFLAGS) |
diff --git a/apps/plugins/plugins.make b/apps/plugins/plugins.make index 272b1b8e93..3ea6d96432 100644 --- a/apps/plugins/plugins.make +++ b/apps/plugins/plugins.make | |||
@@ -53,6 +53,8 @@ else | |||
53 | PLUGINSUBDIRS := $(call preprocess, $(APPSDIR)/plugins/SUBDIRS) | 53 | PLUGINSUBDIRS := $(call preprocess, $(APPSDIR)/plugins/SUBDIRS) |
54 | endif | 54 | endif |
55 | 55 | ||
56 | PLUGIN_LIBS := $(EXTRA_LIBS) $(TLSFLIB) $(PLUGINLIB) $(PLUGINBITMAPLIB) | ||
57 | |||
56 | # include <dir>.make from each subdir (yay!) | 58 | # include <dir>.make from each subdir (yay!) |
57 | $(foreach dir,$(PLUGINSUBDIRS),$(eval include $(dir)/$(notdir $(dir)).make)) | 59 | $(foreach dir,$(PLUGINSUBDIRS),$(eval include $(dir)/$(notdir $(dir)).make)) |
58 | 60 | ||
@@ -65,7 +67,7 @@ PLUGINFLAGS = -I$(APPSDIR)/plugins -DPLUGIN $(CFLAGS) | |||
65 | $(ROCKS1): $(BUILDDIR)/%.rock: $(BUILDDIR)/%.o | 67 | $(ROCKS1): $(BUILDDIR)/%.rock: $(BUILDDIR)/%.o |
66 | 68 | ||
67 | # dependency for all plugins | 69 | # dependency for all plugins |
68 | $(ROCKS): $(APPSDIR)/plugin.h $(PLUGINLINK_LDS) $(LIBARMSUPPORT) $(PLUGINLIB) $(PLUGINBITMAPLIB) $(PLUGIN_CRT0) $(LIBSETJMP) | 70 | $(ROCKS): $(APPSDIR)/plugin.h $(PLUGINLINK_LDS) $(PLUGIN_LIBS) $(PLUGIN_CRT0) |
69 | 71 | ||
70 | $(PLUGINLIB): $(PLUGINLIB_OBJ) | 72 | $(PLUGINLIB): $(PLUGINLIB_OBJ) |
71 | $(SILENT)$(shell rm -f $@) | 73 | $(SILENT)$(shell rm -f $@) |
@@ -85,7 +87,7 @@ $(BUILDDIR)/credits.raw credits.raw: $(DOCSDIR)/CREDITS | |||
85 | $(call PRINTS,Create credits.raw)perl $(APPSDIR)/plugins/credits.pl < $< > $(BUILDDIR)/$(@F) | 87 | $(call PRINTS,Create credits.raw)perl $(APPSDIR)/plugins/credits.pl < $< > $(BUILDDIR)/$(@F) |
86 | 88 | ||
87 | # special dependencies | 89 | # special dependencies |
88 | $(BUILDDIR)/apps/plugins/wav2wv.rock: $(BUILDDIR)/apps/codecs/libwavpack.a $(PLUGINLIB) | 90 | $(BUILDDIR)/apps/plugins/wav2wv.rock: $(BUILDDIR)/apps/codecs/libwavpack.a $(PLUGIN_LIBS) |
89 | 91 | ||
90 | # Do not use '-ffunction-sections' and '-fdata-sections' when compiling sdl-sim | 92 | # Do not use '-ffunction-sections' and '-fdata-sections' when compiling sdl-sim |
91 | ifeq ($(findstring sdl-sim, $(APP_TYPE)), sdl-sim) | 93 | ifeq ($(findstring sdl-sim, $(APP_TYPE)), sdl-sim) |
@@ -129,7 +131,7 @@ endif | |||
129 | $(BUILDDIR)/apps/plugins/%.lua: $(ROOTDIR)/apps/plugins/%.lua | 131 | $(BUILDDIR)/apps/plugins/%.lua: $(ROOTDIR)/apps/plugins/%.lua |
130 | $(call PRINTS,CP $(subst $(ROOTDIR)/,,$<))cp $< $(BUILDDIR)/apps/plugins/ | 132 | $(call PRINTS,CP $(subst $(ROOTDIR)/,,$<))cp $< $(BUILDDIR)/apps/plugins/ |
131 | 133 | ||
132 | $(BUILDDIR)/%.refmap: $(APPSDIR)/plugin.h $(OVERLAYREF_LDS) $(LIBARMSUPPORT) $(PLUGINLIB) $(PLUGINBITMAPLIB) $(LIBSETJMP) $(PLUGIN_CRT0) | 134 | $(BUILDDIR)/%.refmap: $(APPSDIR)/plugin.h $(OVERLAYREF_LDS) $(PLUGIN_LIBS) |
133 | $(call PRINTS,LD $(@F))$(CC) $(PLUGINFLAGS) -o /dev/null \ | 135 | $(call PRINTS,LD $(@F))$(CC) $(PLUGINFLAGS) -o /dev/null \ |
134 | $(filter %.o, $^) \ | 136 | $(filter %.o, $^) \ |
135 | $(filter %.a, $+) \ | 137 | $(filter %.a, $+) \ |
diff --git a/firmware/target/hosted/ypr0/ypr0.make b/firmware/target/hosted/ypr0/ypr0.make index d74b9058f5..68f53902ad 100644 --- a/firmware/target/hosted/ypr0/ypr0.make +++ b/firmware/target/hosted/ypr0/ypr0.make | |||
@@ -13,13 +13,11 @@ SIMFLAGS += $(INCLUDES) $(DEFINES) -DHAVE_CONFIG_H $(GCCOPTS) | |||
13 | 13 | ||
14 | .SECONDEXPANSION: # $$(OBJ) is not populated until after this | 14 | .SECONDEXPANSION: # $$(OBJ) is not populated until after this |
15 | 15 | ||
16 | 16 | $(BUILDDIR)/rockbox.elf : $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS) | |
17 | $(BUILDDIR)/rockbox.elf : $$(OBJ) $$(RBCODEC_LIB) $$(FIRMLIB) $$(VOICESPEEXLIB) $$(SKINLIB) $$(UNWARMINDER) | ||
18 | $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -o $@ $(OBJ) \ | 17 | $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -o $@ $(OBJ) \ |
19 | -L$(BUILDDIR)/firmware -lfirmware \ | 18 | -L$(BUILDDIR)/firmware -lfirmware \ |
20 | $(RBCODEC_LIB) \ | 19 | -L$(BUILDDIR)/apps/codecs $(call a2lnk, $(VOICESPEEXLIB)) \ |
21 | -L$(BUILDDIR)/apps/codecs $(VOICESPEEXLIB:lib%.a=-l%) \ | 20 | -L$(BUILDDIR)/lib $(call a2lnk,$(CORE_LIBS)) \ |
22 | -L$(BUILDDIR)/lib -lskin_parser \ | ||
23 | $(LDOPTS) $(GLOBAL_LDOPTS) -Wl,-Map,$(BUILDDIR)/rockbox.map | 21 | $(LDOPTS) $(GLOBAL_LDOPTS) -Wl,-Map,$(BUILDDIR)/rockbox.map |
24 | 22 | ||
25 | $(BUILDDIR)/rockbox : $(BUILDDIR)/rockbox.elf | 23 | $(BUILDDIR)/rockbox : $(BUILDDIR)/rockbox.elf |
diff --git a/lib/arm_support/arm_support.make b/lib/arm_support/arm_support.make index a3775ee3b0..054d723e62 100644 --- a/lib/arm_support/arm_support.make +++ b/lib/arm_support/arm_support.make | |||
@@ -6,14 +6,16 @@ | |||
6 | # \/ \/ \/ \/ \/ | 6 | # \/ \/ \/ \/ \/ |
7 | # | 7 | # |
8 | 8 | ||
9 | ARMSUPPORT_DIR = $(ROOTDIR)/lib/arm_support | 9 | ARMSUPPORTLIB_DIR := $(ROOTDIR)/lib/arm_support |
10 | ARMSUPPORT_SRC = $(ARMSUPPORT_DIR)/support-arm.S | 10 | ARMSUPPORTLIB_SRC := $(ARMSUPPORTLIB_DIR)/support-arm.S |
11 | ARMSUPPORT_OBJ := $(call c2obj, $(ARMSUPPORT_SRC)) | 11 | ARMSUPPORTLIB_OBJ := $(call c2obj, $(ARMSUPPORTLIB_SRC)) |
12 | ARMSUPPORTLIB := $(BUILDDIR)/lib/libarm_support.a | ||
12 | 13 | ||
13 | OTHER_SRC += $(ARMSUPPORT_SRC) | 14 | OTHER_SRC += $(ARMSUPPORTLIB_SRC) |
15 | # both core and plugins link this | ||
16 | CORE_LIBS += $(ARMSUPPORTLIB) | ||
17 | PLUGIN_LIBS += $(ARMSUPPORTLIB) | ||
14 | 18 | ||
15 | LIBARMSUPPORT := $(BUILDDIR)/lib/libarm_support.a | 19 | $(ARMSUPPORTLIB): $(ARMSUPPORTLIB_OBJ) |
16 | |||
17 | $(LIBARMSUPPORT): $(ARMSUPPORT_OBJ) | ||
18 | $(SILENT)$(shell rm -f $@) | 20 | $(SILENT)$(shell rm -f $@) |
19 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 21 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
diff --git a/lib/libsetjmp/libsetjmp.make b/lib/libsetjmp/libsetjmp.make index b7d4cad25f..f8df7513c9 100644 --- a/lib/libsetjmp/libsetjmp.make +++ b/lib/libsetjmp/libsetjmp.make | |||
@@ -6,16 +6,16 @@ | |||
6 | # \/ \/ \/ \/ \/ | 6 | # \/ \/ \/ \/ \/ |
7 | # | 7 | # |
8 | 8 | ||
9 | SETJMP_DIR = $(ROOTDIR)/lib/libsetjmp | 9 | SETJMPLIB_DIR = $(ROOTDIR)/lib/libsetjmp |
10 | SETJMP_SRC = $(call preprocess, $(SETJMP_DIR)/SOURCES) | 10 | SETJMPLIB_SRC = $(call preprocess, $(SETJMPLIB_DIR)/SOURCES) |
11 | SETJMP_OBJ := $(call c2obj, $(SETJMP_SRC)) | 11 | SETJMPLIB_OBJ := $(call c2obj, $(SETJMPLIB_SRC)) |
12 | 12 | ||
13 | OTHER_SRC += $(SETJMP_SRC) | 13 | SETJMPLIB = $(BUILDDIR)/lib/libsetjmp.a |
14 | 14 | ||
15 | LIBSETJMP = $(BUILDDIR)/lib/libsetjmp.a | 15 | INCLUDES += -I$(SETJMPLIB_DIR) |
16 | OTHER_SRC += $(SETJMPLIB_SRC) | ||
17 | EXTRA_LIBS += $(SETJMPLIB) | ||
16 | 18 | ||
17 | INCLUDES += -I$(SETJMP_DIR) | 19 | $(SETJMPLIB): $(SETJMPLIB_OBJ) |
18 | |||
19 | $(LIBSETJMP): $(SETJMP_OBJ) | ||
20 | $(SILENT)$(shell rm -f $@) | 20 | $(SILENT)$(shell rm -f $@) |
21 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 21 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
diff --git a/lib/rbcodec/rbcodec.make b/lib/rbcodec/rbcodec.make index afa289ba28..cd669d22c9 100644 --- a/lib/rbcodec/rbcodec.make +++ b/lib/rbcodec/rbcodec.make | |||
@@ -5,15 +5,15 @@ | |||
5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | 5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
6 | # \/ \/ \/ \/ \/ | 6 | # \/ \/ \/ \/ \/ |
7 | 7 | ||
8 | RBCODEC_LIB = $(RBCODEC_BLD)/librbcodec.a | 8 | # RBCODEC_BLD is defined in the calling Makefile |
9 | RBCODEC_SRC := $(call preprocess, $(RBCODEC_DIR)/SOURCES) | 9 | RBCODECLIB_DIR := $(ROOTDIR)/lib/rbcodec |
10 | RBCODEC_OBJ := $(call c2obj, $(RBCODEC_SRC)) | 10 | RBCODECLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/SOURCES) |
11 | INCLUDES += -I$(RBCODEC_DIR) -I$(RBCODEC_DIR)/dsp -I$(RBCODEC_DIR)/metadata | 11 | RBCODECLIB_OBJ := $(call c2obj, $(RBCODECLIB_SRC)) |
12 | OTHER_SRC += $(RBCODEC_SRC) | 12 | RBCODECLIB := $(BUILDDIR)/lib/librbcodec.a |
13 | 13 | ||
14 | $(RBCODEC_BLD)/%.o: $(RBCODEC_DIR)/%.c | 14 | INCLUDES += -I$(RBCODECLIB_DIR) -I$(RBCODECLIB_DIR)/dsp -I$(RBCODECLIB_DIR)/metadata |
15 | $(SILENT)mkdir -p $(dir $@) | 15 | OTHER_SRC += $(RBCODECLIB_SRC) |
16 | $(call PRINTS,CC $<)$(CC) $(CFLAGS) $(RBCODEC_CFLAGS) -c $< -o $@ | 16 | CORE_LIBS += $(RBCODECLIB) |
17 | 17 | ||
18 | $(RBCODEC_LIB): $(RBCODEC_OBJ) | 18 | $(RBCODECLIB): $(RBCODECLIB_OBJ) |
19 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 19 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
diff --git a/lib/skin_parser/skin_parser.make b/lib/skin_parser/skin_parser.make index 0be85f3e58..42104a2822 100644 --- a/lib/skin_parser/skin_parser.make +++ b/lib/skin_parser/skin_parser.make | |||
@@ -5,16 +5,16 @@ | |||
5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | 5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
6 | # \/ \/ \/ \/ \/ | 6 | # \/ \/ \/ \/ \/ |
7 | # | 7 | # |
8 | SKINP_DIR = $(ROOTDIR)/lib/skin_parser | 8 | SKINPARSLIB_DIR = $(ROOTDIR)/lib/skin_parser |
9 | SKINP_SRC = $(call preprocess, $(SKINP_DIR)/SOURCES) | 9 | SKINPARSLIB_SRC = $(call preprocess, $(SKINPARSLIB_DIR)/SOURCES) |
10 | SKINP_OBJ := $(call c2obj, $(SKINP_SRC)) | 10 | SKINPARSLIB_OBJ := $(call c2obj, $(SKINPARSLIB_SRC)) |
11 | 11 | ||
12 | OTHER_SRC += $(SKINP_SRC) | 12 | SKINPARSLIB = $(BUILDDIR)/lib/libskin_parser.a |
13 | 13 | ||
14 | SKINLIB = $(BUILDDIR)/lib/libskin_parser.a | 14 | INCLUDES += -I$(SKINPARSLIB_DIR) |
15 | OTHER_SRC += $(SKINPARSLIB_SRC) | ||
16 | CORE_LIBS += $(SKINPARSLIB) | ||
15 | 17 | ||
16 | INCLUDES += -I$(SKINP_DIR) | 18 | $(SKINPARSLIB): $(SKINPARSLIB_OBJ) |
17 | |||
18 | $(SKINLIB): $(SKINP_OBJ) | ||
19 | $(SILENT)$(shell rm -f $@) | 19 | $(SILENT)$(shell rm -f $@) |
20 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 20 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
diff --git a/lib/unwarminder/unwarminder.make b/lib/unwarminder/unwarminder.make index f570d49640..5093156f54 100644 --- a/lib/unwarminder/unwarminder.make +++ b/lib/unwarminder/unwarminder.make | |||
@@ -6,16 +6,17 @@ | |||
6 | # \/ \/ \/ \/ \/ | 6 | # \/ \/ \/ \/ \/ |
7 | # | 7 | # |
8 | 8 | ||
9 | UNWARM_DIR = $(ROOTDIR)/lib/unwarminder | 9 | UNWARMLIB_DIR = $(ROOTDIR)/lib/unwarminder |
10 | UNWARM_SRC = $(call preprocess, $(UNWARM_DIR)/SOURCES) | 10 | UNWARMLIB_SRC = $(call preprocess, $(UNWARMLIB_DIR)/SOURCES) |
11 | UNWARM_OBJ := $(call c2obj, $(UNWARM_SRC)) | 11 | UNWARMLIB_OBJ := $(call c2obj, $(UNWARMLIB_SRC)) |
12 | 12 | ||
13 | OTHER_SRC += $(UNWARM_SRC) | 13 | OTHER_SRC += $(UNWARMLIB_SRC) |
14 | 14 | ||
15 | UNWARMINDER = $(BUILDDIR)/lib/libunwarminder.a | 15 | UNWARMLIB = $(BUILDDIR)/lib/libunwarminder.a |
16 | CORE_LIBS += $(UNWARMLIB) | ||
16 | 17 | ||
17 | INCLUDES += -I$(UNWARM_DIR) | 18 | INCLUDES += -I$(UNWARMLIB_DIR) |
18 | 19 | ||
19 | $(UNWARMINDER): $(UNWARM_OBJ) | 20 | $(UNWARMLIB): $(UNWARMLIB_OBJ) |
20 | $(SILENT)$(shell rm -f $@) | 21 | $(SILENT)$(shell rm -f $@) |
21 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 22 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
diff --git a/tools/functions.make b/tools/functions.make index 26fc471c3c..db7bbe9680 100644 --- a/tools/functions.make +++ b/tools/functions.make | |||
@@ -26,6 +26,8 @@ asmdefs2file = $(SILENT)$(CC) $(PPCFLAGS) $(3) -S -x c -o - -include config.h $( | |||
26 | 26 | ||
27 | c2obj = $(addsuffix .o,$(basename $(subst $(ROOTDIR),$(BUILDDIR),$(1)))) | 27 | c2obj = $(addsuffix .o,$(basename $(subst $(ROOTDIR),$(BUILDDIR),$(1)))) |
28 | 28 | ||
29 | a2lnk = $(patsubst lib%.a,-l%,$(notdir $(1))) | ||
30 | |||
29 | # calculate dependencies for a list of source files $(2) and output them to $(1) | 31 | # calculate dependencies for a list of source files $(2) and output them to $(1) |
30 | mkdepfile = $(SILENT)perl $(TOOLSDIR)/multigcc.pl $(CC) $(PPCFLAGS) $(OTHER_INC) -MG -MM -include config.h -- $(2) | \ | 32 | mkdepfile = $(SILENT)perl $(TOOLSDIR)/multigcc.pl $(CC) $(PPCFLAGS) $(OTHER_INC) -MG -MM -include config.h -- $(2) | \ |
31 | sed -e "s: lang.h: lang/lang.h:" \ | 33 | sed -e "s: lang.h: lang/lang.h:" \ |
diff --git a/tools/root.make b/tools/root.make index 1bac0d6600..eb7e7480d3 100644 --- a/tools/root.make +++ b/tools/root.make | |||
@@ -58,8 +58,9 @@ endif | |||
58 | 58 | ||
59 | all: $(DEPFILE) build | 59 | all: $(DEPFILE) build |
60 | 60 | ||
61 | # Subdir makefiles. their primary purpose is to populate SRC, OTHER_SRC & | 61 | # Subdir makefiles. their primary purpose is to populate SRC, OTHER_SRC, |
62 | # ASMDEFS_SRC but they also define special dependencies and compile rules | 62 | # ASMDEFS_SRC, CORE_LIBS and EXTRA_LIBS. But they also define special |
63 | # dependencies and compile rules | ||
63 | include $(TOOLSDIR)/tools.make | 64 | include $(TOOLSDIR)/tools.make |
64 | 65 | ||
65 | ifeq (,$(findstring checkwps,$(APPSDIR))) | 66 | ifeq (,$(findstring checkwps,$(APPSDIR))) |
@@ -95,10 +96,8 @@ else ifneq (,$(findstring database,$(APP_TYPE))) | |||
95 | else ifneq (,$(findstring warble,$(APP_TYPE))) | 96 | else ifneq (,$(findstring warble,$(APP_TYPE))) |
96 | include $(ROOTDIR)/lib/rbcodec/test/warble.make | 97 | include $(ROOTDIR)/lib/rbcodec/test/warble.make |
97 | else | 98 | else |
98 | RBCODEC_DIR = $(ROOTDIR)/lib/rbcodec | ||
99 | RBCODEC_BLD = $(BUILDDIR)/lib/rbcodec | ||
100 | include $(APPSDIR)/apps.make | 99 | include $(APPSDIR)/apps.make |
101 | include $(RBCODEC_DIR)/rbcodec.make | 100 | include $(ROOTDIR)/lib/rbcodec/rbcodec.make |
102 | include $(APPSDIR)/lang/lang.make | 101 | include $(APPSDIR)/lang/lang.make |
103 | 102 | ||
104 | ifdef SOFTWARECODECS | 103 | ifdef SOFTWARECODECS |
@@ -179,12 +178,6 @@ ifeq (,$(findstring bootloader,$(APPSDIR))) | |||
179 | 178 | ||
180 | OBJ += $(LANG_O) | 179 | OBJ += $(LANG_O) |
181 | 180 | ||
182 | ifeq (arm,$(ARCH)) | ||
183 | UNWARMINDER_LINK := -lunwarminder | ||
184 | else | ||
185 | UNWARMINDER_LINK := | ||
186 | endif | ||
187 | |||
188 | ifndef APP_TYPE | 181 | ifndef APP_TYPE |
189 | 182 | ||
190 | ## target build | 183 | ## target build |
@@ -194,12 +187,6 @@ LINKRAM := $(BUILDDIR)/ram.link | |||
194 | ROMLDS := $(FIRMDIR)/rom.lds | 187 | ROMLDS := $(FIRMDIR)/rom.lds |
195 | LINKROM := $(BUILDDIR)/rom.link | 188 | LINKROM := $(BUILDDIR)/rom.link |
196 | 189 | ||
197 | ifeq (arm,$(ARCH)) | ||
198 | LIBARMSUPPORT_LINK := -larm_support | ||
199 | else | ||
200 | LIBARMSUPPORT_LINK := | ||
201 | endif | ||
202 | |||
203 | $(LINKRAM): $(RAMLDS) $(CONFIGFILE) | 190 | $(LINKRAM): $(RAMLDS) $(CONFIGFILE) |
204 | $(call PRINTS,PP $(@F)) | 191 | $(call PRINTS,PP $(@F)) |
205 | $(call preprocess2file,$<,$@,-DLOADADDRESS=$(LOADADDRESS)) | 192 | $(call preprocess2file,$<,$@,-DLOADADDRESS=$(LOADADDRESS)) |
@@ -208,23 +195,21 @@ $(LINKROM): $(ROMLDS) | |||
208 | $(call PRINTS,PP $(@F)) | 195 | $(call PRINTS,PP $(@F)) |
209 | $(call preprocess2file,$<,$@,-DLOADADDRESS=$(LOADADDRESS)) | 196 | $(call preprocess2file,$<,$@,-DLOADADDRESS=$(LOADADDRESS)) |
210 | 197 | ||
211 | $(BUILDDIR)/rockbox.elf : $$(OBJ) $$(FIRMLIB) $$(RBCODEC_LIB) $$(VOICESPEEXLIB) $$(SKINLIB) $$(LIBARMSUPPORT) $$(UNWARMINDER) $$(LINKRAM) | 198 | $(BUILDDIR)/rockbox.elf : $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS) $$(LINKRAM) |
212 | $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ | 199 | $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ |
213 | -L$(BUILDDIR)/firmware -lfirmware \ | 200 | -L$(BUILDDIR)/firmware -lfirmware \ |
214 | -L$(RBCODEC_BLD) -lrbcodec \ | 201 | -L$(BUILDDIR)/apps/codecs $(call a2lnk, $(VOICESPEEXLIB)) \ |
215 | -L$(BUILDDIR)/lib -lskin_parser $(LIBARMSUPPORT_LINK) \ | 202 | -L$(BUILDDIR)/lib $(call a2lnk, $(CORE_LIBS)) \ |
216 | $(UNWARMINDER_LINK) -L$(BUILDDIR)/apps/codecs \ | 203 | -lgcc $(BOOTBOXLDOPTS) $(GLOBAL_LDOPTS) \ |
217 | $(VOICESPEEXLIB:lib%.a=-l%) -lgcc $(BOOTBOXLDOPTS) \ | 204 | -T$(LINKRAM) -Wl,-Map,$(BUILDDIR)/rockbox.map |
218 | $(GLOBAL_LDOPTS) -T$(LINKRAM) -Wl,-Map,$(BUILDDIR)/rockbox.map | ||
219 | 205 | ||
220 | $(BUILDDIR)/rombox.elf : $$(OBJ) $$(FIRMLIB) $$(RBCODEC_LIB) $$(VOICESPEEXLIB) $$(SKINLIB) $$(LIBARMSUPPORT) $$(UNWARMINDER) $$(LINKROM) | 206 | $(BUILDDIR)/rombox.elf : $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS) $$(LINKROM) |
221 | $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ | 207 | $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ |
222 | -L$(BUILDDIR)/firmware -lfirmware \ | 208 | -L$(BUILDDIR)/firmware -lfirmware \ |
223 | -L$(RBCODEC_BLD) -lrbcodec \ | 209 | -L$(BUILDDIR)/apps/codecs $(call a2lnk, $(VOICESPEEXLIB)) \ |
224 | -L$(BUILDDIR)/lib -lskin_parser $(LIBARMSUPPORT_LINK) \ | 210 | -L$(BUILDDIR)/lib $(call a2lnk, $(CORE_LIBS)) \ |
225 | $(UNWARMINDER_LINK) -L$(BUILDDIR)/apps/codecs \ | 211 | -lgcc $(BOOTBOXLDOPTS) $(GLOBAL_LDOPTS) \ |
226 | $(VOICESPEEXLIB:lib%.a=-l%) -lgcc $(GLOBAL_LDOPTS) \ | 212 | -T$(LINKROM) -Wl,-Map,$(BUILDDIR)/rombox.map |
227 | -T$(LINKROM) -Wl,-Map,$(BUILDDIR)/rombox.map | ||
228 | 213 | ||
229 | $(BUILDDIR)/rockbox.bin : $(BUILDDIR)/rockbox.elf | 214 | $(BUILDDIR)/rockbox.bin : $(BUILDDIR)/rockbox.elf |
230 | $(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) $< $@ |
diff --git a/uisimulator/uisimulator.make b/uisimulator/uisimulator.make index be57e3c216..77cd51494a 100644 --- a/uisimulator/uisimulator.make +++ b/uisimulator/uisimulator.make | |||
@@ -30,7 +30,7 @@ $(SIMLIB): $$(SIMOBJ) $(UIBMP) | |||
30 | $(SILENT)$(shell rm -f $@) | 30 | $(SILENT)$(shell rm -f $@) |
31 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 31 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
32 | 32 | ||
33 | $(BUILDDIR)/$(BINARY): $$(OBJ) $(SIMLIB) $(VOICESPEEXLIB) $(FIRMLIB) $(RBCODEC_LIB) $(SKINLIB) $(UNWARMINDER) | 33 | $(BUILDDIR)/$(BINARY): $$(OBJ) $(FIRMLIB) $(CORE_LIBS) $(SIMLIB) |
34 | $(call PRINTS,LD $(BINARY))$(CC) -o $@ $^ $(SIMLIB) $(LDOPTS) $(GLOBAL_LDOPTS) \ | 34 | $(call PRINTS,LD $(BINARY))$(CC) -o $@ $^ $(SIMLIB) $(LDOPTS) $(GLOBAL_LDOPTS) \ |
35 | -Wl,-Map,$(BUILDDIR)/rockbox.map | 35 | -Wl,-Map,$(BUILDDIR)/rockbox.map |
36 | 36 | ||