Mercurial > libavformat.hg
annotate Makefile @ 919:7ac21a82ac29 libavformat
On MinGW it is not possible to build shared and static libraries at once.
Add means to disable building the static libraries and fix a few issues
with the MinGW build.
All the hard work done by Alexander Strasser, minor changes by myself.
author | diego |
---|---|
date | Mon, 30 Jan 2006 00:22:41 +0000 |
parents | e50e8bfb90ed |
children | 547675092e98 |
rev | line source |
---|---|
0 | 1 # |
2 # libavformat Makefile | |
251 | 3 # (c) 2000-2003 Fabrice Bellard |
0 | 4 # |
5 include ../config.mak | |
6 | |
2 | 7 VPATH=$(SRC_PATH)/libavformat |
0 | 8 |
830
27ca9c7cabc7
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
818
diff
changeset
|
9 CFLAGS=$(OPTFLAGS) -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavutil -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE |
0 | 10 |
918 | 11 #FIXME: This should be in configure/config.mak |
12 ifeq ($(CONFIG_WIN32),yes) | |
919
7ac21a82ac29
On MinGW it is not possible to build shared and static libraries at once.
diego
parents:
918
diff
changeset
|
13 LDFLAGS=-Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a) |
918 | 14 endif |
15 | |
230
9f4f4ca9f7b5
simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
225
diff
changeset
|
16 OBJS= utils.o cutils.o os_support.o allformats.o |
57
821a7facb3e4
Fix against C integrists breaks :P (hope I didn't break anything else)
mmu_man
parents:
55
diff
changeset
|
17 PPOBJS= |
0 | 18 |
905
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
19 # demuxers |
497 | 20 OBJS+=mpeg.o mpegts.o mpegtsenc.o ffm.o crc.o img.o img2.o raw.o rm.o \ |
818
b1d7ee1c792d
Yamaha SMAF file format support patch by (Vidar Madsen: vidarino, gmail com)
michael
parents:
813
diff
changeset
|
21 avienc.o avidec.o wav.o mmf.o swf.o au.o gif.o mov.o mpjpeg.o dv.o \ |
905
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
22 yuv4mpeg.o 4xm.o flvdec.o psxstr.o idroq.o ipmovie.o \ |
338 | 23 nut.o wc3movie.o mp3.o westwood.o segafilm.o idcin.o flic.o \ |
905
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
24 sierravmd.o matroska.o sol.o electronicarts.o nsvdec.o asf.o \ |
847 | 25 ogg2.o oggparsevorbis.o oggparsetheora.o oggparseflac.o daud.o |
905
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
26 |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
27 # muxers |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
28 ifeq ($(CONFIG_MUXERS),yes) |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
29 OBJS+= flvenc.o movenc.o asf-enc.o |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
30 endif |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
31 |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
32 |
629
996fe7d78701
Fix compilation when both amr_nb and amr_wb are enabled
rtognimp
parents:
594
diff
changeset
|
33 AMROBJS= |
278
1344cea6e2a8
make it compatible with older make (debian stable - make 3.79.1)
alex
parents:
274
diff
changeset
|
34 ifeq ($(AMR_NB),yes) |
629
996fe7d78701
Fix compilation when both amr_nb and amr_wb are enabled
rtognimp
parents:
594
diff
changeset
|
35 AMROBJS= amr.o |
278
1344cea6e2a8
make it compatible with older make (debian stable - make 3.79.1)
alex
parents:
274
diff
changeset
|
36 endif |
1344cea6e2a8
make it compatible with older make (debian stable - make 3.79.1)
alex
parents:
274
diff
changeset
|
37 ifeq ($(AMR_NB_FIXED),yes) |
629
996fe7d78701
Fix compilation when both amr_nb and amr_wb are enabled
rtognimp
parents:
594
diff
changeset
|
38 AMROBJS= amr.o |
278
1344cea6e2a8
make it compatible with older make (debian stable - make 3.79.1)
alex
parents:
274
diff
changeset
|
39 endif |
1344cea6e2a8
make it compatible with older make (debian stable - make 3.79.1)
alex
parents:
274
diff
changeset
|
40 ifeq ($(AMR_WB),yes) |
629
996fe7d78701
Fix compilation when both amr_nb and amr_wb are enabled
rtognimp
parents:
594
diff
changeset
|
41 AMROBJS= amr.o |
146 | 42 endif |
629
996fe7d78701
Fix compilation when both amr_nb and amr_wb are enabled
rtognimp
parents:
594
diff
changeset
|
43 OBJS+= $(AMROBJS) |
146 | 44 |
20 | 45 # image formats |
382
37a29b5200d8
added SGI image format, encoding and decoding, courtesy of Todd Kirby
melanson
parents:
380
diff
changeset
|
46 OBJS+= pnm.o yuv.o png.o jpeg.o gifdec.o sgi.o |
885 | 47 OBJS+= framehook.o |
0 | 48 |
49 ifeq ($(CONFIG_VIDEO4LINUX),yes) | |
50 OBJS+= grab.o | |
51 endif | |
52 | |
795
391669d461d4
*BSD bktr grab support by (Jacob Meuser: jakemsr, jakemsr com)
michael
parents:
773
diff
changeset
|
53 ifeq ($(CONFIG_BKTR),yes) |
391669d461d4
*BSD bktr grab support by (Jacob Meuser: jakemsr, jakemsr com)
michael
parents:
773
diff
changeset
|
54 OBJS+= grab_bktr.o |
391669d461d4
*BSD bktr grab support by (Jacob Meuser: jakemsr, jakemsr com)
michael
parents:
773
diff
changeset
|
55 endif |
391669d461d4
*BSD bktr grab support by (Jacob Meuser: jakemsr, jakemsr com)
michael
parents:
773
diff
changeset
|
56 |
27
fcdea3df94fe
dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents:
26
diff
changeset
|
57 ifeq ($(CONFIG_DV1394),yes) |
fcdea3df94fe
dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents:
26
diff
changeset
|
58 OBJS+= dv1394.o |
fcdea3df94fe
dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents:
26
diff
changeset
|
59 endif |
fcdea3df94fe
dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents:
26
diff
changeset
|
60 |
571 | 61 ifeq ($(CONFIG_DC1394),yes) |
62 OBJS+= dc1394.o | |
63 endif | |
64 | |
0 | 65 ifeq ($(CONFIG_AUDIO_OSS),yes) |
885 | 66 OBJS+= audio.o |
0 | 67 endif |
68 | |
835 | 69 EXTRALIBS += -L../libavutil -lavutil$(BUILDSUF) |
832 | 70 |
0 | 71 ifeq ($(CONFIG_AUDIO_BEOS),yes) |
57
821a7facb3e4
Fix against C integrists breaks :P (hope I didn't break anything else)
mmu_man
parents:
55
diff
changeset
|
72 PPOBJS+= beosaudio.o |
0 | 73 endif |
74 | |
905
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
75 # protocols I/O |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
76 OBJS+= avio.o aviobuf.o |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
77 |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
78 ifeq ($(CONFIG_PROTOCOLS),yes) |
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
79 OBJS+= file.o |
0 | 80 ifeq ($(CONFIG_NETWORK),yes) |
81 OBJS+= udp.o tcp.o http.o rtsp.o rtp.o rtpproto.o | |
57
821a7facb3e4
Fix against C integrists breaks :P (hope I didn't break anything else)
mmu_man
parents:
55
diff
changeset
|
82 # BeOS and Darwin network stuff |
1
464f4e8aa417
More changes to make things compile on more platforms
philipjsg
parents:
0
diff
changeset
|
83 ifeq ($(NEED_INET_ATON),yes) |
0 | 84 OBJS+= barpainet.o |
85 endif | |
86 endif | |
905
dbc0145bbf11
Add --disable-protocols option to configure to disable I/O protocol from
diego
parents:
900
diff
changeset
|
87 endif |
0 | 88 |
682 | 89 ifeq ($(CONFIG_LIBOGG),yes) |
0 | 90 OBJS+= ogg.o |
91 endif | |
92 | |
450
85439137fc30
vis detection patch by (James Morrison <ja2morri at csclub dot uwaterloo dot ca>)
michael
parents:
440
diff
changeset
|
93 ifeq ($(TARGET_ARCH_SPARC64),yes) |
85439137fc30
vis detection patch by (James Morrison <ja2morri at csclub dot uwaterloo dot ca>)
michael
parents:
440
diff
changeset
|
94 CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc |
85439137fc30
vis detection patch by (James Morrison <ja2morri at csclub dot uwaterloo dot ca>)
michael
parents:
440
diff
changeset
|
95 endif |
85439137fc30
vis detection patch by (James Morrison <ja2morri at csclub dot uwaterloo dot ca>)
michael
parents:
440
diff
changeset
|
96 |
898
51a83f9981f2
Move library name generation to configure, simplifies build system a bit more.
diego
parents:
897
diff
changeset
|
97 NAME=avformat |
167
e284cddf0509
Shared library for libavformat support patch by (Tim Allen <tim at proximity dot com dot au>)
michaelni
parents:
164
diff
changeset
|
98 ifeq ($(BUILD_SHARED),yes) |
897
f957dbf08fcf
Create symbolic links for all library sonames and clean up Makefiles.
diego
parents:
895
diff
changeset
|
99 LIBVERSION=$(LAVFVERSION) |
f957dbf08fcf
Create symbolic links for all library sonames and clean up Makefiles.
diego
parents:
895
diff
changeset
|
100 LIBMAJOR=$(LAVFMAJOR) |
859 | 101 AVCLIBS+=-lavcodec$(BUILDSUF) -L../libavcodec -lavutil$(BUILDSUF) -L../libavutil |
594 | 102 endif |
103 | |
57
821a7facb3e4
Fix against C integrists breaks :P (hope I didn't break anything else)
mmu_man
parents:
55
diff
changeset
|
104 SRCS := $(OBJS:.o=.c) $(PPOBJS:.o=.cpp) |
23
f6aae828c320
AUtomatic dependency generation. Runs on Linux (at least). Probably should
philipjsg
parents:
22
diff
changeset
|
105 |
859 | 106 all: $(LIB) $(SLIBNAME) |
0 | 107 |
57
821a7facb3e4
Fix against C integrists breaks :P (hope I didn't break anything else)
mmu_man
parents:
55
diff
changeset
|
108 $(LIB): $(OBJS) $(PPOBJS) |
0 | 109 rm -f $@ |
57
821a7facb3e4
Fix against C integrists breaks :P (hope I didn't break anything else)
mmu_man
parents:
55
diff
changeset
|
110 $(AR) rc $@ $(OBJS) $(PPOBJS) |
0 | 111 $(RANLIB) $@ |
112 | |
859 | 113 $(SLIBNAME): $(OBJS) |
918 | 114 $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(PPOBJS) $(AVCLIBS) $(EXTRALIBS) |
248 | 115 ifeq ($(CONFIG_WIN32),yes) |
212
84b7fd1abf2c
MingW patches by (Glenn Maynard <g_sf at zewt dot org>)
michaelni
parents:
211
diff
changeset
|
116 -lib /machine:i386 /def:$(@:.dll=.def) |
84b7fd1abf2c
MingW patches by (Glenn Maynard <g_sf at zewt dot org>)
michaelni
parents:
211
diff
changeset
|
117 endif |
167
e284cddf0509
Shared library for libavformat support patch by (Tim Allen <tim at proximity dot com dot au>)
michaelni
parents:
164
diff
changeset
|
118 |
43
a23fb606308a
added basic png handling - do not remake dependencies automatically
bellard
parents:
40
diff
changeset
|
119 depend: $(SRCS) |
26 | 120 $(CC) -MM $(CFLAGS) $^ 1>.depend |
121 | |
167
e284cddf0509
Shared library for libavformat support patch by (Tim Allen <tim at proximity dot com dot au>)
michaelni
parents:
164
diff
changeset
|
122 ifeq ($(BUILD_SHARED),yes) |
248 | 123 install: all install-headers |
124 ifeq ($(CONFIG_WIN32),yes) | |
859 | 125 install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)" |
248 | 126 else |
707
cc612862d461
add libdir support to configure patch by (Luca Barbato )lu_zero gentoo org)
michael
parents:
702
diff
changeset
|
127 install -d $(libdir) |
897
f957dbf08fcf
Create symbolic links for all library sonames and clean up Makefiles.
diego
parents:
895
diff
changeset
|
128 install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \ |
f957dbf08fcf
Create symbolic links for all library sonames and clean up Makefiles.
diego
parents:
895
diff
changeset
|
129 $(libdir)/$(SLIBNAME_WITH_VERSION) |
f957dbf08fcf
Create symbolic links for all library sonames and clean up Makefiles.
diego
parents:
895
diff
changeset
|
130 ln -sf $(SLIBNAME_WITH_VERSION) \ |
f957dbf08fcf
Create symbolic links for all library sonames and clean up Makefiles.
diego
parents:
895
diff
changeset
|
131 $(libdir)/$(SLIBNAME_WITH_MAJOR) |
f957dbf08fcf
Create symbolic links for all library sonames and clean up Makefiles.
diego
parents:
895
diff
changeset
|
132 ln -sf $(SLIBNAME_WITH_VERSION) \ |
f957dbf08fcf
Create symbolic links for all library sonames and clean up Makefiles.
diego
parents:
895
diff
changeset
|
133 $(libdir)/$(SLIBNAME) |
773
a5095f5cf38a
ldconfig as config.mak variable patch by (Jacob Meuser: jakemsr, jakemsr com)
michael
parents:
765
diff
changeset
|
134 $(LDCONFIG) || true |
248 | 135 endif |
136 else | |
137 install: | |
167
e284cddf0509
Shared library for libavformat support patch by (Tim Allen <tim at proximity dot com dot au>)
michaelni
parents:
164
diff
changeset
|
138 endif |
e284cddf0509
Shared library for libavformat support patch by (Tim Allen <tim at proximity dot com dot au>)
michaelni
parents:
164
diff
changeset
|
139 |
248 | 140 installlib: all install-headers |
707
cc612862d461
add libdir support to configure patch by (Luca Barbato )lu_zero gentoo org)
michael
parents:
702
diff
changeset
|
141 install -m 644 $(LIB) "$(libdir)" |
248 | 142 |
143 install-headers: | |
144 mkdir -p "$(prefix)/include/ffmpeg" | |
16
863c1133ba73
libav -> libavformat in Makefile patch by (Thomas Jarosch <tomj at simonv dot com>)
michaelni
parents:
2
diff
changeset
|
145 install -m 644 $(SRC_PATH)/libavformat/avformat.h $(SRC_PATH)/libavformat/avio.h \ |
863c1133ba73
libav -> libavformat in Makefile patch by (Thomas Jarosch <tomj at simonv dot com>)
michaelni
parents:
2
diff
changeset
|
146 $(SRC_PATH)/libavformat/rtp.h $(SRC_PATH)/libavformat/rtsp.h \ |
863c1133ba73
libav -> libavformat in Makefile patch by (Thomas Jarosch <tomj at simonv dot com>)
michaelni
parents:
2
diff
changeset
|
147 $(SRC_PATH)/libavformat/rtspcodes.h \ |
248 | 148 "$(prefix)/include/ffmpeg" |
871
3637f3d43e55
Put double-quotes around the install path in the "install-headers" section
diego
parents:
860
diff
changeset
|
149 install -d "$(libdir)/pkgconfig" |
3637f3d43e55
Put double-quotes around the install path in the "install-headers" section
diego
parents:
860
diff
changeset
|
150 install -m 644 ../libavformat.pc "$(libdir)/pkgconfig" |
0 | 151 |
152 %.o: %.c | |
885 | 153 $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $< |
0 | 154 |
155 # BeOS: remove -Wall to get rid of all the "multibyte constant" warnings | |
156 %.o: %.cpp | |
885 | 157 g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $< |
0 | 158 |
900
04509c9a1b7a
Make clean/distclean consistent throughout all the Makefiles.
diego
parents:
899
diff
changeset
|
159 clean: |
919
7ac21a82ac29
On MinGW it is not possible to build shared and static libraries at once.
diego
parents:
918
diff
changeset
|
160 rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \ |
7ac21a82ac29
On MinGW it is not possible to build shared and static libraries at once.
diego
parents:
918
diff
changeset
|
161 *.lib *.def *.dll.a *.exp |
900
04509c9a1b7a
Make clean/distclean consistent throughout all the Makefiles.
diego
parents:
899
diff
changeset
|
162 |
04509c9a1b7a
Make clean/distclean consistent throughout all the Makefiles.
diego
parents:
899
diff
changeset
|
163 distclean: clean |
917
f1104ac8de95
Remove obscure Makefile.bak entry from distclean rules.
diego
parents:
905
diff
changeset
|
164 rm -f .depend |
26 | 165 |
166 # | |
167 # include dependency files if they exist | |
168 # | |
169 ifneq ($(wildcard .depend),) | |
170 include .depend | |
171 endif |