version 1.95, 2014/01/06 12:08:18 |
version 1.96, 2014/01/06 12:15:40 |
|
|
} |
} |
if (val == NULL) { |
if (val == NULL) { |
val = err ? var_Error : varNoError; |
val = err ? var_Error : varNoError; |
/* Dynamic source */ |
/* If it comes from a dynamic source, and it doesn't have |
|
* a context, copy the spec instead. |
|
* Specifically, this make allows constructs like: |
|
* target.o: $*.c |
|
* Absence of a context means "parsing". But these can't |
|
* be expanded during parsing, to be consistent with the |
|
* way .SUFFIXES work. |
|
* .SUFFIXES may be added/reset/removed during parsing, |
|
* but in the end, the final list is what's considered for |
|
* handling targets. So those dynamic variables must be |
|
* handled lazily too. |
|
*/ |
if (idx != GLOBAL_INDEX) { |
if (idx != GLOBAL_INDEX) { |
/* can't be expanded for now: copy the spec instead. */ |
|
if (ctxt == NULL) { |
if (ctxt == NULL) { |
*freePtr = true; |
*freePtr = true; |
val = Str_dupi(str, tstr); |
val = Str_dupi(str, tstr); |