annotate Makefile @ 625:bb6a69f9d409 libavcodec

slow but accurate integer dct from IJG (should be ok with the LGPL as the old DCT is the fast integer DCT from IJG) per context DCT selection
author michaelni
date Thu, 29 Aug 2002 23:55:32 +0000
parents 92e99e506920
children e7b72c1dfa1b
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
571
0a9259126188 largefile support patch by Roy Sigurd Karlsbakk <roy at karlsbakk.net>
michaelni
parents: 539
diff changeset
10 CFLAGS= $(OPTFLAGS) -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
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 \
625
bb6a69f9d409 slow but accurate integer dct from IJG (should be ok with the LGPL as the old DCT is the fast integer DCT from IJG)
michaelni
parents: 623
diff changeset
14 mpegvideo.o h263.o jrevdct.o jfdctfst.o jfdctint.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 \
521
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents: 509
diff changeset
17 mpeg12.o h263dec.o svq1.o rv10.o mpegaudiodec.o pcm.o simple_idct.o \
612
c0005de2be59 new ratecontrol code
michaelni
parents: 607
diff changeset
18 ratecontrol.o adpcm.o eval.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)
586
54b1c94977d5 MVI optimizations for motion estimation.
mellum
parents: 573
diff changeset
65 OBJS += alpha/dsputil_alpha.o alpha/mpegvideo_alpha.o alpha/motion_est_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
539
8af95bc44ab9 Tweak Alpha compiler flags.
mellum
parents: 521
diff changeset
67 CFLAGS += -Wa,-mpca56 -finline-limit=8000 -fforce-addr -freduce-all-givs
214
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
623
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
70 ifeq ($(TARGET_ARCH_POWERPC),yes)
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
71 CFLAGS += -faltivec
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
72 OBJS += ppc/dsputil_altivec.o
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
73 endif
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
74
509
cab79946302f Implement put_pixels_clamped and add_pixels_clamped in Assembler. This
mellum
parents: 489
diff changeset
75 SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
76 OBJS := $(OBJS) $(ASM_OBJS)
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
77
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
78 LIB= libavcodec.a
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
79 ifeq ($(BUILD_SHARED),yes)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
80 SLIB= libavcodec.so
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
81 endif
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
82 TESTS= imgresample-test dct-test motion-test
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
83
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
84 all: $(LIB) $(SLIB)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
85
43
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
86 tests: apiexample cpuid_test $(TESTS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
87
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
88 $(LIB): $(OBJS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
89 rm -f $@
607
5762b2d659d2 darwin patches by Heliodoro Tammaro <helio at interactives dot org>
michaelni
parents: 603
diff changeset
90 $(AR) rcs $@ $(OBJS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
91
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
92 $(SLIB): $(OBJS)
572
5a06c3552026 BeOS patches by "shatty" <shatty at myrealbox.com>
michaelni
parents: 571
diff changeset
93 $(CC) $(SHFLAGS) -o $@ $(OBJS) $(EXTRALIBS)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
94
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
95 dsputil.o: dsputil.c dsputil.h
986e461dc072 Initial revision
glantau
parents:
diff changeset
96
986e461dc072 Initial revision
glantau
parents:
diff changeset
97 %.o: %.c
986e461dc072 Initial revision
glantau
parents:
diff changeset
98 $(CC) $(CFLAGS) -c -o $@ $<
986e461dc072 Initial revision
glantau
parents:
diff changeset
99
62
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
100 %.o: %.S
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
101 $(CC) $(CFLAGS) -c -o $@ $<
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
102
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
103 # depend only used by mplayer now
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
104 dep: depend
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
105
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
106 depend:
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
107 $(CC) -MM $(CFLAGS) $(SRCS) 1>.depend
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
108
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
109 clean:
343
9211a0c9466a * cleanup
kabi
parents: 340
diff changeset
110 rm -f *.o *~ .depend $(LIB) $(SLIB) *.so i386/*.o i386/*~ \
62
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
111 armv4l/*.o armv4l/*~ \
88
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
112 mlib/*.o mlib/*~ \
214
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
113 alpha/*.o alpha/*~ \
623
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
114 ppc/*.o ppc/*~ \
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
115 liba52/*.o liba52/*~ \
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
116 apiexample $(TESTS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
117
484
f8bbc8976247 in libavcodec/Makefile there is in line 110: "distclean: clean<binary char>"
arpi_esp
parents: 429
diff changeset
118 distclean: clean
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
119 rm -f Makefile.bak .depend
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
120
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
121 # api example program
986e461dc072 Initial revision
glantau
parents:
diff changeset
122 apiexample: apiexample.c $(LIB)
986e461dc072 Initial revision
glantau
parents:
diff changeset
123 $(CC) $(CFLAGS) -o $@ $< $(LIB) -lm
986e461dc072 Initial revision
glantau
parents:
diff changeset
124
43
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
125 # cpuid test
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
126 cpuid_test: i386/cputest.c
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
127 $(CC) $(CFLAGS) -D__TEST__ -o $@ $<
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
128
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
129 # testing progs
986e461dc072 Initial revision
glantau
parents:
diff changeset
130
986e461dc072 Initial revision
glantau
parents:
diff changeset
131 imgresample-test: imgresample.c
986e461dc072 Initial revision
glantau
parents:
diff changeset
132 $(CC) $(CFLAGS) -DTEST -o $@ $^
986e461dc072 Initial revision
glantau
parents:
diff changeset
133
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
134 dct-test: dct-test.o jfdctfst.o i386/fdct_mmx.o \
32
a524484f9adf added idct mmx
glantau
parents: 23
diff changeset
135 fdctref.o jrevdct.o i386/idct_mmx.o
607
5762b2d659d2 darwin patches by Heliodoro Tammaro <helio at interactives dot org>
michaelni
parents: 603
diff changeset
136 $(CC) -o $@ $^ -lm
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
137
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
138 motion-test: motion_test.o $(LIB)
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
139 $(CC) -o $@ $^
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
140
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
141 install: all
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
142 ifeq ($(BUILD_SHARED),yes)
603
442dede8795b patch by (Volker Moell <volker-ml at die-moells dot de>)
michaelni
parents: 586
diff changeset
143 install -d $(prefix)/lib
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
144 install -s -m 755 $(SLIB) $(prefix)/lib/libavcodec-$(VERSION).so
603
442dede8795b patch by (Volker Moell <volker-ml at die-moells dot de>)
michaelni
parents: 586
diff changeset
145 ln -sf libavcodec-$(VERSION).so $(prefix)/lib/libavcodec.so
442dede8795b patch by (Volker Moell <volker-ml at die-moells dot de>)
michaelni
parents: 586
diff changeset
146 ldconfig || true
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
147 mkdir -p $(prefix)/include/ffmpeg
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
148 install -m 644 avcodec.h $(prefix)/include/ffmpeg/avcodec.h
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
149 install -m 644 common.h $(prefix)/include/ffmpeg/common.h
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
150 endif
489
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
151
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
152 installlib: all
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
153 install -m 644 $(LIB) $(prefix)/lib
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
154 mkdir -p $(prefix)/include/ffmpeg
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
155 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
156 $(prefix)/include/ffmpeg
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
157
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
158 #
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
159 # 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
160 #
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
161 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
162 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
163 endif