[BACK]Return to var.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / make

Diff for /src/usr.bin/make/var.c between version 1.95 and 1.96

version 1.95, 2014/01/06 12:08:18 version 1.96, 2014/01/06 12:15:40
Line 995 
Line 995 
         }          }
         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);

Legend:
Removed from v.1.95  
changed lines
  Added in v.1.96