7 messages in com.perforce.jamming[jamming] modified NOUPDATE ??
FromSent OnAttachments
Badari Kakumani01 Oct 2002 11:34 
Ingo Weinhold02 Oct 2002 01:52 
Badari Kakumani02 Oct 2002 08:52 
Badari Kakumani03 Oct 2002 08:41 
Ingo Weinhold03 Oct 2002 15:43 
Badari Kakumani04 Oct 2002 15:56 
Ingo Weinhold04 Oct 2002 17:24 
Subject:[jamming] modified NOUPDATE ??
From:Ingo Weinhold (bone@cs.tu-berlin.de)
Date:10/04/2002 05:24:44 PM
List:com.perforce.jamming

i am NOT saying actions should influence what is updated.

all i need is a way to tell jam that the target xxx.dll.a will NOT outdate its parents by using a built-in rule similar to NOUPDATE...

Seems that I misunderstood you. You can approximate this behavior pretty closely by introducing an intermediate target, say T0. T1 depends on T0, T0 on xxx.dll.a. T0 is a real file target with NoUpdate property. That could look like:

rule Touch { Depends $(1) : $(2) ; Clean clean : $(1) ; } actions Touch { touch $(1) } NoUpdate T0 ; Touch T0 : xxx.dll.a ; RuleToBuildT1 T1 : T0 : xxx.dll.a ...

RuleToBuildT1 could of course as well include the two T0 rule.

i guess all i need is a rule called NOPARUPDATE and when i invoke: NOPARUPDATE xxx.dll.a jam should understand that it should NOT rebuild the parents because of xxx.dll.a becoming out-of-date.

any ideas on implementing such builtin rule?

Adding the rule is simple -- add a flag T_FLAG_NOPARUPDATE in rules.h, and duplicate the entry for NoUpdate in load_builtins() in builtins.c replacing the name and the flag with yours -- making it work is much harder. ;-) make0() in make.c would be your playground...

CU, Ingo