]> git.pld-linux.org Git - packages/ffmpeg.git/blame - ffmpeg-libtool.patch
- [fix] link with shared pp.
[packages/ffmpeg.git] / ffmpeg-libtool.patch
CommitLineData
ff0ca760
JB
1--- ffmpeg-0.4.9-pre1/libavcodec/libpostproc/Makefile.orig 2003-05-11 13:26:35.000000000 +0200
2+++ ffmpeg-0.4.9-pre1/libavcodec/libpostproc/Makefile 2004-10-20 00:06:07.937943400 +0200
3@@ -1,14 +1,9 @@
2a60eebe
JB
4
5 include ../../config.mak
6
7-ifeq ($(SHARED_PP),yes)
8-SPPLIB = libpostproc.so
9-SPPVERSION = 0.0.1
10-endif
11-PPLIB = libpostproc.a
12+PPLIB = libpostproc.la
13
14-PPOBJS=postprocess.o
15-SPPOBJS=postprocess_pic.o
16+PPOBJS=postprocess.lo
17
05e1eb2f 18 CFLAGS = $(OPTFLAGS) $(MLIB_INC) -I. -I.. $(EXTRA_INC)
2a60eebe 19 # -I/usr/X11R6/include/
ff0ca760 20@@ -17,10 +12,10 @@
2a60eebe
JB
21
22 # .PHONY: all clean
23
24-.c.o:
25- $(CC) -c $(CFLAGS) -I.. -I../.. -o $@ $<
05e1eb2f 26+%.lo: %.c
2a60eebe
JB
27+ libtool --mode=compile $(CC) -c $(CFLAGS) -I.. -I../.. -o $@ $<
28
29-all: $(SWSLIB) $(PPLIB) $(SPPLIB)
30+all: $(SWSLIB) $(PPLIB)
31
32 clean:
33 rm -f *.o *.a *~ *.so
34@@ -34,27 +29,20 @@
35 $(CC) -MM $(CFLAGS) postprocess.c 1>.depend
36
37 ifeq ($(SHARED_PP),yes)
38-postprocess_pic.o: postprocess.c
39- $(CC) -c $(CFLAGS) -fomit-frame-pointer -fPIC -DPIC -I.. -I../.. -o $@ $<
40-
41-$(SPPLIB): $(SPPOBJS)
42- $(CC) -shared -Wl,-soname,$(SPPLIB).0 \
43- -o $(SPPLIB) $(SPPOBJS)
ff0ca760 44+RPATH= -rpath $(libdir)
2a60eebe
JB
45+else
46+RPATH=
47 endif
48
49 $(PPLIB): $(PPOBJS)
50- rm -f $@
51- $(AR) rc $@ $(PPOBJS)
52- $(RANLIB) $@
53+ libtool --mode=link $(CC) -o $(PPLIB) $(PPOBJS) $(RPATH) -version-info 0:1:0
54
55 install: all
56 ifeq ($(SHARED_PP),yes)
57- install -d $(prefix)/lib
58- install -s -m 755 $(SPPLIB) $(prefix)/lib/$(SPPLIB).$(SPPVERSION)
59- ln -sf $(SPPLIB).$(SPPVERSION) $(prefix)/lib/$(SPPLIB)
60- ldconfig || true
61- mkdir -p $(prefix)/include/postproc
62- install -m 644 postprocess.h $(prefix)/include/postproc/postprocess.h
ff0ca760
JB
63+ install -d $(DESTDIR)$(libdir)
64+ libtool --mode=install install -m 755 $(PPLIB) $(DESTDIR)$(libdir)
2a60eebe
JB
65+ install -d $(DESTDIR)$(prefix)/include/postproc
66+ install -m 644 postprocess.h $(DESTDIR)$(prefix)/include/postproc/postprocess.h
67 endif
68
69
ff0ca760
JB
70--- ffmpeg-0.4.9-pre1/libavcodec/Makefile.orig 2004-06-18 15:11:15.000000000 +0200
71+++ ffmpeg-0.4.9-pre1/libavcodec/Makefile 2004-10-20 00:22:26.825129928 +0200
72@@ -9,72 +9,72 @@
05e1eb2f 73 # NOTE: -I.. is needed to include config.h
ff0ca760 74 CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
539b540f
JB
75
76-OBJS= common.o utils.o mem.o allcodecs.o \
2a60eebe 77- mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\
ff0ca760 78- mpegaudio.o ac3enc.o mjpeg.o resample.o resample2.o dsputil.o \
2a60eebe
JB
79- motion_est.o imgconvert.o imgresample.o \
80- mpeg12.o mpegaudiodec.o pcm.o simple_idct.o \
539b540f 81- ratecontrol.o adpcm.o eval.o dv.o error_resilience.o \
2a60eebe 82- fft.o mdct.o mace.o huffyuv.o cyuv.o opts.o raw.o h264.o golomb.o \
05e1eb2f 83- vp3.o asv1.o 4xm.o cabac.o ffv1.o ra144.o ra288.o vcr1.o cljr.o \
ff0ca760
JB
84- roqvideo.o dpcm.o interplayvideo.o xan.o rpza.o cinepak.o msrle.o \
85- msvideo1.o vqavideo.o idcinvideo.o adx.o rational.o faandct.o 8bps.o \
86- smc.o parser.o flicvideo.o truemotion1.o vmdav.o lcl.o qtrle.o g726.o \
87- flac.o vp3dsp.o integer.o
539b540f 88+OBJS= common.lo utils.lo mem.lo allcodecs.lo \
05e1eb2f 89+ mpegvideo.lo jrevdct.lo jfdctfst.lo jfdctint.lo \
ff0ca760 90+ mpegaudio.lo ac3enc.lo mjpeg.lo resample.lo resample2.lo dsputil.lo \
2a60eebe
JB
91+ motion_est.lo imgconvert.lo imgresample.lo \
92+ mpeg12.lo mpegaudiodec.lo pcm.lo simple_idct.lo \
539b540f 93+ ratecontrol.lo adpcm.lo eval.lo dv.lo error_resilience.lo \
2a60eebe 94+ fft.lo mdct.lo mace.lo huffyuv.lo cyuv.lo opts.lo raw.lo h264.lo golomb.lo \
05e1eb2f 95+ vp3.lo asv1.lo 4xm.lo cabac.lo ffv1.lo ra144.lo ra288.lo vcr1.lo cljr.lo \
ff0ca760
JB
96+ roqvideo.lo dpcm.lo interplayvideo.lo xan.lo rpza.lo cinepak.lo msrle.lo \
97+ msvideo1.lo vqavideo.lo idcinvideo.lo adx.lo rational.lo faandct.lo 8bps.lo \
98+ smc.lo parser.lo flicvideo.lo truemotion1.lo vmdav.lo lcl.lo qtrle.lo g726.lo \
99+ flac.lo vp3dsp.lo integer.lo
2a60eebe
JB
100
101 ifeq ($(AMR_NB),yes)
102 ifeq ($(AMR_NB_FIXED),yes)
103-OBJS+= amr.o
104-AMREXTRALIBS+= amr/*.o
105+OBJS+= amr.lo
106+AMREXTRALIBS+= amr/*.lo
107 AMRLIBS=amrlibs
108 CLEANAMR=cleanamr
109 else
110-OBJS+= amr.o amr_float/sp_dec.o amr_float/sp_enc.o amr_float/interf_dec.o amr_float/interf_enc.o
111+OBJS+= amr.lo amr_float/sp_dec.lo amr_float/sp_enc.lo amr_float/interf_dec.lo amr_float/interf_enc.lo
112 CLEANAMR=cleanamrfloat
113 endif
114 endif
ff0ca760
JB
115
116 ifeq ($(HAVE_PTHREADS),yes)
117-OBJS+= pthread.o
118+OBJS+= pthread.lo
119 endif
120
121 ifeq ($(HAVE_W32THREADS),yes)
122-OBJS+= w32thread.o
123+OBJS+= w32thread.lo
124 endif
125
126 ifeq ($(AMR_WB),yes)
127-OBJS+= amr.o amrwb_float/dec_acelp.o amrwb_float/dec_dtx.o amrwb_float/dec_gain.o \
128- amrwb_float/dec_if.o amrwb_float/dec_lpc.o amrwb_float/dec_main.o \
129- amrwb_float/dec_rom.o amrwb_float/dec_util.o amrwb_float/enc_acelp.o \
130- amrwb_float/enc_dtx.o amrwb_float/enc_gain.o amrwb_float/enc_if.o \
131- amrwb_float/enc_lpc.o amrwb_float/enc_main.o amrwb_float/enc_rom.o \
132- amrwb_float/enc_util.o amrwb_float/if_rom.o
133+OBJS+= amr.lo amrwb_float/dec_acelp.lo amrwb_float/dec_dtx.lo amrwb_float/dec_gain.lo \
134+ amrwb_float/dec_if.lo amrwb_float/dec_lpc.lo amrwb_float/dec_main.lo \
135+ amrwb_float/dec_rom.lo amrwb_float/dec_util.lo amrwb_float/enc_acelp.lo \
136+ amrwb_float/enc_dtx.lo amrwb_float/enc_gain.lo amrwb_float/enc_if.lo \
137+ amrwb_float/enc_lpc.lo amrwb_float/enc_main.lo amrwb_float/enc_rom.lo \
138+ amrwb_float/enc_util.lo amrwb_float/if_rom.lo
139 endif
140 CLEANAMRWB=cleanamrwbfloat
141 ASM_OBJS=
2a60eebe
JB
142
143 # codecs which are patented in some non free countries like the us
144 ifeq ($(CONFIG_RISKY),yes)
ff0ca760
JB
145-OBJS+= h263.o h261.o msmpeg4.o h263dec.o svq1.o rv10.o wmadec.o indeo3.o
146+OBJS+= h263.lo h261.lo msmpeg4.lo h263dec.lo svq1.lo rv10.lo wmadec.lo indeo3.lo
2a60eebe
JB
147 endif
148
149 ifeq ($(HAVE_XVMC_ACCEL),yes)
150-OBJS+= xvmcvideo.o
151+OBJS+= xvmcvideo.lo
152 endif
539b540f
JB
153
154 # currently using liba52 for ac3 decoding
155 ifeq ($(CONFIG_AC3),yes)
156-OBJS+= a52dec.o
157+OBJS+= a52dec.lo
158
159 # using builtin liba52 or runtime linked liba52.so.0
160 ifneq ($(CONFIG_A52BIN),yes)
161-OBJS+= liba52/bit_allocate.o liba52/bitstream.o liba52/downmix.o \
2a60eebe 162- liba52/imdct.o liba52/parse.o liba52/crc.o liba52/resample.o
539b540f 163+OBJS+= liba52/bit_allocate.lo liba52/bitstream.lo liba52/downmix.lo \
2a60eebe
JB
164+ liba52/imdct.lo liba52/parse.lo liba52/crc.lo liba52/resample.lo
165 endif
166 endif
167
168 ifeq ($(CONFIG_FAAD),yes)
169-OBJS+= faad.o
170+OBJS+= faad.lo
171 ifeq ($(CONFIG_FAADBIN),yes)
172 # no libs needed
173 else
ff0ca760
JB
174@@ -83,26 +83,26 @@
175 endif
176
177 ifeq ($(CONFIG_FAAC),yes)
178-OBJS+= faac.o
179+OBJS+= faac.lo
180 EXTRALIBS += -lfaac
181 endif
2a60eebe
JB
182
183 ifeq ($(CONFIG_PP),yes)
184 ifeq ($(SHARED_PP),yes)
185-EXTRALIBS += -lpostproc
186+EXTRALIBS += libpostproc/libpostproc.la
187 else
188 # LIBS += libpostproc/libpostproc.a ... should be fixed
189-OBJS += libpostproc/postprocess.o
190+OBJS += libpostproc/postprocess.lo
539b540f
JB
191 endif
192 endif
193
194 ifeq ($(CONFIG_MP3LAME),yes)
195-OBJS += mp3lameaudio.o
196+OBJS += mp3lameaudio.lo
197 EXTRALIBS += -lmp3lame
198 endif
199
200 ifeq ($(CONFIG_VORBIS),yes)
201-OBJS += oggvorbis.o
202+OBJS += oggvorbis.lo
203 EXTRALIBS += -lvorbis -lvorbisenc
204 endif
205
ff0ca760 206@@ -113,74 +113,76 @@
539b540f
JB
207
208 # i386 mmx specific stuff
209 ifeq ($(TARGET_MMX),yes)
210-OBJS += i386/fdct_mmx.o i386/cputest.o \
211- i386/dsputil_mmx.o i386/mpegvideo_mmx.o \
212- i386/idct_mmx.o i386/motion_est_mmx.o \
ff0ca760
JB
213- i386/simple_idct_mmx.o i386/fft_sse.o i386/vp3dsp_mmx.o \
214- i386/vp3dsp_sse2.o
539b540f
JB
215+OBJS += i386/fdct_mmx.lo i386/cputest.lo \
216+ i386/dsputil_mmx.lo i386/mpegvideo_mmx.lo \
217+ i386/idct_mmx.lo i386/motion_est_mmx.lo \
ff0ca760
JB
218+ i386/simple_idct_mmx.lo i386/fft_sse.lo i386/vp3dsp_mmx.lo \
219+ i386/vp3dsp_sse2.lo
2a60eebe
JB
220 ifdef TARGET_BUILTIN_VECTOR
221-i386/fft_sse.o: CFLAGS+= -msse
222+i386/fft_sse.lo: CFLAGS+= -msse
ff0ca760 223 depend: CFLAGS+= -msse
539b540f 224 endif
05e1eb2f 225 endif
539b540f
JB
226
227 # armv4l specific stuff
228 ifeq ($(TARGET_ARCH_ARMV4L),yes)
2a60eebe 229-ASM_OBJS += armv4l/jrevdct_arm.o armv4l/simple_idct_arm.o
539b540f 230-OBJS += armv4l/dsputil_arm.o armv4l/mpegvideo_arm.o
2a60eebe 231+ASM_OBJS += armv4l/jrevdct_arm.lo armv4l/simple_idct_arm.lo
539b540f
JB
232+OBJS += armv4l/dsputil_arm.lo armv4l/mpegvideo_arm.lo
233 endif
234
235 # sun mediaLib specific stuff
236 # currently only works when libavcodec is used in mplayer
237 ifeq ($(HAVE_MLIB),yes)
238-OBJS += mlib/dsputil_mlib.o
239+OBJS += mlib/dsputil_mlib.lo
240 CFLAGS += $(MLIB_INC)
241 endif
242
243 # alpha specific stuff
244 ifeq ($(TARGET_ARCH_ALPHA),yes)
245-OBJS += alpha/dsputil_alpha.o alpha/mpegvideo_alpha.o \
246- alpha/simple_idct_alpha.o alpha/motion_est_alpha.o
247-ASM_OBJS += alpha/dsputil_alpha_asm.o alpha/motion_est_mvi_asm.o
248+OBJS += alpha/dsputil_alpha.lo alpha/mpegvideo_alpha.lo \
249+ alpha/simple_idct_alpha.lo alpha/motion_est_alpha.lo
250+ASM_OBJS += alpha/dsputil_alpha_asm.lo alpha/motion_est_mvi_asm.lo
251 CFLAGS += -fforce-addr -freduce-all-givs
252 endif
253
254 ifeq ($(TARGET_ARCH_POWERPC),yes)
255-OBJS += ppc/dsputil_ppc.o ppc/mpegvideo_ppc.o
256+OBJS += ppc/dsputil_ppc.lo ppc/mpegvideo_ppc.lo
257 endif
258
259 ifeq ($(TARGET_MMI),yes)
260-OBJS += ps2/dsputil_mmi.o ps2/idct_mmi.o ps2/mpegvideo_mmi.o
261+OBJS += ps2/dsputil_mmi.lo ps2/idct_mmi.lo ps2/mpegvideo_mmi.lo
262 endif
263
264 ifeq ($(TARGET_ALTIVEC),yes)
2a60eebe 265-OBJS += ppc/dsputil_altivec.o ppc/mpegvideo_altivec.o ppc/idct_altivec.o \
ff0ca760 266- ppc/fft_altivec.o ppc/gmc_altivec.o ppc/fdct_altivec.o
2a60eebe 267+OBJS += ppc/dsputil_altivec.lo ppc/mpegvideo_altivec.lo ppc/idct_altivec.lo \
ff0ca760 268+ ppc/fft_altivec.lo ppc/gmc_altivec.lo ppc/fdct_altivec.lo
539b540f
JB
269 endif
270
2a60eebe
JB
271 ifeq ($(TARGET_ARCH_SH4),yes)
272-OBJS+= sh4/idct_sh4.o sh4/dsputil_sh4.o sh4/dsputil_align.o
273+OBJS+= sh4/idct_sh4.lo sh4/dsputil_sh4.lo sh4/dsputil_align.lo
274 endif
275
ff0ca760
JB
276 ifeq ($(TARGET_ARCH_SPARC),yes)
277-OBJS+=sparc/dsputil_vis.o
278-sparc/%.o: sparc/%.c
279- $(CC) -mcpu=ultrasparc -mtune=ultrasparc $(CFLAGS) -c -o $@ $<
280+OBJS+=sparc/dsputil_vis.lo
281+sparc/%.lo: sparc/%.c
282+ libtool --mode=compile $(CC) -mcpu=ultrasparc -mtune=ultrasparc $(CFLAGS) -c -o $@ $<
283 endif
284 ifeq ($(TARGET_ARCH_SPARC64),yes)
285 CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc
286 endif
2a60eebe 287
539b540f
JB
288-SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S)
289+SRCS := $(OBJS:.lo=.c) $(ASM_OBJS:.lo=.S)
290 OBJS := $(OBJS) $(ASM_OBJS)
291
2a60eebe 292-LIB= $(LIBPREF)avcodec$(LIBSUF)
539b540f
JB
293+LIB= libavcodec.la
294 ifeq ($(BUILD_SHARED),yes)
2a60eebe 295-SLIB= $(SLIBPREF)avcodec$(SLIBSUF)
ff0ca760 296+RPATH= -rpath $(libdir)
539b540f
JB
297+else
298+RPATH=
299 endif
300 TESTS= imgresample-test dct-test motion-test fft-test
301
ff0ca760
JB
302-all: $(LIB) $(SLIB)
303+all: $(LIB)
304
305 amrlibs:
306 $(MAKE) -C amr spclib fipoplib
307@@ -188,28 +190,18 @@
539b540f
JB
308 tests: apiexample cpuid_test $(TESTS)
309
2a60eebe 310 $(LIB): $(OBJS) $(AMRLIBS)
539b540f 311- rm -f $@
2a60eebe 312- $(AR) rc $@ $(OBJS) $(AMREXTRALIBS)
539b540f 313- $(RANLIB) $@
539b540f 314-
2a60eebe 315-$(SLIB): $(OBJS)
05e1eb2f
JB
316-ifeq ($(CONFIG_WIN32),yes)
317- $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS)
318- -lib /machine:i386 /def:$(@:.dll=.def)
319-else
ff0ca760 320- $(CC) $(SHFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) $(LDFLAGS)
05e1eb2f 321-endif
2a60eebe
JB
322+ libtool --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJS) $(AMREXTRALIBS) $(RPATH) $(EXTRALIBS) -release $(VERSION)
323
539b540f
JB
324-dsputil.o: dsputil.c dsputil.h
325+dsputil.lo: dsputil.c dsputil.h
326
2a60eebe
JB
327-libpostproc/libpostproc.a:
328+libpostproc/libpostproc.la:
329 $(MAKE) -C libpostproc
539b540f
JB
330
331-%.o: %.c
332- $(CC) $(CFLAGS) -c -o $@ $<
333+%.lo: %.c
2a60eebe 334+ libtool --mode=compile $(CC) $(CFLAGS) -c -o $@ $<
539b540f 335
05e1eb2f 336-%.o: %.S
539b540f 337- $(CC) $(CFLAGS) -c -o $@ $<
848dec7f 338+%.lo: %.S
41f21d20 339+ libtool --mode=compile --tag CC $(CC) $(CFLAGS) -c -o $@ $<
539b540f 340
2a60eebe 341 depend: $(SRCS)
05e1eb2f 342 $(CC) -MM $(CFLAGS) $^ 1>.depend
ff0ca760 343@@ -243,7 +235,7 @@
539b540f
JB
344
345 # api example program
346 apiexample: apiexample.c $(LIB)
347- $(CC) $(CFLAGS) -o $@ $< $(LIB) $(EXTRALIBS) -lm
2a60eebe 348+ libtool --mode=link $(CC) $(CFLAGS) -o $@ $< $(LIB) $(EXTRALIBS) -lm
539b540f
JB
349
350 # cpuid test
351 cpuid_test: i386/cputest.c
ff0ca760
JB
352@@ -255,37 +247,35 @@
353 $(CC) $(CFLAGS) -DTEST -o $@ $^ -lm
539b540f 354
2a60eebe 355 dct-test: dct-test.o fdctref.o $(LIB)
539b540f 356- $(CC) -o $@ $^ -lm
2a60eebe 357+ libtool --mode=link $(CC) -o $@ $^ -lm
539b540f
JB
358
359 motion-test: motion_test.o $(LIB)
360- $(CC) -o $@ $^ -lm
2a60eebe 361+ libtool --mode=link $(CC) -o $@ $^ -lm
539b540f 362
2a60eebe 363 fft-test: fft-test.o $(LIB)
539b540f 364- $(CC) -o $@ $^ -lm
2a60eebe 365+ libtool --mode=link $(CC) -o $@ $^ -lm
539b540f 366
539b540f 367 ifeq ($(BUILD_SHARED),yes)
05e1eb2f
JB
368 install: all install-headers
369 ifeq ($(CONFIG_WIN32),yes)
ff0ca760
JB
370- install -s -m 755 $(SLIB) "$(prefix)"
371+ install -m 755 $(SLIB) "$(prefix)"
05e1eb2f 372 else
539b540f
JB
373- install -d $(prefix)/lib
374- install -s -m 755 $(SLIB) $(prefix)/lib/libavcodec-$(VERSION).so
375- ln -sf libavcodec-$(VERSION).so $(prefix)/lib/libavcodec.so
376- ldconfig || true
ff0ca760
JB
377+ install -d $(DESTDIR)$(libdir)
378+ libtool --mode=install install $(LIB) $(DESTDIR)$(libdir)
05e1eb2f
JB
379 endif
380 else
381 install:
539b540f
JB
382 endif
383
05e1eb2f 384 installlib: all install-headers
539b540f 385- install -m 644 $(LIB) $(prefix)/lib
ff0ca760 386+ libtool --mode=install install $(LIB) $(DESTDIR)$(libdir)
05e1eb2f
JB
387
388 install-headers:
389- mkdir -p "$(prefix)/include/ffmpeg"
ff0ca760
JB
390+ install -d $(DESTDIR)$(prefix)/include/ffmpeg
391 install -m 644 $(SRC_PATH)/libavcodec/avcodec.h \
392 $(SRC_PATH)/libavcodec/common.h \
393 $(SRC_PATH)/libavcodec/rational.h \
05e1eb2f 394- "$(prefix)/include/ffmpeg"
ff0ca760 395+ $(DESTDIR)$(prefix)/include/ffmpeg
539b540f
JB
396
397 #
398 # include dependency files if they exist
ff0ca760
JB
399--- ffmpeg-0.4.9-pre1/libavformat/Makefile.orig 2004-04-24 17:16:23.000000000 +0200
400+++ ffmpeg-0.4.9-pre1/libavformat/Makefile 2004-10-20 00:25:38.696960976 +0200
401@@ -8,93 +8,83 @@
539b540f 402
ff0ca760 403 CFLAGS=$(OPTFLAGS) -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
539b540f 404
05e1eb2f
JB
405-OBJS= utils.o cutils.o os_support.o allformats.o
406+OBJS= utils.lo cutils.lo os_support.lo allformats.lo
2a60eebe 407 PPOBJS=
539b540f
JB
408
409 # mux and demuxes
2a60eebe 410-OBJS+=mpeg.o mpegts.o mpegtsenc.o ffm.o crc.o img.o raw.o rm.o \
ff0ca760 411- avienc.o avidec.o wav.o swf.o au.o gif.o mov.o mpjpeg.o dv.o \
05e1eb2f 412- yuv4mpeg.o 4xm.o flvenc.o flvdec.o movenc.o psxstr.o idroq.o ipmovie.o \
ff0ca760
JB
413- nut.o wc3movie.o mp3.o westwood.o segafilm.o idcin.o flic.o \
414- sierravmd.o matroska.o
2a60eebe 415+OBJS+=mpeg.lo mpegts.lo mpegtsenc.lo ffm.lo crc.lo img.lo raw.lo rm.lo \
ff0ca760 416+ avienc.lo avidec.lo wav.lo swf.lo au.lo gif.lo mov.lo mpjpeg.lo dv.lo \
05e1eb2f 417+ yuv4mpeg.lo 4xm.lo flvenc.lo flvdec.lo movenc.lo psxstr.lo idroq.lo ipmovie.lo \
ff0ca760
JB
418+ nut.lo wc3movie.lo mp3.lo westwood.lo segafilm.lo idcin.lo flic.lo \
419+ sierravmd.lo matroska.lo
2a60eebe
JB
420
421 ifeq ($(CONFIG_RISKY),yes)
422-OBJS+= asf.o
ff0ca760 423-OBJS+= asf-enc.o
2a60eebe 424+OBJS+= asf.lo
ff0ca760 425+OBJS+= asf-enc.lo
2a60eebe
JB
426 endif
427
428 ifeq ($(AMR_NB),yes)
429-OBJS+= amr.o
ff0ca760
JB
430+OBJS+= amr.lo
431 endif
432 ifeq ($(AMR_NB_FIXED),yes)
433-OBJS+= amr.o
434+OBJS+= amr.lo
435 endif
436 ifeq ($(AMR_WB),yes)
437-OBJS+= amr.o
2a60eebe
JB
438+OBJS+= amr.lo
439 endif
440
441 # image formats
ff0ca760
JB
442-OBJS+= pnm.o yuv.o png.o jpeg.o gifdec.o sgi.o
443+OBJS+= pnm.lo yuv.lo png.lo jpeg.lo gifdec.lo sgi.lo
539b540f
JB
444 # file I/O
445-OBJS+= avio.o aviobuf.o file.o
2a60eebe
JB
446-OBJS+= framehook.o
447+OBJS+= avio.lo aviobuf.lo file.lo
ff0ca760 448+OBJS+= framehook.lo
539b540f
JB
449
450 ifeq ($(CONFIG_VIDEO4LINUX),yes)
451-OBJS+= grab.o
452+OBJS+= grab.lo
453 endif
454
2a60eebe
JB
455 ifeq ($(CONFIG_DV1394),yes)
456-OBJS+= dv1394.o
457+OBJS+= dv1394.lo
458 endif
459
539b540f
JB
460 ifeq ($(CONFIG_AUDIO_OSS),yes)
461-OBJS+= audio.o
2a60eebe 462+OBJS+= audio.lo
539b540f
JB
463 endif
464
465 ifeq ($(CONFIG_AUDIO_BEOS),yes)
2a60eebe
JB
466-PPOBJS+= beosaudio.o
467+PPOBJS+= beosaudio.lo
468 EXTRALIBS+=-lbe -lmedia
469-# this should be the default !
470-EXTRALIBS+=-lavcodec -L../libavcodec
539b540f
JB
471 endif
472
473 ifeq ($(CONFIG_NETWORK),yes)
474-OBJS+= udp.o tcp.o http.o rtsp.o rtp.o rtpproto.o
475+OBJS+= udp.lo tcp.lo http.lo rtsp.lo rtp.lo rtpproto.lo
2a60eebe 476 # BeOS and Darwin network stuff
539b540f
JB
477 ifeq ($(NEED_INET_ATON),yes)
478-OBJS+= barpainet.o
479+OBJS+= barpainet.lo
480 endif
481 endif
482
483 ifeq ($(CONFIG_VORBIS),yes)
484-OBJS+= ogg.o
485+OBJS+= ogg.lo
486 endif
487
ff0ca760
JB
488 ifeq ($(TARGET_ARCH_SPARC64),yes)
489 CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc
490 endif
491
2a60eebe 492-LIB= $(LIBPREF)avformat$(LIBSUF)
539b540f 493+LIB= libavformat.la
2a60eebe
JB
494 ifeq ($(BUILD_SHARED),yes)
495-SLIB= $(SLIBPREF)avformat$(SLIBSUF)
ff0ca760 496+RPATH= -rpath $(libdir)
2a60eebe
JB
497+else
498+RPATH=
499 endif
539b540f 500
2a60eebe
JB
501-SRCS := $(OBJS:.o=.c) $(PPOBJS:.o=.cpp)
502+SRCS := $(OBJS:.lo=.c) $(PPOBJS:.lo=.cpp)
539b540f 503
ff0ca760
JB
504-all: $(LIB) $(SLIB)
505+all: $(LIB)
2a60eebe
JB
506
507 $(LIB): $(OBJS) $(PPOBJS)
539b540f 508- rm -f $@
2a60eebe 509- $(AR) rc $@ $(OBJS) $(PPOBJS)
539b540f
JB
510- $(RANLIB) $@
511-
2a60eebe 512-$(SLIB): $(OBJS)
05e1eb2f
JB
513-ifeq ($(CONFIG_WIN32),yes)
514- $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(PPOBJS) $(EXTRALIBS) $(VPATH)/../libavcodec/avcodec.dll
515- -lib /machine:i386 /def:$(@:.dll=.def)
516-else
517- $(CC) $(SHFLAGS) -o $@ $(OBJS) $(PPOBJS) $(EXTRALIBS)
518-endif
2a60eebe
JB
519+ libtool --mode=link $(CC) $(LDOPT) -o $@ $(OBJS) $(PPOBJS) ../libavcodec/libavcodec.la $(RPATH) -release $(VERSION)
520
521 depend: $(SRCS)
522 $(CC) -MM $(CFLAGS) $^ 1>.depend
ff0ca760
JB
523@@ -102,33 +92,31 @@
524 ifeq ($(BUILD_SHARED),yes)
525 install: all install-headers
05e1eb2f 526 ifeq ($(CONFIG_WIN32),yes)
ff0ca760
JB
527- install -s -m 755 $(SLIB) "$(prefix)"
528+ install -m 755 $(SLIB) "$(prefix)"
05e1eb2f 529 else
2a60eebe
JB
530- install -d $(prefix)/lib
531- install -s -m 755 $(SLIB) $(prefix)/lib/libavformat-$(VERSION).so
532- ln -sf libavformat-$(VERSION).so $(prefix)/lib/libavformat.so
533- ldconfig || true
ff0ca760
JB
534+ install -d $(DESTDIR)$(libdir)
535+ libtool --mode=install install $(LIB) $(DESTDIR)$(libdir)
05e1eb2f
JB
536 endif
537 else
538 install:
2a60eebe
JB
539 endif
540
05e1eb2f 541 installlib: all install-headers
2a60eebe 542- install -m 644 $(LIB) $(prefix)/lib
ff0ca760 543+ libtool --mode=install install $(LIB) $(DESTDIR)$(libdir)
05e1eb2f
JB
544
545 install-headers:
546- mkdir -p "$(prefix)/include/ffmpeg"
ff0ca760 547+ install -d $(DESTDIR)$(prefix)/include/ffmpeg
2a60eebe
JB
548 install -m 644 $(SRC_PATH)/libavformat/avformat.h $(SRC_PATH)/libavformat/avio.h \
549 $(SRC_PATH)/libavformat/rtp.h $(SRC_PATH)/libavformat/rtsp.h \
550 $(SRC_PATH)/libavformat/rtspcodes.h \
05e1eb2f 551- "$(prefix)/include/ffmpeg"
ff0ca760 552+ $(DESTDIR)$(prefix)/include/ffmpeg
539b540f
JB
553
554-%.o: %.c
555- $(CC) $(CFLAGS) -c -o $@ $<
556+%.lo: %.c
2a60eebe 557+ libtool --mode=compile $(CC) $(CFLAGS) -c -o $@ $<
539b540f
JB
558
559 # BeOS: remove -Wall to get rid of all the "multibyte constant" warnings
560 %.o: %.cpp
561- g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $<
2a60eebe 562+ libtool --mode=compile --tag CXX g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $<
539b540f 563
ff0ca760
JB
564 distclean clean:
565 rm -f *.o *.d .depend *~ *.a $(LIB)
566--- ffmpeg-0.4.9-pre1/vhook/Makefile.orig 2004-07-08 13:02:04.000000000 +0200
567+++ ffmpeg-0.4.9-pre1/vhook/Makefile 2004-10-20 00:30:56.633627256 +0200
568@@ -26,17 +26,17 @@
569 $(CC) -MM $(CFLAGS) $^ 1>.depend
2a60eebe 570
ff0ca760
JB
571 install:
572- install -d "$(prefix)/lib/vhook"
573- install -m 755 $(HOOKS) "$(prefix)/lib/vhook"
574+ install -d $(DESTDIR)$(libdir)/vhook
575+ install -m 755 $(HOOKS) $(DESTDIR)$(libdir)/vhook
576
577 imlib2.so: imlib2.o
578- $(CC) -g -o $@ $(SHFLAGS) $< -lImlib2
579+ $(CC) -o $@ $(SHFLAGS) $< -lImlib2
580
581 drawtext.so: drawtext.o
582- $(CC) -g -o $@ $(SHFLAGS) $< `freetype-config --libs`
583+ $(CC) -o $@ $(SHFLAGS) $< `freetype-config --libs`
584
585 %.so: %.o
586- $(CC) -g -o $@ $(SHFLAGS) $<
587+ $(CC) -o $@ $(SHFLAGS) $<
588
589 clean:
590 rm -f *.o *.d .depend *.so *~
591--- ffmpeg-0.4.9-pre1/configure.orig 2004-10-19 00:30:24.568298000 +0200
592+++ ffmpeg-0.4.9-pre1/configure 2004-10-20 00:05:29.157838872 +0200
593@@ -13,6 +13,7 @@
594 echo "Standard options:"
595 echo " --help print this message"
596 echo " --prefix=PREFIX install in PREFIX [$prefix]"
597+echo " --libdir=LIBDIR library directory [PREFIX/lib]"
598 echo " --mandir=DIR man documentation in DIR [PREFIX/man]"
599 echo " --enable-mp3lame enable mp3 encoding via libmp3lame [default=no]"
600 echo " --enable-vorbis enable vorbis support via libvorbisenc [default=no]"
601@@ -85,6 +86,7 @@
602
603 # default parameters
604 prefix="/usr/local"
605+libdir="$prefix/lib"
606 mandir=""
607 bindir=""
608 cross_prefix=""
609@@ -337,6 +339,8 @@
610 case "$opt" in
611 --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
612 ;;
613+ --libdir=*) libdir=`echo $opt | cut -d '=' -f 2`
614+ ;;
615 --mandir=*) mandir=`echo $opt | cut -d '=' -f 2`
616 ;;
617 --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
618@@ -946,6 +950,10 @@
619 mandir="${prefix}/man"
620 fi
621
622+if test x"$libdir" = x""; then
623+mandir="${prefix}/lib"
624+fi
625+
626 echo "Install prefix $prefix"
627 echo "Source path $source_path"
628 echo "C compiler $cc"
629@@ -1006,6 +1014,7 @@
630
631 echo "prefix=$prefix" >> config.mak
632 echo "bindir=$bindir" >> config.mak
633+echo "libdir=$libdir" >> config.mak
634 echo "mandir=$mandir" >> config.mak
635 echo "MAKE=$make" >> config.mak
636 echo "CC=$cc" >> config.mak
637--- ffmpeg-0.4.9-pre1/Makefile.orig 2004-07-08 13:02:04.000000000 +0200
638+++ ffmpeg-0.4.9-pre1/Makefile 2004-10-20 00:29:10.036832432 +0200
639@@ -7,7 +7,6 @@
640 VPATH=$(SRC_PATH)
641
642 CFLAGS=$(OPTFLAGS) -I. -I$(SRC_PATH) -I$(SRC_PATH)/libavcodec -I$(SRC_PATH)/libavformat -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
643-LDFLAGS+= -g
644
645 ifeq ($(TARGET_GPROF),yes)
646 CFLAGS+=-p
647@@ -33,14 +32,10 @@
2a60eebe 648 EXTRALIBS+=-lmedia -lbe
539b540f
JB
649 endif
650
2a60eebe
JB
651-ifeq ($(BUILD_SHARED),yes)
652-DEP_LIBS=libavcodec/$(SLIBPREF)avcodec$(SLIBSUF) libavformat/$(SLIBPREF)avformat$(SLIBSUF)
653-else
654-DEP_LIBS=libavcodec/$(LIBPREF)avcodec$(LIBSUF) libavformat/$(LIBPREF)avformat$(LIBSUF)
539b540f 655+DEP_LIBS=libavcodec/libavcodec.la libavformat/libavformat.la
539b540f 656 ifeq ($(CONFIG_MP3LAME),yes)
2a60eebe
JB
657 EXTRALIBS+=-lmp3lame
658 endif
659-endif
660
661 ifeq ($(CONFIG_VORBIS),yes)
662 EXTRALIBS+=-logg -lvorbis -lvorbisenc
ff0ca760 663@@ -76,7 +71,7 @@
2a60eebe
JB
664
665 OBJS = ffmpeg.o ffserver.o cmdutils.o ffplay.o
666 SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s)
667-FFLIBS = -L./libavformat -lavformat -L./libavcodec -lavcodec
668+FFLIBS = libavformat/libavformat.la libavcodec/libavcodec.la
669
ff0ca760 670 all: lib $(PROG) $(PROGTEST) $(VHOOK) $(QTFASTSTART) $(DOC)
2a60eebe 671
ff0ca760 672@@ -84,25 +79,17 @@
539b540f
JB
673 $(MAKE) -C libavcodec all
674 $(MAKE) -C libavformat all
675
05e1eb2f 676-ffmpeg_g$(EXESUF): ffmpeg.o cmdutils.o .libs
2a60eebe 677- $(CC) $(LDFLAGS) -o $@ ffmpeg.o cmdutils.o $(FFLIBS) $(EXTRALIBS)
ff0ca760 678-
05e1eb2f
JB
679-ffmpeg$(EXESUF): ffmpeg_g$(EXESUF)
680- cp -p $< $@
681- $(STRIP) $@
ff0ca760
JB
682+ffmpeg$(EXESUF): ffmpeg.o cmdutils.o
683+ libtool --mode=link $(CC) $(LDFLAGS) -o $@ ffmpeg.o cmdutils.o $(FFLIBS) $(EXTRALIBS)
684
05e1eb2f 685-ffserver$(EXESUF): ffserver.o .libs
2a60eebe 686- $(CC) $(LDFLAGS) $(FFSLDFLAGS) -o $@ ffserver.o $(FFLIBS) $(EXTRALIBS)
05e1eb2f
JB
687+ffserver$(EXESUF): ffserver.o
688+ libtool --mode=link $(CC) $(LDFLAGS) $(FFSLDFLAGS) -o $@ ffserver.o $(FFLIBS) $(EXTRALIBS)
ff0ca760
JB
689
690-ffplay_g$(EXESUF): ffplay.o cmdutils.o .libs
691- $(CC) $(LDFLAGS) -o $@ ffplay.o cmdutils.o $(FFLIBS) $(EXTRALIBS) $(SDL_LIBS)
05e1eb2f
JB
692+ffplay$(EXESUF): ffplay.o cmdutils.o
693+ libtool --mode=link $(CC) $(LDFLAGS) -o $@ ffplay.o cmdutils.o $(FFLIBS) $(EXTRALIBS) $(SDL_LIBS)
694
ff0ca760
JB
695-ffplay$(EXESUF): ffplay_g$(EXESUF)
696- cp -p $< $@
697- $(STRIP) $@
698-
699-output_example$(EXESUF): output_example.o .libs
2a60eebe 700- $(CC) $(LDFLAGS) -o $@ output_example.o $(FFLIBS) $(EXTRALIBS)
ff0ca760 701+output_example$(EXESUF): output_example.o
2a60eebe
JB
702+ libtool --mode=link $(CC) $(LDFLAGS) -o $@ output_example.o $(FFLIBS) $(EXTRALIBS)
703
ff0ca760
JB
704 qt-faststart$(EXESUF): qt-faststart.c
705 $(CC) qt-faststart.c -o qt-faststart$(EXESUF)
706@@ -113,7 +100,7 @@
2a60eebe
JB
707 %.o: %.c
708 $(CC) $(CFLAGS) -c -o $@ $<
709
710-videohook: .libs
711+videohook:
712 $(MAKE) -C vhook all
713
ff0ca760
JB
714 documentation:
715@@ -121,11 +108,11 @@
716
05e1eb2f
JB
717 .PHONY: install
718
2a60eebe
JB
719-install: all install-man $(INSTALLVHOOK)
720+install: install-man $(INSTALLVHOOK)
539b540f 721 $(MAKE) -C libavcodec install
2a60eebe 722 $(MAKE) -C libavformat install
05e1eb2f
JB
723- install -d "$(bindir)"
724- install -c -s -m 755 $(PROG) "$(bindir)"
ff0ca760
JB
725+ install -d $(DESTDIR)$(bindir)
726+ libtool --mode=install install $(PROG) $(DESTDIR)$(bindir)
05e1eb2f
JB
727
728 # create the window installer
729 wininstaller: all install
ff0ca760 730@@ -135,8 +122,8 @@
2a60eebe 731 install-man:
05e1eb2f 732 ifneq ($(CONFIG_WIN32),yes)
2a60eebe 733 if [ -f $(SRC_PATH)/doc/ffmpeg.1 ] ; then \
ff0ca760
JB
734- install -d "$(mandir)/man1" ; \
735- install -m 644 $(MANPAGE) "$(mandir)/man1" ; \
2a60eebe 736+ install -d $(DESTDIR)$(mandir)/man1 ; \
ff0ca760 737+ install -m 644 $(MANPAGE) $(DESTDIR)$(mandir)/man1 ; \
2a60eebe 738 fi
05e1eb2f 739 endif
539b540f 740
ff0ca760 741@@ -159,15 +146,11 @@
2a60eebe 742 .depend: $(SRCS)
ff0ca760 743 $(CC) -MM $(CFLAGS) $(SDL_CFLAGS) $^ 1>.depend
2a60eebe
JB
744
745-.libs: lib
746- @test -f .libs || touch .libs
747- @for i in $(DEP_LIBS) ; do if $(TEST) $$i -nt .libs ; then touch .libs; fi ; done
748-
749 clean: $(CLEANVHOOK)
750 $(MAKE) -C libavcodec clean
751 $(MAKE) -C libavformat clean
752 $(MAKE) -C tests clean
05e1eb2f
JB
753- rm -f *.o *.d *~ .libs .depend gmon.out TAGS ffmpeg_g$(EXESUF) ffplay_g$(EXESUF) $(PROG) $(PROGTEST)
754+ rm -f *.o *.d *~ .depend gmon.out TAGS $(PROG) $(PROGTEST)
2a60eebe
JB
755
756 clean-vhook:
757 $(MAKE) -C vhook clean
This page took 0.119304 seconds and 4 git commands to generate.