annotate Makefile @ 509:cab79946302f libavcodec

Implement put_pixels_clamped and add_pixels_clamped in Assembler. This allows better scheduling of the memory accesses, and is portable among all compilers.
author mellum
date Mon, 01 Jul 2002 04:26:07 +0000
parents b9fcdf9f4420
children 9c66b5183ab3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
395
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
1 #
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
2 # libavcodec Makefile
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
3 # (c) 2000, 2001, 2002 Fabrice Bellard
395
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
4 #
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
5 include ../config.mak
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
6
395
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
7 VPATH=$(SRC_PATH)/libavcodec
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
8
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
9 # NOTE: -I.. is needed to include config.h
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
10 CFLAGS= $(OPTFLAGS) -Wall -g -DHAVE_AV_CONFIG_H -I..
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
11 LDFLAGS= -g
986e461dc072 Initial revision
glantau
parents:
diff changeset
12
489
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
13 OBJS= common.o utils.o mem.o allcodecs.o \
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
14 mpegvideo.o h263.o jrevdct.o jfdctfst.o \
23
1e131bc21101 added MJPEG decoder, renamed mjpegenc.c to mjpeg.c
glantau
parents: 22
diff changeset
15 mpegaudio.o ac3enc.o mjpeg.o resample.o dsputil.o \
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
16 motion_est.o imgconvert.o imgresample.o msmpeg4.o \
329
5cc47d0ba53e fixed ratecontrol & b-frames
michaelni
parents: 258
diff changeset
17 mpeg12.o h263dec.o rv10.o mpegaudiodec.o pcm.o simple_idct.o \
5cc47d0ba53e fixed ratecontrol & b-frames
michaelni
parents: 258
diff changeset
18 ratecontrol.o
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
19 ASM_OBJS=
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
20
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
21 # currently using liba52 for ac3 decoding
3
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
22 ifeq ($(CONFIG_AC3),yes)
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
23 OBJS+= a52dec.o
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
24
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
25 # using builtin liba52 or runtime linked liba52.so.0
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
26 ifneq ($(CONFIG_A52BIN),yes)
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
27 OBJS+= liba52/bit_allocate.o liba52/bitstream.o liba52/downmix.o \
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
28 liba52/imdct.o liba52/parse.o
3
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
29 endif
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
30 endif
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
31
258
9c975237ec64 - Added MP3 encoding through libmp3lame contributed by Lennert Buytenhek.
pulento
parents: 252
diff changeset
32 ifeq ($(CONFIG_MP3LAME),yes)
9c975237ec64 - Added MP3 encoding through libmp3lame contributed by Lennert Buytenhek.
pulento
parents: 252
diff changeset
33 OBJS += mp3lameaudio.o
348
ae9e9af0b627 * by Thomas Sailer:
kabi
parents: 343
diff changeset
34 EXTRALIBS += -lmp3lame
258
9c975237ec64 - Added MP3 encoding through libmp3lame contributed by Lennert Buytenhek.
pulento
parents: 252
diff changeset
35 endif
9c975237ec64 - Added MP3 encoding through libmp3lame contributed by Lennert Buytenhek.
pulento
parents: 252
diff changeset
36
252
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
37 ifeq ($(TARGET_GPROF),yes)
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
38 CFLAGS+=-p
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
39 LDFLAGS+=-p
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
40 endif
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
41
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
42 # i386 mmx specific stuff
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
43 ifeq ($(TARGET_MMX),yes)
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
44 OBJS += i386/fdct_mmx.o i386/cputest.o \
32
a524484f9adf added idct mmx
glantau
parents: 23
diff changeset
45 i386/dsputil_mmx.o i386/mpegvideo_mmx.o \
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
46 i386/idct_mmx.o i386/motion_est_mmx.o \
174
ac5075a55488 new IDCT code by Michael Niedermayer (michaelni@gmx.at) - #define SIMPLE_IDCT to enable
arpi_esp
parents: 138
diff changeset
47 i386/simple_idct_mmx.o
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
48 endif
986e461dc072 Initial revision
glantau
parents:
diff changeset
49
62
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
50 # armv4l specific stuff
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
51 ifeq ($(TARGET_ARCH_ARMV4L),yes)
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
52 ASM_OBJS += armv4l/jrevdct_arm.o
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
53 OBJS += armv4l/dsputil_arm.o
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
54 endif
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
55
88
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
56 # sun mediaLib specific stuff
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
57 # currently only works when libavcodec is used in mplayer
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
58 ifeq ($(HAVE_MLIB),yes)
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
59 OBJS += mlib/dsputil_mlib.o
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
60 CFLAGS += $(MLIB_INC)
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
61 endif
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
62
214
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
63 # alpha specific stuff
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
64 ifeq ($(TARGET_ARCH_ALPHA),yes)
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
65 OBJS += alpha/dsputil_alpha.o alpha/mpegvideo_alpha.o
509
cab79946302f Implement put_pixels_clamped and add_pixels_clamped in Assembler. This
mellum
parents: 489
diff changeset
66 ASM_OBJS += alpha/dsputil_alpha_asm.o
214
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
67 CFLAGS += -Wa,-mpca56
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
68 endif
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
69
509
cab79946302f Implement put_pixels_clamped and add_pixels_clamped in Assembler. This
mellum
parents: 489
diff changeset
70 SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
71 OBJS := $(OBJS) $(ASM_OBJS)
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
72
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
73 LIB= libavcodec.a
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
74 ifeq ($(BUILD_SHARED),yes)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
75 SLIB= libavcodec.so
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
76 endif
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
77 TESTS= imgresample-test dct-test motion-test
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
78
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
79 all: $(LIB) $(SLIB)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
80
43
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
81 tests: apiexample cpuid_test $(TESTS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
82
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
83 $(LIB): $(OBJS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
84 rm -f $@
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
85 $(AR) rc $@ $(OBJS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
86
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
87 $(SLIB): $(OBJS)
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
88 $(CC) -shared -o $@ $(OBJS) $(EXTRALIBS)
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
89
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
90 dsputil.o: dsputil.c dsputil.h
986e461dc072 Initial revision
glantau
parents:
diff changeset
91
986e461dc072 Initial revision
glantau
parents:
diff changeset
92 %.o: %.c
986e461dc072 Initial revision
glantau
parents:
diff changeset
93 $(CC) $(CFLAGS) -c -o $@ $<
986e461dc072 Initial revision
glantau
parents:
diff changeset
94
62
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
95 %.o: %.S
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
96 $(CC) $(CFLAGS) -c -o $@ $<
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
97
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
98 # depend only used by mplayer now
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
99 dep: depend
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
100
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
101 depend:
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
102 $(CC) -MM $(CFLAGS) $(SRCS) 1>.depend
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
103
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
104 clean:
343
9211a0c9466a * cleanup
kabi
parents: 340
diff changeset
105 rm -f *.o *~ .depend $(LIB) $(SLIB) *.so i386/*.o i386/*~ \
62
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
106 armv4l/*.o armv4l/*~ \
88
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
107 mlib/*.o mlib/*~ \
214
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
108 alpha/*.o alpha/*~ \
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
109 liba52/*.o liba52/*~ \
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
110 apiexample $(TESTS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
111
484
f8bbc8976247 in libavcodec/Makefile there is in line 110: "distclean: clean<binary char>"
arpi_esp
parents: 429
diff changeset
112 distclean: clean
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
113 rm -f Makefile.bak .depend
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
114
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
115 # api example program
986e461dc072 Initial revision
glantau
parents:
diff changeset
116 apiexample: apiexample.c $(LIB)
986e461dc072 Initial revision
glantau
parents:
diff changeset
117 $(CC) $(CFLAGS) -o $@ $< $(LIB) -lm
986e461dc072 Initial revision
glantau
parents:
diff changeset
118
43
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
119 # cpuid test
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
120 cpuid_test: i386/cputest.c
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
121 $(CC) $(CFLAGS) -D__TEST__ -o $@ $<
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
122
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
123 # testing progs
986e461dc072 Initial revision
glantau
parents:
diff changeset
124
986e461dc072 Initial revision
glantau
parents:
diff changeset
125 imgresample-test: imgresample.c
986e461dc072 Initial revision
glantau
parents:
diff changeset
126 $(CC) $(CFLAGS) -DTEST -o $@ $^
986e461dc072 Initial revision
glantau
parents:
diff changeset
127
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
128 dct-test: dct-test.o jfdctfst.o i386/fdct_mmx.o \
32
a524484f9adf added idct mmx
glantau
parents: 23
diff changeset
129 fdctref.o jrevdct.o i386/idct_mmx.o
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
130 $(CC) -o $@ $^
3
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
131
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
132 motion-test: motion_test.o $(LIB)
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
133 $(CC) -o $@ $^
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
134
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
135 install: all
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
136 ifeq ($(BUILD_SHARED),yes)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
137 install -s -m 755 $(SLIB) $(prefix)/lib/libavcodec-$(VERSION).so
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
138 ln -sf $(prefix)/lib/libavcodec-$(VERSION).so $(prefix)/lib/libavcodec.so
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
139 ldconfig
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
140 mkdir -p $(prefix)/include/ffmpeg
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
141 install -m 644 avcodec.h $(prefix)/include/ffmpeg/avcodec.h
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
142 install -m 644 common.h $(prefix)/include/ffmpeg/common.h
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
143 endif
489
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
144
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
145 installlib: all
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
146 install -m 644 $(LIB) $(prefix)/lib
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
147 mkdir -p $(prefix)/include/ffmpeg
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
148 install -m 644 $(SRC_PATH)/libavcodec/avcodec.h $(SRC_PATH)/libavcodec/common.h \
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
149 $(prefix)/include/ffmpeg
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
150
3
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
151 #
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
152 # include dependency files if they exist
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
153 #
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
154 ifneq ($(wildcard .depend),)
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
155 include .depend
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
156 endif