Newer
Older
# (c) 2000-2004 Fabrice Bellard
CFLAGS=$(OPTFLAGS) -I. -I$(SRC_PATH) -I$(SRC_PATH)/libavutil -I$(SRC_PATH)/libavcodec -I$(SRC_PATH)/libavformat -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
Fabrice Bellard
committed
ifeq ($(TARGET_GPROF),yes)
MANPAGES=doc/ffmpeg.1
PROGS_G+=ffmpeg_g$(EXESUF)
PROGS+=ffmpeg$(EXESUF)
QTFASTSTART=qt-faststart$(EXESUF)
MANPAGES+=doc/ffserver.1
PROGS+=ffserver$(EXESUF)
MANPAGES+=doc/ffplay.1
PROGS_G+=ffplay_g$(EXESUF)
PROGS+=ffplay$(EXESUF)
FFPLAY_O=ffplay.o
endif
ifeq ($(CONFIG_AUDIO_BEOS),yes)
EXTRALIBS+=-lmedia -lbe
endif
Tim Allen
committed
DEP_LIBS=libavcodec/$(SLIBPREF)avcodec$(SLIBSUF) libavformat/$(SLIBPREF)avformat$(SLIBSUF)
DEP_LIBS=libavcodec/$(LIBPREF)avcodec$(LIBSUF) libavformat/$(LIBPREF)avformat$(LIBSUF)
ifeq ($(BUILD_VHOOK),yes)
VHOOK=videohook
INSTALLVHOOK=install-vhook
ifeq ($(TARGET_OS), SunOS)
TEST=/usr/bin/test
else
TEST=test
endif
Nicolas Boos
committed
ifeq ($(BUILD_DOC),yes)
DOC=documentation
endif
OBJS = ffmpeg.o ffserver.o cmdutils.o $(FFPLAY_O)
FFLIBS = -L./libavformat -lavformat$(BUILDSUF) -L./libavcodec -lavcodec$(BUILDSUF) -L./libavutil -lavutil$(BUILDSUF)
all: lib $(PROGS_G) $(PROGS) $(PROGTEST) $(VHOOK) $(QTFASTSTART) $(DOC)
$(MAKE) -C libavutil all
$(MAKE) -C libavcodec all
ifeq ($(CONFIG_PP),yes)
$(MAKE) -C libavcodec/libpostproc all
endif
$(CC) $(LDFLAGS) -o $@ ffmpeg.o cmdutils.o $(FFLIBS) $(EXTRALIBS)
cp -p $< $@
$(STRIP) $@
Fabrice Bellard
committed
$(CC) $(LDFLAGS) $(FFSLDFLAGS) -o $@ ffserver.o $(FFLIBS) $(EXTRALIBS)
$(CC) $(LDFLAGS) -o $@ ffplay.o cmdutils.o $(FFLIBS) $(EXTRALIBS) $(SDL_LIBS)
$(CC) $(LDFLAGS) -o $@ output_example.o $(FFLIBS) $(EXTRALIBS)
qt-faststart$(EXESUF): qt-faststart.c
$(CC) $(CFLAGS) $(SRC_PATH)/qt-faststart.c -o qt-faststart$(EXESUF)
Alex Beregszaszi
committed
cws2fws$(EXESUF): cws2fws.c
$(CC) $(SRC_PATH)/cws2fws.c -o cws2fws$(EXESUF) -lz
$(CC) $(CFLAGS) $(SDL_CFLAGS) -c -o $@ $<
$(MAKE) -C vhook all
Nicolas Boos
committed
documentation:
$(MAKE) -C doc all
install: install-progs install-libs install-headers install-man $(INSTALLVHOOK)
ifeq ($(BUILD_SHARED),yes)
install-progs: $(PROGS) install-libs
else
install-progs: $(PROGS)
endif
install -c $(INSTALLSTRIP) -m 755 $(PROGS) "$(bindir)"
# create the window installer
wininstaller: all install
makensis ffinstall.nsi
# install man from source dir if available
install-man:
Philipp Matthias Hahn
committed
if [ -f doc/ffmpeg.1 ] ; then \
Michael Niedermayer
committed
install -d "$(mandir)/man1" ; \
install -m 644 $(MANPAGES) "$(mandir)/man1" ; \
Michael Niedermayer
committed
install-vhook:
$(MAKE) -C vhook install
install-libs:
$(MAKE) -C libavutil install-libs
$(MAKE) -C libavcodec install-libs
$(MAKE) -C libavformat install-libs
ifeq ($(CONFIG_PP),yes)
$(MAKE) -C libavcodec/libpostproc install-libs
ifeq ($(BUILD_SHARED),yes)
Fabrice Bellard
committed
install-headers:
$(MAKE) -C libavutil install-headers
$(MAKE) -C libavcodec install-headers
$(MAKE) -C libavformat install-headers
ifeq ($(CONFIG_PP),yes)
$(MAKE) -C libavcodec/libpostproc install-headers
endif
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
uninstall: uninstall-progs uninstall-libs uninstall-headers uninstall-man uninstall-vhook
ALLPROGS=ffmpeg ffplay ffserver
uninstall-progs:
rm -f $(addprefix $(bindir)/, $(ALLPROGS))
ALLMANPAGES=$(addsuffix .1, $(ALLPROGS))
uninstall-man:
ifneq ($(CONFIG_WIN32),yes)
rm -f $(addprefix $(mandir)/man1/,$(ALLMANPAGES))
endif
uninstall-vhook:
$(MAKE) -C vhook uninstall
uninstall-libs:
$(MAKE) -C libavutil uninstall-libs
$(MAKE) -C libavcodec uninstall-libs
$(MAKE) -C libavformat uninstall-libs
$(MAKE) -C libavcodec/libpostproc uninstall-libs
uninstall-headers:
$(MAKE) -C libavutil uninstall-headers
$(MAKE) -C libavcodec uninstall-headers
$(MAKE) -C libavformat uninstall-headers
$(MAKE) -C libavcodec/libpostproc uninstall-headers
-rmdir "$(incdir)"
-rmdir "$(prefix)/include/postproc"
Steven M. Schultz
committed
$(MAKE) -C libavformat depend
ifeq ($(BUILD_VHOOK),yes)
.depend: $(SRCS)
$(CC) -MM $(CFLAGS) $(SDL_CFLAGS) $^ 1>.depend
@test -f .libs || touch .libs
@for i in $(DEP_LIBS) ; do if $(TEST) $$i -nt .libs ; then touch .libs; fi ; done
$(MAKE) -C libavutil clean
$(MAKE) -C libavcodec clean
$(MAKE) -C libavcodec/libpostproc clean
$(MAKE) -C tests clean
$(MAKE) -C vhook clean
rm -f *.o *.d *~ .libs gmon.out TAGS \
$(PROGS) $(PROGS_G) $(PROGTEST) $(QTFASTSTART)
Michel Bardiaux
committed
# Note well: config.log is NOT removed.
$(MAKE) -C libavutil distclean
$(MAKE) -C libavcodec distclean
$(MAKE) -C libavformat distclean
$(MAKE) -C libavcodec/libpostproc distclean
$(MAKE) -C tests distclean
$(MAKE) -C vhook distclean
rm -f .depend config.mak config.h *.pc
etags *.[ch] libavformat/*.[ch] libavcodec/*.[ch]
libavtest test mpeg4 mpeg test-server fulltest: $(PROGS)
# tar release (use 'make -k tar' on a checkouted tree)
FILE=ffmpeg-$(shell grep "\#define FFMPEG_VERSION " libavcodec/avcodec.h | \
cut -d "\"" -f 2 )
tar:
rm -rf /tmp/$(FILE)
cp -r . /tmp/$(FILE)
( cd /tmp ; tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS )
rm -rf /tmp/$(FILE)
ifneq ($(wildcard .depend),)
include .depend
endif