7 messages in com.perforce.jamming[jamming] modified NOUPDATE ??| From | Sent On | Attachments |
|---|---|---|
| Badari Kakumani | 01 Oct 2002 11:34 | |
| Ingo Weinhold | 02 Oct 2002 01:52 | |
| Badari Kakumani | 02 Oct 2002 08:52 | |
| Badari Kakumani | 03 Oct 2002 08:41 | |
| Ingo Weinhold | 03 Oct 2002 15:43 | |
| Badari Kakumani | 04 Oct 2002 15:56 | |
| Ingo Weinhold | 04 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




