X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile.dep;h=ca2c1db6d90f515402e4fac84d830c04029183e3;hb=24305848d4fc126da6dcb5fae448418407a10507;hp=7f5413a02aad68ce30818f03e7fd13b2197eac32;hpb=b0ab70c9bfc80da45733bc4fecbb0ccbedf30fc0;p=vlc diff --git a/Makefile.dep b/Makefile.dep index 7f5413a02a..ca2c1db6d9 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -1,12 +1,30 @@ ################################################################################ -# vlc (VideoLAN Client) dependancies makefile +# vlc (VideoLAN Client) dependencies makefile # (c)1998 VideoLAN ################################################################################ # This Makefile is dedicated to build of .d files. It should not be called # directly by user, but only through main Makefile. -# See notes at the end of the main makefile for explanations. ################################################################################ +############################################################################### +# Note on generic rules and dependencies +############################################################################### + +# Note on dependencies: each .c file is associated with a .d file, which +# depends of it. The .o file associated with a .c file depends of the .d, of the +# .c itself, and of Makefile. The .d files are stored in a separate .dep/ +# directory. +# The dep directory should be ignored by CVS. + +# Note on inclusions: depending of the target, the dependencies files must +# or must not be included. The problem is that if we ask make to include a file, +# and this file does not exist, it is made before it can be included. In a +# general way, a .d file should be included if and only if the corresponding .o +# needs to be re-made. + +# The object Makefile knows how to make a .o from a .c, and includes +# dependencies for the target, but only those required. + # All settings and options are passed through main Makefile ################################################################################ @@ -18,26 +36,26 @@ default: @echo "see notes at end of main Makefile." ################################################################################ -# Dependancies creation +# Dependencies creation ################################################################################ -# A dependancies file needs to be rebuilt if the .c changed or if one of the -# dependancies files have been changed. In other words, it depends from the +# A dependencies file needs to be rebuilt if the .c changed or if one of the +# dependencies files have been changed. In other words, it depends from the # .c and from itself. -include $(MAKECMDGOALS) -$(cdependancies): .dep/%.d: %.c +$(C_DEP): .dep/%.d: %.c @test -d .dep/$(dir $*) || mkdir -p .dep/$(dir $*) - #@echo "generating dependancies for $*.c" + @echo "regenerating dependencies for $*.c" @$(SHELL) -ec '$(CC) $(DCFLAGS) $(CFLAGS) $(DEFINE) 2>/dev/null $< \ | sed '\''s/$(subst .,\.,$(notdir $*))\.o[ :]*/$(subst /,\/,$*).o \ .dep\/$(subst /,\/,$*).d : /g'\'' > $@; \ [ -s $@ ] || rm -f $@' -$(cppdependancies): .dep/%.dpp: %.cpp +$(CPP_DEP): .dep/%.dpp: %.cpp @test -d .dep/$(dir $*) || mkdir -p .dep/$(dir $*) - #@echo "generating dependancies for $*.c" + @echo "regenerating dependencies for $*.c" @$(SHELL) -ec '$(CC) $(DCFLAGS) $(CFLAGS) $(DEFINE) 2>/dev/null $< \ | sed '\''s/$(subst .,\.,$(notdir $*))\.o[ :]*/$(subst /,\/,$*).o \ .dep\/$(subst /,\/,$*).dpp : /g'\'' > $@; \