annotate mp3lib/Makefile @ 19885:7f9b2b26e905

Replace silly compilation shell scripts by a simple Makefile.
author diego
date Mon, 18 Sep 2006 14:27:35 +0000
parents 078479215e54
children 565df9b68536
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1
1258
50b8a3a5eeed Portability and old binutils support
nick
parents: 1245
diff changeset
2 include ../config.mak
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3
1270
8a9fa696b77d Minor cleanups
nick
parents: 1258
diff changeset
4 SRCS = sr1.c
8a9fa696b77d Minor cleanups
nick
parents: 1258
diff changeset
5 OBJS = sr1.o
866
91087aaea5c7 using gcc -MM instead of makedepend, make OBJS from SRCS where possible
arpi_esp
parents: 826
diff changeset
6 # OBJS = $(SRCS:.c,.s=.o)
2450
f51307170f69 MIPS support by oliver.schoenbrunner@jku.at
arpi
parents: 1461
diff changeset
7 ifeq ($(TARGET_ARCH_SGI_MIPS),yes)
f51307170f69 MIPS support by oliver.schoenbrunner@jku.at
arpi
parents: 1461
diff changeset
8 OPTFLAGS := $(OPTFLAGS:-O4=-O0)
f51307170f69 MIPS support by oliver.schoenbrunner@jku.at
arpi
parents: 1461
diff changeset
9 endif
19037
7a9a9748e045 OPTFLAGS already includes EXTRA_INC.
diego
parents: 18932
diff changeset
10 CFLAGS = -I.. $(OPTFLAGS)
1258
50b8a3a5eeed Portability and old binutils support
nick
parents: 1245
diff changeset
11 ifeq ($(TARGET_ARCH_X86),yes)
4262
ae847143d1d7 Using cpudetect code instead of d_cpu.s
nick
parents: 4244
diff changeset
12 SRCS += decode_i586.c
ae847143d1d7 Using cpudetect code instead of d_cpu.s
nick
parents: 4244
diff changeset
13 OBJS += decode_i586.o
19131
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
14 ifeq ($(TARGET_MMX),yes)
4165
nick
parents: 4148
diff changeset
15 SRCS += decode_MMX.c dct64_MMX.c tabinit_MMX.c
1258
50b8a3a5eeed Portability and old binutils support
nick
parents: 1245
diff changeset
16 OBJS += decode_MMX.o dct64_MMX.o tabinit_MMX.o
19131
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
17 endif
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
18 ifeq ($(TARGET_3DNOW),yes)
10322
9163bdb578a6 moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents: 9771
diff changeset
19 SRCS += dct36_3dnow.c dct64_3dnow.c
1258
50b8a3a5eeed Portability and old binutils support
nick
parents: 1245
diff changeset
20 OBJS += dct36_3dnow.o dct64_3dnow.o
19131
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
21 endif
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
22 ifeq ($(TARGET_3DNOWEX),yes)
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
23 SRCS += dct36_k7.c dct64_k7.c
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
24 OBJS += dct36_k7.o dct64_k7.o
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
25 endif
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
26 ifeq ($(TARGET_SSE),yes)
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
27 SRCS += dct64_sse.c
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
28 OBJS += dct64_sse.o
078479215e54 do not compile mmx/sse/3dnow code if not available
rfelker
parents: 19037
diff changeset
29 endif
1258
50b8a3a5eeed Portability and old binutils support
nick
parents: 1245
diff changeset
30 endif
9002
60d144a16088 An altivec-optimized DCT64 for mp3lib
arpi
parents: 8543
diff changeset
31 ifeq ($(TARGET_ARCH_POWERPC),yes)
60d144a16088 An altivec-optimized DCT64 for mp3lib
arpi
parents: 8543
diff changeset
32 ifeq ($(TARGET_ALTIVEC),yes)
60d144a16088 An altivec-optimized DCT64 for mp3lib
arpi
parents: 8543
diff changeset
33 SRCS += dct64_altivec.c
60d144a16088 An altivec-optimized DCT64 for mp3lib
arpi
parents: 8543
diff changeset
34 OBJS += dct64_altivec.o
9122
5ba896a38d75 The two attached patches *should* allow for proper
arpi
parents: 9002
diff changeset
35 ifeq ($(TARGET_OS),Darwin)
9002
60d144a16088 An altivec-optimized DCT64 for mp3lib
arpi
parents: 8543
diff changeset
36 CFLAGS += -faltivec
9122
5ba896a38d75 The two attached patches *should* allow for proper
arpi
parents: 9002
diff changeset
37 else
5ba896a38d75 The two attached patches *should* allow for proper
arpi
parents: 9002
diff changeset
38 CFLAGS += -maltivec -mabi=altivec
5ba896a38d75 The two attached patches *should* allow for proper
arpi
parents: 9002
diff changeset
39 endif
9002
60d144a16088 An altivec-optimized DCT64 for mp3lib
arpi
parents: 8543
diff changeset
40 endif
60d144a16088 An altivec-optimized DCT64 for mp3lib
arpi
parents: 8543
diff changeset
41 endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43 .SUFFIXES: .c .o
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45 # .PHONY: all clean
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46
8543
60fe896e437c decode_i586.c version uses %ebp for its own use, so:
arpi
parents: 7234
diff changeset
47 all: libMP3.a
60fe896e437c decode_i586.c version uses %ebp for its own use, so:
arpi
parents: 7234
diff changeset
48
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49 .c.o:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 $(CC) -c $(CFLAGS) -o $@ $<
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51
8543
60fe896e437c decode_i586.c version uses %ebp for its own use, so:
arpi
parents: 7234
diff changeset
52 decode_i586.o: decode_i586.c
60fe896e437c decode_i586.c version uses %ebp for its own use, so:
arpi
parents: 7234
diff changeset
53 $(CC) -c $(CFLAGS) -fomit-frame-pointer -o $@ $<
60fe896e437c decode_i586.c version uses %ebp for its own use, so:
arpi
parents: 7234
diff changeset
54
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
55 .s.o:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56 $(CC) -c $(CFLAGS) -o $@ $<
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57
1010
6d3a6d42c831 dependency stuff fixed
arpi_esp
parents: 866
diff changeset
58 libMP3.a: $(OBJS)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59 $(AR) r libMP3.a $(OBJS)
12632
80973aa180a5 ranlib cleanup by Dan Christiansen
alex
parents: 11246
diff changeset
60 $(RANLIB) libMP3.a
80973aa180a5 ranlib cleanup by Dan Christiansen
alex
parents: 11246
diff changeset
61
789
989b921361d0 test2 added for playback test, testreanmed to test1 to make Atmosfear happy...
arpi_esp
parents: 788
diff changeset
62 test1: libMP3.a test.c
7234
9edd9060e955 make test1 && make test2 fixed
arpi
parents: 7148
diff changeset
63 $(CC) $(CFLAGS) test.c ../libvo/aclib.c -o test1 -I.. ./libMP3.a ../mp_msg-mencoder.o ../cpudetect.o -lm
789
989b921361d0 test2 added for playback test, testreanmed to test1 to make Atmosfear happy...
arpi_esp
parents: 788
diff changeset
64
989b921361d0 test2 added for playback test, testreanmed to test1 to make Atmosfear happy...
arpi_esp
parents: 788
diff changeset
65 test2: libMP3.a test2.c
7234
9edd9060e955 make test1 && make test2 fixed
arpi
parents: 7148
diff changeset
66 $(CC) $(CFLAGS) test2.c ../libvo/aclib.c -o test2 -I.. ./libMP3.a ../mp_msg-mencoder.o ../cpudetect.o -lm
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents: 26
diff changeset
67
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 clean:
11241
c8b84bb55089 removed obsoleted (or never ending) code
alex
parents: 10322
diff changeset
69 rm -f *~ *.o *.a test1 test2
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
70
17488
ce1ba8fd57e7 Make clean/distclean behave uniformly in all directories.
diego
parents: 13787
diff changeset
71 distclean: clean
ce1ba8fd57e7 Make clean/distclean behave uniformly in all directories.
diego
parents: 13787
diff changeset
72 rm -f .depend
26
8ee4acebff58 New dependency system
arpi_esp
parents: 1
diff changeset
73
8ee4acebff58 New dependency system
arpi_esp
parents: 1
diff changeset
74 dep: depend
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
75
1010
6d3a6d42c831 dependency stuff fixed
arpi_esp
parents: 866
diff changeset
76 depend:
866
91087aaea5c7 using gcc -MM instead of makedepend, make OBJS from SRCS where possible
arpi_esp
parents: 826
diff changeset
77 $(CC) -MM $(CFLAGS) $(SRCS) 1>.depend
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
78
26
8ee4acebff58 New dependency system
arpi_esp
parents: 1
diff changeset
79 #
8ee4acebff58 New dependency system
arpi_esp
parents: 1
diff changeset
80 # include dependency files if they exist
8ee4acebff58 New dependency system
arpi_esp
parents: 1
diff changeset
81 #
8ee4acebff58 New dependency system
arpi_esp
parents: 1
diff changeset
82 ifneq ($(wildcard .depend),)
8ee4acebff58 New dependency system
arpi_esp
parents: 1
diff changeset
83 include .depend
8ee4acebff58 New dependency system
arpi_esp
parents: 1
diff changeset
84 endif