job000012 | TEMPORARY is broken in stock Jam From: http://maillist.perforce.com/pipermail.../jamming/2002-January/001530.html : | BTW, TEMPORARY is broken in stock Jam - it doesn't work right if the target | has multiple parents. My patch is: | make.c: | *************** | *** 175,180 **** | --- 201,217 ---- | printf( "warning: %s depends on itself\n", t->name ); | return; | | + /* Deal with TEMPORARY targets with multiple parents. When a | missing | + * TEMPORARY target is determined to be stable, it inherits the | + * timestamp of the parent being checked, and is given a binding | of | + * T_BIND_PARENTS. To avoid outdating parents with earlier | modification | + * times, we set the target's time to the minimum time of all | parents. | + */ | + case T_FATE_STABLE: | + if ( t->binding == T_BIND_PARENTS && t->time > ptime && | t->flags & T_FLAG_TEMP ) | + t->time = ptime; | + return; | + | default: | return; « | |
Add Job |