AUtomatic dependency generation. Runs on Linux (at least). Probably should
authorPhilip Gladstone <philipjsg@users.sourceforge.net>
Tue, 14 Jan 2003 15:30:42 +0000 (15:30 +0000)
committerPhilip Gladstone <philipjsg@users.sourceforge.net>
Tue, 14 Jan 2003 15:30:42 +0000 (15:30 +0000)
update .cvsignore (somehere) to exclude .d files

Originally committed as revision 1459 to svn://svn.ffmpeg.org/ffmpeg/trunk

Makefile
libavcodec/Makefile
libavformat/Makefile
vhook/Makefile

index 4d6f366..1c68273 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -54,9 +54,12 @@ endif
 
 OBJS = ffmpeg.o ffserver.o
 SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s)
+DEPS = $(OBJS:.o=.d)
 
 all: lib $(PROG) $(VHOOK)
 
+-include $(DEPS)
+
 lib:
        $(MAKE) -C libavcodec all
        $(MAKE) -C libavformat all
@@ -80,6 +83,10 @@ ffplay: ffmpeg$(EXE)
 %.o: %.c
        $(CC) $(CFLAGS) -c -o $@ $< 
 
+%.d: %.c
+       @echo $@ \\ > $@
+       $(CC) $(CFLAGS) -MM $< >> $@
+
 videohook:
        $(MAKE) -C vhook all
 
@@ -108,7 +115,7 @@ clean: $(CLEANVHOOK)
        $(MAKE) -C libavcodec clean
        $(MAKE) -C libavformat clean
        $(MAKE) -C tests clean
-       rm -f *.o *~ .depend gmon.out TAGS ffmpeg_g$(EXE) $(PROG) 
+       rm -f *.o *.d *~ .depend gmon.out TAGS ffmpeg_g$(EXE) $(PROG) 
 
 clean-vhook:
        $(MAKE) -C vhook clean
index d68422e..bf6aecd 100644 (file)
@@ -89,6 +89,7 @@ OBJS += ppc/dsputil_altivec.o ppc/mpegvideo_altivec.o ppc/idct_altivec.o \
 endif
 
 SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S)
+DEPS := $(OBJS:.o=.d) 
 OBJS := $(OBJS) $(ASM_OBJS)
 
 LIB= $(LIBPREF)avcodec$(LIBSUF)
@@ -116,6 +117,12 @@ dsputil.o: dsputil.c dsputil.h
 %.o: %.c
        $(CC) $(CFLAGS) -c -o $@ $< 
 
+%.d: %.c
+       @echo $@ \\ > $@
+       $(CC) $(CFLAGS) -MM $< >> $@
+
+-include $(DEPS)        
+
 %.o: %.S
        $(CC) $(CFLAGS) -c -o $@ $<
 
@@ -137,7 +144,7 @@ depend:
        $(CC) -MM $(CFLAGS) $(SRCS) 1>.depend
 
 clean: 
-       rm -f *.o *~ .depend $(LIB) $(SLIB) *.so i386/*.o i386/*~ \
+       rm -f *.o *.d *~ .depend $(LIB) $(SLIB) *.so i386/*.o i386/*~ \
           armv4l/*.o armv4l/*~ \
           mlib/*.o mlib/*~ \
           alpha/*.o alpha/*~ \
index 9ff067c..0ecdcc2 100644 (file)
@@ -50,6 +50,8 @@ endif
 
 LIB= $(LIBPREF)avformat$(LIBSUF)
 
+DEPS= $(OBJS:.o=.d)
+
 all: $(LIB)
 
 $(LIB): $(OBJS)
@@ -70,9 +72,15 @@ 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 *~ *.a $(LIB)
+       rm -f *.o *.d *~ *.a $(LIB)
index 898dbb4..5e9023a 100644 (file)
@@ -15,18 +15,25 @@ endif
 
 all: $(HOOKS) 
 
+DEPS= $(HOOKS:.so=.d)
+
 install:
        install -s -m 755 $(HOOKS) $(INSTDIR)
 
 imlib2.so: imlib2.o
        $(CC) -g -o $@ $(SHFLAGS) $< -lImlib2
-       rm $<
 
 %.so: %.o
        $(CC) -g -o $@ $(SHFLAGS) $<
 
+%.d: %.c
+       @echo $@ \\ > $@
+       $(CC) $(CFLAGS) -MM $< >> $@
+
+-include $(DEPS)        
+
 %.html: %.texi
        texi2html -monolithic -number $<
 
 clean:
-       rm -f *.o *.so *~
+       rm -f *.o *.d *.so *~