summaryrefslogtreecommitdiff
path: root/apps/codecs/codecs.make
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2011-08-18 16:33:41 +0000
committerNils Wallménius <nils@rockbox.org>2011-08-18 16:33:41 +0000
commitb086458e4e1908878161ab5b84f287d5d726497b (patch)
treee4ff33e7ef1f6c5cd1b956ec69881c554f74307f /apps/codecs/codecs.make
parent46d7fb9b4a59dcebf9b68c38bc77b2c0f0761d33 (diff)
downloadrockbox-b086458e4e1908878161ab5b84f287d5d726497b.tar.gz
rockbox-b086458e4e1908878161ab5b84f287d5d726497b.zip
FS#12231
Centralize the selection of codec compilation flags to codec.make to avoid having to duplicate the per cpu selection logic and the build rule in the individual codec lib make files and make tweaking easier. The two special cases, libmad and libspeex were left alone. I plan to introduce a var for arm generation so that appropriate flags can be selected per generation as benchmarking results have shown that different arm arches might have different optimal flags. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30330 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/codecs.make')
-rw-r--r--apps/codecs/codecs.make58
1 files changed, 58 insertions, 0 deletions
diff --git a/apps/codecs/codecs.make b/apps/codecs/codecs.make
index 19ff60ba3a..1644ff0e91 100644
--- a/apps/codecs/codecs.make
+++ b/apps/codecs/codecs.make
@@ -55,6 +55,64 @@ include $(APPSDIR)/codecs/libgme/libkss.make
55CODECFLAGS = $(CFLAGS) -fstrict-aliasing -I$(APPSDIR)/codecs \ 55CODECFLAGS = $(CFLAGS) -fstrict-aliasing -I$(APPSDIR)/codecs \
56 -I$(APPSDIR)/codecs/lib -DCODEC 56 -I$(APPSDIR)/codecs/lib -DCODEC
57 57
58# set CODECFLAGS per codec lib, since gcc takes the last -Ox and the last
59# in a -ffoo -fno-foo pair, there is no need to filter them out
60$(A52LIB) : CODECFLAGS += -O1
61$(ALACLIB) : CODECFLAGS += -O1
62$(ASAPLIB) : CODECFLAGS += -O1
63$(ASFLIB) : CODECFLAGS += -O2
64$(ATRACLIB) : CODECFLAGS += -O1
65$(AYLIB) : CODECFLAGS += -fno-strict-aliasing -O2
66$(COOKLIB): CODECFLAGS += -O1
67$(DEMACLIB) : CODECFLAGS += -O3
68$(FAADLIB) : CODECFLAGS += -O2
69$(FFMPEGFLACLIB) : CODECFLAGS += -O2
70$(GBSLIB) : CODECFLAGS += -fno-strict-aliasing -O2
71$(HESLIB) : CODECFLAGS += -fno-strict-aliasing -O2
72$(KSSLIB) : CODECFLAGS += -fno-strict-aliasing -O2
73$(M4ALIB) : CODECFLAGS += -O3
74$(MUSEPACKLIB) : CODECFLAGS += -O1
75$(NSFLIB) : CODECFLAGS += -fno-strict-aliasing -O2
76$(PCMSLIB) : CODECFLAGS += -O1
77$(RMLIB) : CODECFLAGS += -O3
78$(SGCLIB) : CODECFLAGS += -fno-strict-aliasing -O2
79$(SPCLIB) : CODECFLAGS += -fno-strict-aliasing -O1
80$(TREMORLIB) : CODECFLAGS += -O2
81$(TTALIB) : CODECFLAGS += -O2
82$(VGMLIB) : CODECFLAGS += -fno-strict-aliasing -O2
83$(WAVPACKLIB) : CODECFLAGS += -O1
84$(WMALIB) : CODECFLAGS += -O2
85$(WMAPROLIB) : CODECFLAGS += -O1
86$(WMAVOICELIB) : CODECFLAGS += -O1
87
88# fine-tuning of CODECFLAGS per cpu arch
89ifeq ($(CPU),arm)
90 # redo per arm generation
91 $(ALACLIB) : CODECFLAGS += -O2
92 $(AYLIB) : CODECFLAGS += -fno-strict-aliasing -O3
93 $(GBSLIB) : CODECFLAGS += -fno-strict-aliasing -O3
94 $(HESLIB) : CODECFLAGS += -fno-strict-aliasing -O3
95 $(KSSLIB) : CODECFLAGS += -fno-strict-aliasing -O3
96 $(NSFLIB) : CODECFLAGS += -fno-strict-aliasing -O3
97 $(SGCLIB) : CODECFLAGS += -fno-strict-aliasing -O3
98 $(VGMLIB) : CODECFLAGS += -fno-strict-aliasing -O3
99 $(WAVPACKLIB) : CODECFLAGS += -O3
100else ifeq ($(CPU),coldfire)
101 $(A52LIB) : CODECFLAGS += -O2
102 $(ASFLIB) : CODECFLAGS += -O3
103 $(ATRACLIB) : CODECFLAGS += -O2
104 $(COOKLIB): CODECFLAGS += -O2
105 $(DEMACLIB) : CODECFLAGS += -O2
106 $(TREMORLIB) : CODECFLAGS += -O3
107 $(WMAPROLIB) : CODECFLAGS += -O3
108 $(WMAVOICELIB) : CODECFLAGS += -O2
109endif
110
111ifeq ($(MEMORYSIZE),2)
112 $(ASFLIB) : CODECFLAGS += -Os
113 $(WMALIB) : CODECFLAGS += -Os
114endif
115
58ifndef APP_TYPE 116ifndef APP_TYPE
59 CONFIGFILE := $(FIRMDIR)/export/config/$(MODELNAME).h 117 CONFIGFILE := $(FIRMDIR)/export/config/$(MODELNAME).h
60 CODEC_LDS := $(APPSDIR)/plugins/plugin.lds # codecs and plugins use same file 118 CODEC_LDS := $(APPSDIR)/plugins/plugin.lds # codecs and plugins use same file