17 messages in com.perforce.jamming[jamming] Unclear parts of the Jam se...| From | Sent On | Attachments |
|---|---|---|
| Wallace, Richard | 24 Sep 2003 12:38 | |
| Harri Porten | 24 Sep 2003 13:37 | |
| Wallace, Richard | 24 Sep 2003 15:21 | |
| Paul Forgey | 24 Sep 2003 16:38 | |
| Alen Ladavac | 28 Sep 2003 05:01 | |
| Arnt Gulbrandsen | 29 Sep 2003 02:08 | |
| Arnt Gulbrandsen | 29 Sep 2003 02:49 | |
| Vladimir Prus | 29 Sep 2003 03:00 | |
| Alen Ladavac | 29 Sep 2003 04:41 | |
| Vladimir Prus | 29 Sep 2003 05:03 | |
| Arnt Gulbrandsen | 29 Sep 2003 05:11 | |
| Vladimir Prus | 29 Sep 2003 05:20 | |
| Johan Nilsson | 29 Sep 2003 05:38 | |
| Johan Nilsson | 29 Sep 2003 05:58 | |
| Alen Ladavac | 29 Sep 2003 06:51 | |
| Alen Ladavac | 29 Sep 2003 08:13 | |
| Christopher Seiwald | 29 Sep 2003 16:35 |
| Subject: | [jamming] Unclear parts of the Jam sematics![]() |
|---|---|
| From: | Alen Ladavac (al...@croteam.com) |
| Date: | 09/29/2003 04:41:42 AM |
| List: | com.perforce.jamming |
Thanks. I understand the thing with binding now. The thing with :E= is ok, but what about :E (notice missing = sign)? As in:
HDRSEARCH on $(>) = $(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;
What is that supposed to mean?
Thanks, Alen
----- Original Message ----- From: "Arnt Gulbrandsen" <ar...@gulbrandsen.priv.no> To: "Alen Ladavac" <al...@croteam.com> Cc: <jamm...@perforce.com> Sent: Monday, September 29, 2003 9:08 AM Subject: Re: [jamming] Unclear parts of the Jam sematics
Alen Ladavac writes:
Hi all,
I've been playing around with Jam for some time now, and there are some things I still don't get. The docs are quite grayish in those areas, so I'd like to ask if someone can please explain these:
Probably not. I like jam, but other people know more about it than I. Consider any errors an incentive for an Expert to step forward.
1) actions bind <vars> What exactly does this do? Docs say "$(vars) will be replaced with bound values". I get an impression that target-dependent vars are always bound when executing a rule or action? Why would I need the "bind" keyword?
Well, $(<) and $(>) always bound, ie. the value of $(<) will be /home/alen/src/mumble/stumble/fumble.o. But $(SOMETHING) is not, so its value may well be <stumble>fumble.o. Most actions only need $(<) and $(>).
E.g. why is only NEEDLIBS bound in the Link actions?
$(<), $(>) and $(NEEDLIBS) are all bound.
2) :E and :E= modifiers on variables
:E=value is documented as: ":E=value - Use value instead if the variable is unset", but I can't say I understand what that should mean.
:E says that if a variable is an empty list, or does not exist at all, then the value should be used instead. So $(A:E=B) says "give me the value of A, but if A does not exist, give me the constant 'B' instead".
You have the same thing in sh, ${A:-B}.
$ echo ${A:-B} B $
3) Getting a target bound variable value.
Sorry.
--Arnt




