* Fix a problem with the first sample when down sampling.
[ffmpeg.git] / Makefile
index 0467f8d..a4f8d57 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -18,17 +18,31 @@ EXT=
 PROG=ffmpeg ffplay ffserver
 endif
 
+ifeq ($(BUILD_SHARED),yes)
+FFMPEG_LIB=-Llibavcodec -lffmpeg
+DEP_FFMPEG_LIB=
+else
+FFMPEG_LIB=libavcodec/libavcodec.a
+DEP_FFMPEG_LIB=libavcodec/libavcodec.a
+ifeq ($(CONFIG_MP3LAME),yes)
+EXTRALIBS+=-lmp3lame
+endif
+endif
+
+OBJS = ffmpeg.o ffserver.o
+SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s)
+
 all: lib $(PROG)
 
 lib:
        $(MAKE) -C libavcodec all
        $(MAKE) -C libav all
 
-ffmpeg$(EXE): ffmpeg.o libav/libav.a libavcodec/libavcodec.a
-       $(CC) $(LDFLAGS) -o $@ $^ -lm
+ffmpeg$(EXE): ffmpeg.o libav/libav.a $(DEP_FFMPEG_LIB)
+       $(CC) $(LDFLAGS) -o $@ $^ $(FFMPEG_LIB) $(EXTRALIBS)
 
-ffserver$(EXE): ffserver.o libav/libav.a libavcodec/libavcodec.a
-       $(CC) $(LDFLAGS) -o $@ $^ -lm
+ffserver$(EXE): ffserver.o libav/libav.a $(DEP_FFMPEG_LIB)
+       $(CC) $(LDFLAGS) -o $@ $^ $(FFMPEG_LIB) $(EXTRALIBS)
 
 ffplay: ffmpeg$(EXE)
        ln -sf $< $@
@@ -37,13 +51,19 @@ ffplay: ffmpeg$(EXE)
        $(CC) $(CFLAGS) -c -o $@ $< 
 
 install: all
+       $(MAKE) -C libavcodec install
        install -s -m 755 $(PROG) $(prefix)/bin
        ln -sf ffmpeg $(prefix)/bin/ffplay 
 
+dep:   depend
+
+depend:
+       $(CC) -MM $(CFLAGS) $(SRCS) 1>.depend
+
 clean: 
        $(MAKE) -C libavcodec clean
        $(MAKE) -C libav clean
-       rm -f *.o *~ gmon.out TAGS $(PROG) 
+       rm -f *.o *~ .depend gmon.out TAGS $(PROG) 
 
 distclean: clean
        $(MAKE) -C libavcodec distclean
@@ -51,3 +71,7 @@ distclean: clean
 
 TAGS:
        etags *.[ch] libav/*.[ch] libavcodec/*.[ch]
+
+ifneq ($(wildcard .depend),)
+include .depend
+endif