From e41fbf6daa3ddcb1891a66cc96d15c3ab30d462f Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Sun, 1 Jun 2008 12:50:21 +0000 Subject: - since we force make into trying to rebuild unconditionally, we have to check for changed prerequisites manually. --- Makerules | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Makerules') diff --git a/Makerules b/Makerules index 16a5fdaf5..a668f4c41 100644 --- a/Makerules +++ b/Makerules @@ -107,21 +107,23 @@ disp_t_strip = $($(DISP)_disp_t_strip) disp_ar = $($(DISP)_disp_ar) disp_ld = $($(DISP)_disp_ld) -CFLAGS_gen.dep = -MT $@ -MD -MF $(dir $@).$(notdir $@).dep +any-prereq = $(filter-out FORCE,$?) $(filter-out FORCE $(wildcard $^),$^) # True if not identical. Neither order nor whitespace nor identical flags # matter. compare_flags = $(strip $(filter-out $(cmd_$(1)), $(cmd_$(@))) \ $(filter-out $(cmd_$(@)), $(cmd_$(1)))) -# Rebuild if the used CC or flags changed. +# Rebuild if any prerequisite, the used CC or flags changed. # Previously used flags are stored in the corresponding .%.dep files -maybe_exec = $(if $(strip $(compare_flags)), \ +maybe_exec = $(if $(strip $(compare_flags) $(any-prereq)), \ @set -e; \ $(disp_$(1)); \ $(cmd_$(1)); \ echo 'cmd_$@ := $(cmd_$1)' >> $(dir $@).$(notdir $@).dep) +CFLAGS_gen.dep = -MT $@ -MD -MF $(dir $@).$(notdir $@).dep + cmd_compile.c = $(CC) -c $< -o $@ $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(filter-out $(CFLAGS-OMIT-$(notdir $<)),$(CFLAGS-$(notdir $(^D)))) $(CFLAGS-$(subst $(top_srcdir),,$(dir $<))) $(CFLAGS-$(notdir $<)) $(CFLAGS-$(notdir $@)) $(CFLAGS_gen.dep) cmd_compile.i = $(cmd_compile.c:-c=-E -dD) cmd_compile.s = $(cmd_compile.c:-c=-S) -- cgit v1.2.3