From: Andre Noll Date: Thu, 1 Oct 2009 00:04:40 +0000 (+0200) Subject: Switch to one dependency file per C file. X-Git-Tag: v0.4.0~20 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=2affc76498c7336136eac18ce58e4be78aab6e77 Switch to one dependency file per C file. This prevents to rebuild the full Makefile.deps every time. It also tracks the dependencies for the cmdline.c files correctly. --- diff --git a/Makefile.in b/Makefile.in index 9556cff2..b156d1a7 100644 --- a/Makefile.in +++ b/Makefile.in @@ -89,9 +89,6 @@ all: $(BINARIES) $(man_pages) man: $(man_pages) tarball: $(tarball) -Makefile.deps: $(wildcard *.c *.h) $(cmdline_generated) - gcc -MM -MG -I$(cmdline_dir) @faad_cppflags@ @mad_cppflags@ @oggvorbis_cppflags@ *.c > $@ --include Makefile.deps -include $(ggo_dir)/makefile %_command_list.c: %.cmd @@ -145,12 +142,19 @@ $(object_dir)/aac_common.o: aac_common.c | $(object_dir) $(object_dir)/aac_afh.o: aac_afh.c | $(object_dir) $(CC) -c -o $@ $(CPPFLAGS) $(DEBUG_CPPFLAGS) @faad_cppflags@ $< -$(object_dir)/%.cmdline.o: $(cmdline_dir)/%.cmdline.c | $(object_dir) +$(object_dir)/%.cmdline.o: $(cmdline_dir)/%.cmdline.c $(cmdline_dir)/%.cmdline.h | $(object_dir) $(CC) -c $(CPPFLAGS) -o $@ $< $(object_dir)/%.o: %.c | $(object_dir) $(CC) -c -o $@ $(CPPFLAGS) $(DEBUG_CPPFLAGS) $< +# We depend on the *.cmdline.[ch] files as these must be present for depend.sh +# to work. The first dependency is explititly given as it is used by $<. +$(object_dir)/%.cmdline.d: %.cmdline.c $(cmdline_generated) | $(object_dir) + ./depend.sh $(object_dir) $(CPPFLAGS) $< > $@ +$(object_dir)/%.d: %.c $(cmdline_generated) | $(object_dir) + ./depend.sh $(object_dir) $(CPPFLAGS) $< > $@ + recv_objs := $(addprefix $(object_dir)/, @recv_objs@) filter_objs := $(addprefix $(object_dir)/, @filter_objs@) client_objs := $(addprefix $(object_dir)/, @client_objs@) @@ -162,6 +166,11 @@ server_objs := $(addprefix $(object_dir)/, @server_objs@) write_objs := $(addprefix $(object_dir)/, @write_objs@) afh_objs := $(addprefix $(object_dir)/, @afh_objs@) +all_objs := $(recv_objs) $(filter_objs) $(client_objs) $(gui_objs) \ + $(audiod_objs ) $(audioc_objs) $(fade_objs) $(server_objs) \ + $(write_objs) $(afh_objs) +-include $(all_objs:.o=.d) + para_recv: $(recv_objs) $(CC) $(LDFLAGS) $(recv_objs) -o $@ @recv_ldflags@