libv4l: Makefiles: better dependency generation
authorhans@rhel5-devel.localdomain <hans@rhel5-devel.localdomain>
Thu, 16 Apr 2009 08:52:39 +0000 (10:52 +0200)
committerhans@rhel5-devel.localdomain <hans@rhel5-devel.localdomain>
Thu, 16 Apr 2009 08:52:39 +0000 (10:52 +0200)
From: Gregor Jasny <gjasny@googlemail.com>

libv4l: Makefiles: better dependency generation

Priority: normal

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
lib/libv4l1/Makefile
lib/libv4l2/Makefile
lib/libv4lconvert/Makefile

index d228cc9..bd6687e 100644 (file)
@@ -35,7 +35,7 @@ endif
 
 all: $(TARGETS)
 
-include $(V4L1_OBJS:.o=.d)
+-include $(V4L1_OBJS:.o=.d)
 
 $(V4L1_LIB): $(V4L1_DEPS)
 
@@ -73,12 +73,8 @@ endif
 clean::
        rm -f *.a *.so* *.o *.d libv4l1.pc log *~ *.orig *.rej
 
-%.d: %.c
-       @set -e; rm -f $@; \
-       gcc -MM $(CPPFLAGS) $< | sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' > $@
-
 %.o: %.c
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
+       $(CC) -Wp,-MMD,"$*.d",-MQ,"$@",-MP -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
 
 %.so:
        $(CC) -shared $(LDFLAGS) -Wl,-soname,$@.$(LIB_RELEASE) -o $@.$(LIB_RELEASE) $^ $(LIBS_$*)
index 463e4e8..6a22715 100644 (file)
@@ -35,7 +35,7 @@ endif
 
 all: $(TARGETS)
 
-include $(V4L2_OBJS:.o=.d)
+-include $(V4L2_OBJS:.o=.d)
 
 $(V4L2_LIB): $(V4L2_DEPS)
 
@@ -73,12 +73,8 @@ endif
 clean::
        rm -f *.a *.so* *.o *.d libv4l2.pc log *~ *.orig *.rej
 
-%.d: %.c
-       @set -e; rm -f $@; \
-       gcc -MM $(CPPFLAGS) $< | sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' > $@
-
 %.o: %.c
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
+       $(CC) -Wp,-MMD,"$*.d",-MQ,"$@",-MP -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
 
 %.so:
        $(CC) -shared $(LDFLAGS) -Wl,-soname,$@.$(LIB_RELEASE) -o $@.$(LIB_RELEASE) $^ $(LIBS_$*)
index 0e1d5e8..1ffabcb 100644 (file)
@@ -34,7 +34,7 @@ endif
 
 all: $(TARGETS)
 
-include $(CONVERT_OBJS:.o=.d)
+-include $(CONVERT_OBJS:.o=.d)
 
 $(CONVERT_LIB): $(CONVERT_OBJS)
 
@@ -67,12 +67,8 @@ clean::
        rm -f *.a *.so* *.o *.d */*.o */*.d libv4lconvert.pc log *~ */*~
        rm -f *.orig *.rej */*.orig */*.rej
 
-%.d:: %.c
-       @set -e; rm -f $@; \
-       $(CC) -MM $(CPPFLAGS) $< | sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' > $@
-
 %.o: %.c
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
+       $(CC) -Wp,-MMD,"$*.d",-MQ,"$@",-MP -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
 
 %.so:
        $(CC) -shared $(LDFLAGS) -Wl,-soname,$@.$(LIB_RELEASE) -o $@.$(LIB_RELEASE) $^ $(LIBS_$*)