dependency handling is consistant with libavcodec
[libav.git] / libavformat / Makefile
index 0ecdcc2..897c401 100644 (file)
@@ -50,17 +50,20 @@ endif
 
 LIB= $(LIBPREF)avformat$(LIBSUF)
 
-DEPS= $(OBJS:.o=.d)
+SRCS := $(OBJS:.o=.c)
 
 all: $(LIB)
 
-$(LIB): $(OBJS)
+$(LIB): .depend $(OBJS)
        rm -f $@
        $(AR) rc $@ $(OBJS)
 ifneq ($(CONFIG_OS2),yes)
        $(RANLIB) $@
 endif
 
+.depend: $(SRCS)
+       $(CC) -MM $(CFLAGS) $^ 1>.depend
+
 installlib: all
        install -m 644 $(LIB) $(prefix)/lib
        mkdir -p $(prefix)/include/ffmpeg
@@ -72,15 +75,16 @@ installlib: all
 %.o: %.c
        $(CC) $(CFLAGS) -c -o $@ $< 
 
-%.d: %.c
-       @echo $@ \\ > $@
-       $(CC) $(CFLAGS) -MM $< >> $@
-
--include $(DEPS)        
-
 # BeOS: remove -Wall to get rid of all the "multibyte constant" warnings
 %.o: %.cpp
        g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $< 
 
 clean: 
-       rm -f *.o *.d *~ *.a $(LIB)
+       rm -f *.o *.d .depend *~ *.a $(LIB)
+
+#
+# include dependency files if they exist
+#
+ifneq ($(wildcard .depend),)
+include .depend
+endif