summaryrefslogtreecommitdiff
path: root/apps/codecs/libmad/libmad.make
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2008-11-20 11:27:31 +0000
committerBjörn Stenberg <bjorn@haxx.se>2008-11-20 11:27:31 +0000
commitc6b3d38a156dd624760a8eb1bb374affd43b4f2a (patch)
tree493eba929e2396d86cf4f077709aa09fe172cd35 /apps/codecs/libmad/libmad.make
parentf66c30346783a400a029bedcd60ab67c81c34a07 (diff)
downloadrockbox-c6b3d38a156dd624760a8eb1bb374affd43b4f2a.tar.gz
rockbox-c6b3d38a156dd624760a8eb1bb374affd43b4f2a.zip
New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libmad/libmad.make')
-rw-r--r--apps/codecs/libmad/libmad.make54
1 files changed, 54 insertions, 0 deletions
diff --git a/apps/codecs/libmad/libmad.make b/apps/codecs/libmad/libmad.make
new file mode 100644
index 0000000000..f0334956c1
--- /dev/null
+++ b/apps/codecs/libmad/libmad.make
@@ -0,0 +1,54 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
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
14MADFLAGS = $(CODECFLAGS) -UDEBUG -DNDEBUG -I$(APPSDIR)/codecs/libmad
15MPEGMADFLAGS = $(MADFLAGS) -DMPEGPLAYER
16
17# libmad
18MADLIB := $(CODECDIR)/libmad.a
19MADLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libmad/SOURCES)
20MADLIB_OBJ := $(call c2obj, $(MADLIB_SRC))
21OTHER_SRC += $(MADLIB_SRC)
22
23$(MADLIB): $(MADLIB_OBJ)
24 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
25
26# libmad-mpeg
27MPEGMADLIB := $(CODECDIR)/libmad-mpeg.a
28MPEGMADLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libmad/SOURCES)
29MPEGMADLIB_OBJ := $(subst .c,.o,$(subst .S,.o,$(subst $(ROOTDIR)/apps/codecs/libmad,$(BUILDDIR)/apps/codecs/libmad-mpeg,$(MPEGMADLIB_SRC))))
30
31$(MPEGMADLIB): $(MPEGMADLIB_OBJ)
32 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
33
34# pattern rules
35
36$(CODECDIR)/libmad-mpeg/%.o : $(ROOTDIR)/apps/codecs/libmad/%.c
37 $(SILENT)mkdir -p $(dir $@)
38 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
39 $(CC) $(MPEGMADFLAGS) -c $< -o $@
40
41$(CODECDIR)/libmad-mpeg/%.o : $(ROOTDIR)/apps/codecs/libmad/%.S
42 $(SILENT)mkdir -p $(dir $@)
43 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
44 $(CC) $(MPEGMADFLAGS) -c $< -o $@
45
46$(CODECDIR)/libmad/%.o: $(ROOTDIR)/apps/codecs/libmad/%.c
47 $(SILENT)mkdir -p $(dir $@)
48 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
49 $(CC) $(MADFLAGS) -c $< -o $@
50
51$(CODECDIR)/libmad/%.o: $(ROOTDIR)/apps/codecs/libmad/%.S
52 $(SILENT)mkdir -p $(dir $@)
53 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
54 $(CC) $(MADFLAGS) -c $< -o $@