~ubuntu-branches/ubuntu/jaunty/xvidcap/jaunty-proposed

« back to all changes in this revision

Viewing changes to ffmpeg/Makefile

  • Committer: Bazaar Package Importer
  • Author(s): John Dong
  • Date: 2008-02-25 15:47:12 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080225154712-qvr11ekcea4c9ry8
Tags: 1.1.6-0.1ubuntu1
* Merge from debian-multimedia (LP: #120003), Ubuntu Changes:
 - For ffmpeg-related build-deps, remove cvs from package names.
 - Standards-Version 3.7.3
 - Maintainer Spec

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#
2
2
# Main ffmpeg Makefile
3
 
# (c) 2000, 2001, 2002 Fabrice Bellard
 
3
# (c) 2000-2004 Fabrice Bellard
4
4
#
5
5
include config.mak
6
6
 
7
 
VPATH=$(SRC_PATH)
8
 
 
9
 
CFLAGS= $(OPTFLAGS) -Wall -g -I. -I$(SRC_PATH) -I$(SRC_PATH)/libavcodec -I$(SRC_PATH)/libavformat -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
10
 
LDFLAGS+= -g 
11
 
 
12
 
ifeq ($(TARGET_GPROF),yes)
13
 
CFLAGS+=-p
14
 
LDFLAGS+=-p
15
 
endif
16
 
 
17
 
PROG=ffmpeg$(EXESUF)
18
 
PROGTEST=output_example$(EXESUF)
19
 
 
20
 
ifeq ($(CONFIG_FFSERVER),yes)
21
 
PROG+=ffserver$(EXESUF)
22
 
endif
23
 
 
24
 
ifeq ($(CONFIG_FFPLAY),yes)
25
 
PROG+=ffplay$(EXESUF)
26
 
endif
27
 
 
28
 
ifeq ($(CONFIG_AUDIO_BEOS),yes)
29
 
EXTRALIBS+=-lmedia -lbe
30
 
endif
 
7
VPATH=$(SRC_PATH_BARE)
 
8
 
 
9
CFLAGS=$(OPTFLAGS) -I$(BUILD_ROOT) -I$(SRC_PATH) -I$(SRC_PATH)/libavutil \
 
10
       -I$(SRC_PATH)/libavcodec -I$(SRC_PATH)/libavformat -I$(SRC_PATH)/libswscale \
 
11
       -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE
 
12
LDFLAGS+= -g
 
13
 
 
14
PROGS-$(CONFIG_FFMPEG)   += ffmpeg
 
15
PROGS-$(CONFIG_FFPLAY)   += ffplay
 
16
PROGS-$(CONFIG_FFSERVER) += ffserver
 
17
 
 
18
PROGS = $(addsuffix $(EXESUF), $(PROGS-yes))
 
19
PROGS_G = $(addsuffix _g$(EXESUF), $(PROGS-yes))
 
20
MANPAGES = $(addprefix doc/, $(addsuffix .1, $(PROGS-yes)))
 
21
 
 
22
BASENAMES=ffmpeg ffplay ffserver
 
23
ALLPROGS=$(addsuffix $(EXESUF), $(BASENAMES))
 
24
ALLPROGS_G=$(addsuffix _g$(EXESUF), $(BASENAMES))
 
25
ALLMANPAGES=$(addsuffix .1, $(BASENAMES))
31
26
 
32
27
ifeq ($(BUILD_SHARED),yes)
33
28
DEP_LIBS=libavcodec/$(SLIBPREF)avcodec$(SLIBSUF) libavformat/$(SLIBPREF)avformat$(SLIBSUF)
34
29
else
35
30
DEP_LIBS=libavcodec/$(LIBPREF)avcodec$(LIBSUF) libavformat/$(LIBPREF)avformat$(LIBSUF)
36
 
ifeq ($(CONFIG_MP3LAME),yes)
37
 
EXTRALIBS+=-lmp3lame
38
 
endif
39
 
endif
40
 
 
41
 
ifeq ($(CONFIG_VORBIS),yes)
42
 
EXTRALIBS+=-logg -lvorbis -lvorbisenc
43
 
endif
44
 
 
45
 
ifeq ($(CONFIG_FAAD),yes)
46
 
ifeq ($(CONFIG_FAADBIN),yes)
47
 
# no libs needed
48
 
else
49
 
EXTRALIBS += -lfaad
50
 
endif
51
 
endif
52
 
 
53
 
ifeq ($(BUILD_VHOOK),yes)
54
 
VHOOK=videohook
55
 
INSTALLVHOOK=install-vhook
56
 
CLEANVHOOK=clean-vhook
57
 
endif
58
 
 
59
 
ifeq ($(TARGET_OS), SunOS)
60
 
TEST=/usr/bin/test
61
 
else
62
 
TEST=test
63
 
endif
64
 
 
65
 
OBJS = ffmpeg.o ffserver.o cmdutils.o ffplay.o
66
 
SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s)
67
 
FFLIBS = -L./libavformat -lavformat -L./libavcodec -lavcodec
68
 
 
69
 
all: lib $(PROG) $(PROGTEST) $(VHOOK)
 
31
endif
 
32
 
 
33
ifeq ($(CONFIG_VHOOK),yes)
 
34
all: videohook
 
35
install: install-vhook
 
36
endif
 
37
 
 
38
ifeq ($(BUILD_DOC),yes)
 
39
all: documentation
 
40
install: install-man
 
41
endif
 
42
 
 
43
SRCS = ffmpeg.c ffserver.c cmdutils.c ffplay.c
 
44
LDFLAGS := -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil $(LDFLAGS)
 
45
EXTRALIBS := -lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)
 
46
 
 
47
ifeq ($(CONFIG_SWSCALER),yes)
 
48
LDFLAGS+=-L./libswscale
 
49
EXTRALIBS+=-lswscale$(BUILDSUF)
 
50
endif
 
51
 
 
52
all: lib $(PROGS)
70
53
 
71
54
lib:
72
 
        $(MAKE) -C libavcodec all
 
55
        $(MAKE) -C libavutil   all
 
56
        $(MAKE) -C libavcodec  all
73
57
        $(MAKE) -C libavformat all
 
58
ifeq ($(CONFIG_PP),yes)
 
59
        $(MAKE) -C libpostproc all
 
60
endif
 
61
ifeq ($(CONFIG_SWSCALER),yes)
 
62
        $(MAKE) -C libswscale  all
 
63
endif
74
64
 
75
65
ffmpeg_g$(EXESUF): ffmpeg.o cmdutils.o .libs
76
 
        $(CC) $(LDFLAGS) -o $@ ffmpeg.o cmdutils.o $(FFLIBS) $(EXTRALIBS)
77
 
 
78
 
ffmpeg$(EXESUF): ffmpeg_g$(EXESUF)
79
 
        cp -p $< $@
80
 
        $(STRIP) $@
 
66
        $(CC) $(LDFLAGS) -o $@ ffmpeg.o cmdutils.o $(EXTRALIBS)
81
67
 
82
68
ffserver$(EXESUF): ffserver.o .libs
83
 
        $(CC) $(LDFLAGS) $(FFSLDFLAGS) -o $@ ffserver.o $(FFLIBS) $(EXTRALIBS) 
 
69
        $(CC) $(LDFLAGS) $(FFSERVERLDFLAGS) -o $@ ffserver.o $(EXTRALIBS)
84
70
 
85
71
ffplay_g$(EXESUF): ffplay.o cmdutils.o .libs
86
 
        $(CC) $(LDFLAGS) -o $@ ffplay.o cmdutils.o $(FFLIBS) $(EXTRALIBS) $(SDL_LIBS)
 
72
        $(CC) $(LDFLAGS) -o $@ ffplay.o cmdutils.o $(EXTRALIBS) $(SDL_LIBS)
87
73
 
88
 
ffplay$(EXESUF): ffplay_g$(EXESUF)
 
74
%$(EXESUF): %_g$(EXESUF)
89
75
        cp -p $< $@
90
76
        $(STRIP) $@
91
77
 
 
78
SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
 
79
ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES))
 
80
version.h: $(SVN_ENTRIES)
 
81
endif
 
82
 
 
83
version.h:
 
84
        $(SRC_PATH)/version.sh $(SRC_PATH)
 
85
 
92
86
output_example$(EXESUF): output_example.o .libs
93
 
        $(CC) $(LDFLAGS) -o $@ output_example.o $(FFLIBS) $(EXTRALIBS)
 
87
        $(CC) $(LDFLAGS) -o $@ output_example.o $(EXTRALIBS)
 
88
 
 
89
qt-faststart$(EXESUF): qt-faststart.c
 
90
        $(CC) $(CFLAGS) $< -o $@
 
91
 
 
92
cws2fws$(EXESUF): cws2fws.c
 
93
        $(CC) $< -o $@ -lz
94
94
 
95
95
ffplay.o: ffplay.c
96
 
        $(CC) $(CFLAGS) $(SDL_CFLAGS) -c -o $@ $< 
 
96
        $(CC) $(CFLAGS) $(SDL_CFLAGS) -c -o $@ $<
 
97
 
 
98
ffmpeg.o ffplay.o ffserver.o: version.h
97
99
 
98
100
%.o: %.c
99
 
        $(CC) $(CFLAGS) -c -o $@ $< 
 
101
        $(CC) $(CFLAGS) -c -o $@ $<
100
102
 
101
103
videohook: .libs
102
104
        $(MAKE) -C vhook all
103
105
 
104
 
.PHONY: install
105
 
 
106
 
install: all install-man $(INSTALLVHOOK)
107
 
        $(MAKE) -C libavcodec install
108
 
        $(MAKE) -C libavformat install
 
106
documentation:
 
107
        $(MAKE) -C doc all
 
108
 
 
109
install: install-progs install-libs install-headers
 
110
 
 
111
ifeq ($(BUILD_SHARED),yes)
 
112
install-progs: $(PROGS) install-libs
 
113
else
 
114
install-progs: $(PROGS)
 
115
endif
109
116
        install -d "$(bindir)"
110
 
        install -c -s -m 755 $(PROG) "$(bindir)"
 
117
        install -c -m 755 $(PROGS) "$(bindir)"
111
118
 
112
 
# create the window installer
 
119
# Create the Windows installer.
113
120
wininstaller: all install
114
121
        makensis ffinstall.nsi
115
122
 
116
 
# install man from source dir if available
117
123
install-man:
118
 
ifneq ($(CONFIG_WIN32),yes)
119
 
        if [ -f $(SRC_PATH)/doc/ffmpeg.1 ] ; then \
120
 
            install -d $(mandir)/man1 ; \
121
 
            install -m 644 $(SRC_PATH)/doc/ffmpeg.1 $(SRC_PATH)/doc/ffplay.1 \
122
 
                           $(SRC_PATH)/doc/ffserver.1 $(mandir)/man1 ; \
123
 
        fi
124
 
endif
125
 
 
126
 
install-vhook: $(prefix)/lib/vhook
127
 
        $(MAKE) -C vhook install INSTDIR=$(prefix)/lib/vhook
128
 
 
129
 
$(prefix)/lib/vhook:
130
 
        install -d $@
131
 
 
132
 
installlib:
133
 
        $(MAKE) -C libavcodec installlib
134
 
        $(MAKE) -C libavformat installlib
135
 
 
136
 
dep:    depend
137
 
 
138
 
depend: .depend
139
 
        make -C libavcodec depend
140
 
        make -C libavformat depend
141
 
ifeq ($(BUILD_VHOOK),yes)
142
 
        make -C vhook depend
143
 
endif
144
 
 
145
 
.depend: $(SRCS)
146
 
        $(CC) -MM $(CFLAGS) $^ 1>.depend
147
 
 
148
 
.libs: lib
149
 
        @test -f .libs || touch .libs
150
 
        @for i in $(DEP_LIBS) ; do if $(TEST) $$i -nt .libs ; then touch .libs; fi ; done
151
 
 
152
 
clean: $(CLEANVHOOK)
153
 
        $(MAKE) -C libavcodec clean
 
124
        install -d "$(mandir)/man1"
 
125
        install -m 644 $(MANPAGES) "$(mandir)/man1"
 
126
 
 
127
install-vhook:
 
128
        $(MAKE) -C vhook install
 
129
 
 
130
install-libs:
 
131
        $(MAKE) -C libavutil   install-libs
 
132
        $(MAKE) -C libavcodec  install-libs
 
133
        $(MAKE) -C libavformat install-libs
 
134
ifeq ($(CONFIG_PP),yes)
 
135
        $(MAKE) -C libpostproc install-libs
 
136
endif
 
137
ifeq ($(CONFIG_SWSCALER),yes)
 
138
        $(MAKE) -C libswscale  install-libs
 
139
endif
 
140
 
 
141
ifeq ($(BUILD_SHARED),yes)
 
142
        -$(LDCONFIG)
 
143
endif
 
144
 
 
145
install-headers:
 
146
        $(MAKE) -C libavutil   install-headers
 
147
        $(MAKE) -C libavcodec  install-headers
 
148
        $(MAKE) -C libavformat install-headers
 
149
ifeq ($(CONFIG_PP),yes)
 
150
        $(MAKE) -C libpostproc install-headers
 
151
endif
 
152
        $(MAKE) -C libswscale  install-headers
 
153
 
 
154
uninstall: uninstall-progs uninstall-libs uninstall-headers uninstall-man uninstall-vhook
 
155
 
 
156
uninstall-progs:
 
157
        rm -f $(addprefix $(bindir)/, $(ALLPROGS))
 
158
 
 
159
uninstall-man:
 
160
        rm -f $(addprefix $(mandir)/man1/,$(ALLMANPAGES))
 
161
 
 
162
uninstall-vhook:
 
163
        $(MAKE) -C vhook uninstall
 
164
 
 
165
uninstall-libs:
 
166
        $(MAKE) -C libavutil   uninstall-libs
 
167
        $(MAKE) -C libavcodec  uninstall-libs
 
168
        $(MAKE) -C libavformat uninstall-libs
 
169
        $(MAKE) -C libpostproc uninstall-libs
 
170
 
 
171
uninstall-headers:
 
172
        $(MAKE) -C libavutil   uninstall-headers
 
173
        $(MAKE) -C libavcodec  uninstall-headers
 
174
        $(MAKE) -C libavformat uninstall-headers
 
175
        $(MAKE) -C libpostproc uninstall-headers
 
176
        -rmdir "$(incdir)"
 
177
        -rmdir "$(prefix)/include/postproc"
 
178
 
 
179
depend dep: .depend
 
180
        $(MAKE) -C libavutil   depend
 
181
        $(MAKE) -C libavcodec  depend
 
182
        $(MAKE) -C libavformat depend
 
183
ifeq ($(CONFIG_PP),yes)
 
184
        $(MAKE) -C libpostproc depend
 
185
endif
 
186
ifeq ($(CONFIG_SWSCALER),yes)
 
187
        $(MAKE) -C libswscale  depend
 
188
endif
 
189
ifeq ($(CONFIG_VHOOK),yes)
 
190
        $(MAKE) -C vhook       depend
 
191
endif
 
192
 
 
193
.depend: $(SRCS) version.h
 
194
        $(CC) -MM $(CFLAGS) $(SDL_CFLAGS) $(filter-out %.h,$^) 1>.depend
 
195
 
 
196
$(DEP_LIBS): lib
 
197
 
 
198
.libs: $(DEP_LIBS)
 
199
        touch $@
 
200
 
 
201
clean:
 
202
        $(MAKE) -C libavutil   clean
 
203
        $(MAKE) -C libavcodec  clean
154
204
        $(MAKE) -C libavformat clean
155
 
        $(MAKE) -C tests clean
156
 
        rm -f *.o *.d *~ .libs .depend gmon.out TAGS ffmpeg_g$(EXESUF) ffplay_g$(EXESUF) $(PROG) $(PROGTEST)
157
 
 
158
 
clean-vhook:
159
 
        $(MAKE) -C vhook clean
 
205
        $(MAKE) -C libpostproc clean
 
206
        $(MAKE) -C libswscale  clean
 
207
        $(MAKE) -C tests       clean
 
208
        $(MAKE) -C vhook       clean
 
209
        $(MAKE) -C doc         clean
 
210
        rm -f *.o *.d *~ .libs gmon.out TAGS $(ALLPROGS) $(ALLPROGS_G) \
 
211
           output_example$(EXESUF) qt-faststart$(EXESUF) cws2fws$(EXESUF)
160
212
 
161
213
distclean: clean
162
 
        $(MAKE) -C libavcodec distclean
163
 
        rm -f config.mak config.h
 
214
        $(MAKE) -C libavutil   distclean
 
215
        $(MAKE) -C libavcodec  distclean
 
216
        $(MAKE) -C libavformat distclean
 
217
        $(MAKE) -C libpostproc distclean
 
218
        $(MAKE) -C libswscale  distclean
 
219
        $(MAKE) -C tests       distclean
 
220
        $(MAKE) -C vhook       distclean
 
221
        rm -f .depend version.h config.* *.pc
164
222
 
165
223
TAGS:
166
224
        etags *.[ch] libavformat/*.[ch] libavcodec/*.[ch]
167
225
 
168
226
# regression tests
169
227
 
170
 
libavtest test mpeg4 mpeg test-server fulltest: ffmpeg$(EXESUF)
 
228
codectest libavtest test-server fulltest test mpeg4 mpeg: $(PROGS)
171
229
        $(MAKE) -C tests $@
172
230
 
173
 
# tar release (use 'make -k tar' on a checkouted tree)
174
 
FILE=ffmpeg-$(shell grep "\#define FFMPEG_VERSION " libavcodec/avcodec.h | \
175
 
                    cut -d "\"" -f 2 )
176
 
 
177
 
tar:
178
 
        rm -rf /tmp/$(FILE)
179
 
        cp -r . /tmp/$(FILE)
180
 
        ( cd /tmp ; tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS )
181
 
        rm -rf /tmp/$(FILE)
182
 
 
183
 
.PHONY: lib
184
 
 
185
 
ifneq ($(wildcard .depend),)
186
 
include .depend
187
 
endif
 
231
.PHONY: all lib videohook documentation install* wininstaller uninstall*
 
232
.PHONY: dep depend clean distclean TAGS
 
233
.PHONY: codectest libavtest test-server fulltest test mpeg4 mpeg
 
234
 
 
235
-include .depend