summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libmad/libmad.make
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rbcodec/codecs/libmad/libmad.make')
-rw-r--r--lib/rbcodec/codecs/libmad/libmad.make66
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/libmad/libmad.make b/lib/rbcodec/codecs/libmad/libmad.make
new file mode 100644
index 0000000000..2a8c7b220f
--- /dev/null
+++ b/lib/rbcodec/codecs/libmad/libmad.make
@@ -0,0 +1,66 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10# we need to build two different mad libraries
11# (one for codec, one for mpegplayer)
12# so a little trickery is necessary
13
14# Extract optimization level ('-O') from compile flags. Will be set later.
15MADFLAGS = $(filter-out -O%,$(CODECFLAGS)) -I$(RBCODECLIB_DIR)/codecs/libmad
16MADFLAGS += -UDEBUG -DNDEBUG -DHAVE_LIMITS_H
17
18# libmad is faster on ARM-targets with -O1 than -O2
19ifeq ($(ARCH),arch_arm)
20 MADFLAGS += -O1
21else
22 MADFLAGS += -O2
23endif
24
25# MPEGplayer
26MPEGMADFLAGS = $(MADFLAGS) -DMPEGPLAYER
27
28# libmad
29MADLIB := $(CODECDIR)/libmad.a
30MADLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/codecs/libmad/SOURCES)
31MADLIB_OBJ := $(call c2obj, $(MADLIB_SRC))
32OTHER_SRC += $(MADLIB_SRC)
33
34$(MADLIB): $(MADLIB_OBJ)
35 $(SILENT)$(shell rm -f $@)
36 $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
37
38# libmad-mpeg
39MPEGMADLIB := $(CODECDIR)/libmad-mpeg.a
40MPEGMADLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/codecs/libmad/SOURCES)
41MPEGMADLIB_OBJ := $(addsuffix .o,$(basename $(subst $(RBCODECLIB_DIR)/codecs/libmad,$(RBCODEC_BLD)/codecs/libmad-mpeg,$(MPEGMADLIB_SRC))))
42
43$(MPEGMADLIB): $(MPEGMADLIB_OBJ)
44 $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
45
46# pattern rules
47
48$(CODECDIR)/libmad-mpeg/%.o : $(RBCODECLIB_DIR)/codecs/libmad/%.c
49 $(SILENT)mkdir -p $(dir $@)
50 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
51 $(CC) $(MPEGMADFLAGS) -c $< -o $@
52
53$(CODECDIR)/libmad-mpeg/%.o : $(RBCODECLIB_DIR)/codecs/libmad/%.S
54 $(SILENT)mkdir -p $(dir $@)
55 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
56 $(CC) $(MPEGMADFLAGS) $(ASMFLAGS) -c $< -o $@
57
58$(CODECDIR)/libmad/%.o: $(RBCODECLIB_DIR)/codecs/libmad/%.c
59 $(SILENT)mkdir -p $(dir $@)
60 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
61 $(CC) $(MADFLAGS) -c $< -o $@
62
63$(CODECDIR)/libmad/%.o: $(RBCODECLIB_DIR)/codecs/libmad/%.S
64 $(SILENT)mkdir -p $(dir $@)
65 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
66 $(CC) $(MADFLAGS) $(ASMFLAGS) -c $< -o $@