diff options
author | Andrew Mahone <andrew.mahone@gmail.com> | 2010-02-04 08:45:38 +0000 |
---|---|---|
committer | Andrew Mahone <andrew.mahone@gmail.com> | 2010-02-04 08:45:38 +0000 |
commit | b1caf4a07d888b257b984c25b52548dabe0ff0ab (patch) | |
tree | 5514fb4a7c6732d949d3c2e95958098ccd697f27 /apps/codecs/demac/libdemac.make | |
parent | 8ed7bda64cb98d491431fd130eb754c6320441a0 (diff) | |
download | rockbox-b1caf4a07d888b257b984c25b52548dabe0ff0ab.tar.gz rockbox-b1caf4a07d888b257b984c25b52548dabe0ff0ab.zip |
Use all available codec iram for reciprocal table in APE codec on ARMv4. Done by linking first with the table empty to determine free space, then sizing table to fill it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24507 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/demac/libdemac.make')
-rw-r--r-- | apps/codecs/demac/libdemac.make | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/apps/codecs/demac/libdemac.make b/apps/codecs/demac/libdemac.make index 5026fb1d95..dcbd35c6b1 100644 --- a/apps/codecs/demac/libdemac.make +++ b/apps/codecs/demac/libdemac.make | |||
@@ -12,6 +12,15 @@ DEMACLIB := $(CODECDIR)/libdemac.a | |||
12 | DEMACLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/demac/libdemac/SOURCES) | 12 | DEMACLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/demac/libdemac/SOURCES) |
13 | DEMACLIB_OBJ := $(call c2obj, $(DEMACLIB_SRC)) | 13 | DEMACLIB_OBJ := $(call c2obj, $(DEMACLIB_SRC)) |
14 | OTHER_SRC += $(DEMACLIB_SRC) | 14 | OTHER_SRC += $(DEMACLIB_SRC) |
15 | ifeq ($(CPU),arm) | ||
16 | OTHER_SRC += $(APPSDIR)/codecs/demac/libdemac/udiv32_arm-pre.S | ||
17 | endif | ||
18 | DEMACLIB_PRE := $(subst .a,-pre.a,$(DEMACLIB)) | ||
19 | DEMACLIB_OBJ_PRE := $(subst udiv32_arm.o,udiv32_arm-pre.o,$(DEMACLIB_OBJ)) | ||
20 | |||
21 | $(DEMACLIB_PRE): $(DEMACLIB_OBJ_PRE) | ||
22 | $(SILENT)$(shell rm -f $@) | ||
23 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | ||
15 | 24 | ||
16 | $(DEMACLIB): $(DEMACLIB_OBJ) | 25 | $(DEMACLIB): $(DEMACLIB_OBJ) |
17 | $(SILENT)$(shell rm -f $@) | 26 | $(SILENT)$(shell rm -f $@) |
@@ -20,6 +29,14 @@ $(DEMACLIB): $(DEMACLIB_OBJ) | |||
20 | DEMACFLAGS = $(filter-out -O%,$(CODECFLAGS)) | 29 | DEMACFLAGS = $(filter-out -O%,$(CODECFLAGS)) |
21 | DEMACFLAGS += -O3 | 30 | DEMACFLAGS += -O3 |
22 | 31 | ||
32 | $(CODECDIR)/ape_free_iram.h: $(CODECDIR)/ape-pre.map | ||
33 | $(call PRINTS,GEN $(@F))perl -an \ | ||
34 | -e 'if(/^PLUGIN_IRAM/){$$istart=hex($$F[1]);$$ilen=hex($$F[2])}' \ | ||
35 | -e 'if(/iend = /){$$iend=hex($$F[0]);}' \ | ||
36 | -e '}{if($$ilen){print"#define FREE_IRAM ".($$ilen+$$istart-$$iend)."\n";}' \ | ||
37 | $(CODECDIR)/ape-pre.map \ | ||
38 | > $@ | ||
39 | |||
23 | $(CODECDIR)/demac/%.o: $(ROOTDIR)/apps/codecs/demac/%.c | 40 | $(CODECDIR)/demac/%.o: $(ROOTDIR)/apps/codecs/demac/%.c |
24 | $(SILENT)mkdir -p $(dir $@) | 41 | $(SILENT)mkdir -p $(dir $@) |
25 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(DEMACFLAGS) -c $< -o $@ | 42 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(DEMACFLAGS) -c $< -o $@ |