svn commit: trunk/uClibc

aldot at uclibc.org aldot at uclibc.org
Sun Jun 1 12:50:22 UTC 2008


Author: aldot
Date: 2008-06-01 05:50:21 -0700 (Sun, 01 Jun 2008)
New Revision: 22158

Log:
- since we force make into trying to rebuild unconditionally, we have to
  check for changed prerequisites manually.


Modified:
   trunk/uClibc/Makerules


Changeset:
Modified: trunk/uClibc/Makerules
===================================================================
--- trunk/uClibc/Makerules	2008-06-01 12:40:25 UTC (rev 22157)
+++ trunk/uClibc/Makerules	2008-06-01 12:50:21 UTC (rev 22158)
@@ -107,21 +107,23 @@
 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)




More information about the uClibc-cvs mailing list