--- jam-2.5/Jambase +++ jam-2.5/Jambase @@ -710,7 +710,7 @@ local s = $(>:G=$(HDRGRIST:E)) ; Includes $(<) : $(s) ; - SEARCH on $(s) = $(HDRSEARCH) ; + SEARCH on $(s) = $(3:D) $(HDRSEARCH) ; NoCare $(s) ; # Propagate on $(<) to $(>) --- jam-2.5/headers.c +++ jam-2.5/headers.c @@ -71,7 +71,13 @@ lol_add( &lol, headers1( t->boundname, hdrscan ) ); if( lol_get( &lol, 1 ) ) + { + /* The third argument to HDRRULE is the bound name of + * $(<) */ + lol_add( &lol, list_new( L0, t->boundname, 1 ) ); + list_free( evaluate_rule( hdrrule->string, &lol, L0 ) ); + } /* Clean up */ --- jam-2.5/jambase.c +++ jam-2.5/jambase.c @@ -452,7 +452,7 @@ "{\n", "local s = $(>:G=$(HDRGRIST:E)) ;\n", "Includes $(<) : $(s) ;\n", -"SEARCH on $(s) = $(HDRSEARCH) ;\n", +"SEARCH on $(s) = $(3:D) $(HDRSEARCH) ;\n", "NoCare $(s) ;\n", "HDRSEARCH on $(s) = $(HDRSEARCH) ;\n", "HDRSCAN on $(s) = $(HDRSCAN) ;\n",