commit d1ba0ee36b2bdd91434b5df90f0f4cceda7d6979
Author: psmith <psmith>
Date:   Mon Sep 10 02:36:05 2012 +0000

    Force intermediate targets to be considered if their non-intermediate
    parent needs to be remade.  Fixes Savannah bug #30653.

diff --git a/remake.c b/remake.c
index c0bf709..b1ddd23 100644
--- a/remake.c
+++ b/remake.c
@@ -612,6 +612,10 @@ update_file_1 (struct file *file, unsigned int depth)
                 d->file->dontcare = file->dontcare;
               }
 
+            /* We may have already considered this file, when we didn't know
+               we'd need to update it.  Force update_file() to consider it and
+               not prune it.  */
+            d->file->considered = !considered;
 
 	    dep_status |= update_file (d->file, depth);
 
