Generate dependencies when object files are built
authorMåns Rullgård <mans@mansr.com>
Sat, 8 Aug 2009 18:27:22 +0000 (18:27 +0000)
committerMåns Rullgård <mans@mansr.com>
Sat, 8 Aug 2009 18:27:22 +0000 (18:27 +0000)
Originally committed as revision 19608 to svn://svn.ffmpeg.org/ffmpeg/trunk

common.mak
configure

index b1277e1..4f7abe7 100644 (file)
@@ -21,25 +21,16 @@ ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale
 CPPFLAGS := -DHAVE_AV_CONFIG_H -I$(BUILD_ROOT_REL) -I$(SRC_PATH) $(CPPFLAGS)
 
 %.o: %.c
+       $(DEPEND_CMD)
        $(CC) $(CPPFLAGS) $(CFLAGS) $(LIBOBJFLAGS) -c $(CC_O) $<
 
 %.o: %.S
+       $(DEPEND_CMD)
        $(AS) $(CPPFLAGS) $(ASFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
 
 %.ho: %.h
        $(CC) $(CPPFLAGS) $(CFLAGS) $(LIBOBJFLAGS) -Wno-unused -c -o $@ -x c $<
 
-%.d: %.c
-       $(DEPEND_CMD)
-
-%.d: %.S
-       $(DEPEND_CMD)
-
-%.d: %.cpp
-       $(DEPEND_CMD)
-
-%.o: %.d
-
 %$(EXESUF): %.c
 
 SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
@@ -83,4 +74,4 @@ CLEANSUFFIXES     = *.o *~ *.ho *.map
 DISTCLEANSUFFIXES = *.d *.pc
 LIBSUFFIXES       = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp
 
--include $(DEPS)
+-include $(wildcard $(DEPS))
index 5674b4e..3e92424 100755 (executable)
--- a/configure
+++ b/configure
@@ -1309,7 +1309,7 @@ target_path='.'
 
 # gcc stupidly only outputs the basename of targets with -MM, but we need the
 # full relative path for objects in subdirectories for non-recursive Make.
-DEPEND_CMD='$(DEPCC) $(DEPFLAGS) $< | sed -e "/^\#.*/d" -e "s,^[[:space:]]*$(*F)\\.o,$(@D)/$(*F).o," > $@'
+DEPEND_CMD='$(DEPCC) $(DEPFLAGS) $< | sed -e "/^\#.*/d" -e "s,^[[:space:]]*$(*F)\\.o,$(@D)/$(*F).o," > $(@:.o=.d)'
 DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -MM'
 
 # find source path