Index: apps/codecs/libtta/libtta.make
===================================================================
--- apps/codecs/libtta/libtta.make	(revision 27255)
+++ apps/codecs/libtta/libtta.make	(arbetskopia)
@@ -17,8 +17,8 @@
 	$(SILENT)$(shell rm -f $@)
 	$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
 
-TTAFLAGS = $(filter-out -O%,$(CODECFLAGS))
-TTAFLAGS += -O3 -funroll-loops
+TTAFLAGS = $(filter-out -O%,$(CODECFLAGS)) -funroll-loops
+TTAFLAGS += -O2
 
 $(CODECDIR)/libtta/%.o: $(ROOTDIR)/apps/codecs/libtta/%.c
 	$(SILENT)mkdir -p $(dir $@)
Index: apps/codecs/libfaad/libfaad.make
===================================================================
--- apps/codecs/libfaad/libfaad.make	(revision 27237)
+++ apps/codecs/libfaad/libfaad.make	(arbetskopia)
@@ -17,3 +17,16 @@
 $(FAADLIB): $(FAADLIB_OBJ)
 	$(SILENT)$(shell rm -f $@)
 	$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+FAADFLAGS = -I$(APPSDIR)/codecs/libfaad $(filter-out -O%,$(CODECFLAGS))
+
+ifeq ($(CPU),coldfire)
+	FAADFLAGS += -O1
+else
+	FAADFLAGS += -O3
+endif
+
+$(CODECDIR)/libfaad/%.o: $(ROOTDIR)/apps/codecs/libfaad/%.c
+	$(SILENT)mkdir -p $(dir $@)
+	$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(FAADFLAGS) -c $< -o $@
+
Index: apps/codecs/libcook/libcook.make
===================================================================
--- apps/codecs/libcook/libcook.make	(revision 27237)
+++ apps/codecs/libcook/libcook.make	(arbetskopia)
@@ -15,4 +15,17 @@
 
 $(COOKLIB): $(COOKLIB_OBJ)
 	$(SILENT)$(shell rm -f $@)
-	$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
\ No newline at end of file
+	$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+COOKFLAGS = -I$(APPSDIR)/codecs/libcook $(filter-out -O%,$(CODECFLAGS))
+
+ifeq ($(CPU),coldfire)
+	COOKFLAGS += -O2
+else
+	COOKFLAGS += -O1
+endif
+
+$(CODECDIR)/libcook/%.o: $(ROOTDIR)/apps/codecs/libcook/%.c
+	$(SILENT)mkdir -p $(dir $@)
+	$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(COOKFLAGS) -c $< -o $@
+
Index: apps/codecs/lib/libcodec.make
===================================================================
--- apps/codecs/lib/libcodec.make	(revision 27237)
+++ apps/codecs/lib/libcodec.make	(arbetskopia)
@@ -16,8 +16,16 @@
 	$(SILENT)$(shell rm -f $@)
 	$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
 
-CODECLIBFLAGS = $(CODECFLAGS) -ffunction-sections
+CODECLIBFLAGS = $(filter-out -O%,$(CODECFLAGS)) -ffunction-sections
 
+# O2 gives the best speed for the mdct lib for coldfire while O1 gives the
+# best speed for arm 
+ifeq ($(CPU),coldfire)
+	CODECLIBFLAGS += -O2
+else
+	CODECLIBFLAGS += -O1
+endif
+
 $(CODECDIR)/lib/%.o: $(ROOTDIR)/apps/codecs/lib/%.c
 	$(SILENT)mkdir -p $(dir $@)
 	$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) \
Index: apps/codecs/libwma/libwma.make
===================================================================
--- apps/codecs/libwma/libwma.make	(revision 27237)
+++ apps/codecs/libwma/libwma.make	(arbetskopia)
@@ -16,3 +16,16 @@
 $(WMALIB): $(WMALIB_OBJ)
 	$(SILENT)$(shell rm -f $@)
 	$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+WMAFLAGS = -I$(APPSDIR)/codecs/libwma $(filter-out -O%,$(CODECFLAGS))
+
+ifeq ($(CPU),coldfire)
+	WMAFLAGS += -O3
+else
+	WMAFLAGS += -O2
+endif
+
+$(CODECDIR)/libwma/%.o: $(ROOTDIR)/apps/codecs/libwma/%.c
+	$(SILENT)mkdir -p $(dir $@)
+	$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(WMAFLAGS) -c $< -o $@
+
Index: apps/codecs/liba52/liba52.make
===================================================================
--- apps/codecs/liba52/liba52.make	(revision 27237)
+++ apps/codecs/liba52/liba52.make	(arbetskopia)
@@ -16,3 +16,16 @@
 $(A52LIB): $(A52LIB_OBJ)
 	$(SILENT)$(shell rm -f $@)
 	$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+A52FLAGS = -I$(APPSDIR)/codecs/liba52 $(filter-out -O%,$(CODECFLAGS))
+
+ifeq ($(CPU),coldfire)
+	A52FLAGS += -O2
+else
+	A52FLAGS += -O1
+endif
+
+$(CODECDIR)/liba52/%.o: $(ROOTDIR)/apps/codecs/liba52/%.c
+	$(SILENT)mkdir -p $(dir $@)
+	$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(A52FLAGS) -c $< -o $@
+
Index: apps/codecs/libwavpack/libwavpack.make
===================================================================
--- apps/codecs/libwavpack/libwavpack.make	(revision 27237)
+++ apps/codecs/libwavpack/libwavpack.make	(arbetskopia)
@@ -13,8 +13,8 @@
 WAVPACKLIB_OBJ := $(call c2obj, $(WAVPACKLIB_SRC))
 OTHER_SRC += $(WAVPACKLIB_SRC)
 
-WAVPACKFLAGS = -I$(APPSDIR)/codecs/libwavpack $(filter-out -O%,$(CODECFLAGS)) 
-WAVPACKFLAGS += -O2
+WAVPACKFLAGS = -I$(APPSDIR)/codecs/libwavpack $(filter-out -O%,$(CODECFLAGS))
+WAVPACKFLAGS += -O3
 
 $(WAVPACKLIB): $(WAVPACKLIB_OBJ)
 	$(SILENT)$(shell rm -f $@)
Index: apps/codecs/libalac/libalac.make
===================================================================
--- apps/codecs/libalac/libalac.make	(revision 27237)
+++ apps/codecs/libalac/libalac.make	(arbetskopia)
@@ -18,8 +18,13 @@
 	$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
 
 ALACFLAGS = $(filter-out -O%,$(CODECFLAGS))
-ALACFLAGS += -O3
 
+ifeq ($(CPU),arm)
+	ALACFLAGS += -O2
+else
+	ALACFLAGS += -O3
+endif
+
 $(CODECDIR)/libalac/%.o: $(ROOTDIR)/apps/codecs/libalac/%.c
 	$(SILENT)mkdir -p $(dir $@)
 	$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(ALACFLAGS) -c $< -o $@
