5 messages in com.perforce.jamming[jamming] Need help with SubDir| From | Sent On | Attachments |
|---|---|---|
| EXT-Goodson, Stephen | 15 Jun 2001 19:40 | |
| Dave Lewis | 15 Jun 2001 22:58 | |
| EXT-Goodson, Stephen | 19 Jun 2001 17:20 | |
| EXT-Goodson, Stephen | 20 Jun 2001 17:08 | |
| Brett Calcott | 20 Jun 2001 18:00 |
| Subject: | [jamming] Need help with SubDir![]() |
|---|---|
| From: | Brett Calcott (bret...@paradise.net.nz) |
| Date: | 06/20/2001 06:00:36 PM |
| List: | com.perforce.jamming |
Steve,
I'm not sure why this does not work. The only difference I can think of (from some of things that I am doing) is that all of my rules and actions are in the top Jamrules file, rather than the Jamfile?
Sorry I can't be of more help right now
Brett
----- Original Message ----- From: "EXT-Goodson, Stephen" <Step...@PSS.Boeing.com> To: <jamm...@perforce.com> Sent: Thursday, June 21, 2001 12:08 PM Subject: RE: [jamming] Need help with SubDir
I'm still a little baffled by this, but I have figured one more thing out. Adding grist within the rule doesn't work, but if the caller adds grist manually it works fine:
DEPENDS [ FGristFiles $(<) ] : $(>) ; #doesn't work,
DEPENDS $(<) : $(>) ; along with CatRule <Sub>foo.c : foo.txt ; #works
Is there anyone out there who could explain this to me? Obviously I'd prefer not to have to add grist manually each time. How do I go about creating a rule that works as expected with the SubDir command?
Thanks,
Steve
-----Original Message----- From: EXT-Goodson, Stephen [mailto:Step...@pss.boeing.com] Sent: Tuesday, June 19, 2001 5:20 PM To: 'Brett Calcott' Cc: 'jamm...@perforce.com' Subject: RE: [jamming] Need help with SubDir
Brett Calcott wrote:
You need to do something like this:
DEPENDS [ FGristFiles $(<) ] : $(>)
Thanks. That helps, but I'm still not quite getting it. Jam doesn't complain about not knowing how to make <Sub>foo.c any more, but it won't make it either, even though it appears to know how. If I run jam, it tries to Cc Sub/foo.o, but fails because foo.c doesn't exist. If I type 'jam foo.c', it creates jam.c but issues the "warning: using independent target foo.txt". After that, jam will build foo.o and foo just fine.
Interestingly, if I then 'touch foo.txt', that will cause jam to remake foo.o (from the out of date foo.c). It won't ever make foo.c if it already exists (even with an explicit 'jam foo.c').
My updated Jam file, and some output from jam -d is below. As before, it works fine without the SubDir command. Any help is appreciated. Thanks.
Steve
# Jamfile in $(TOPDIR)/Sub/ SubDir TOPDIR Sub ;
rule CatRule { SEARCH on $(>) = $(SEARCH_SOURCE) ; MakeLocate $(<) : $(LOCATE_SOURCE) ; DEPENDS [ FGristFiles $(<) ] : $(>) ; Clean clean : $(<) ; }
actions CatRule { cat $(>) > $(<) }
CatRule foo.c : foo.txt ;
Main foo : foo.c ;
made stable /home/xgoodson/Top/Sub make -- <Sub>foo.c bind -- <Sub>foo.c: /home/xgoodson/Top/Sub/foo.c time -- <Sub>foo.c: Tue Jun 19 16:50:35 2001 make -- foo.txt bind -- foo.txt: /home/xgoodson/Top/Sub/foo.txt time -- foo.txt: Tue Jun 19 16:51:14 2001 made* newer foo.txt made+ old <Sub>foo.c made+ update <Sub>foo.o
_______________________________________________ jamming mailing list - jamm...@perforce.com http://maillist.perforce.com/mailman/listinfo/jamming
_______________________________________________ jamming mailing list - jamm...@perforce.com http://maillist.perforce.com/mailman/listinfo/jamming




