I'm reading Jamrule file of some project to understand how it builds.
But there is some that I can't understand.
Such like $(1:D=) or $(1:S=$(sample)) or $(1:G=$(sample))
what does it mean?
I searched colon and equal meaning in a shell script but I couldn't find when the alphabet is in between them.
ex) local _s = $(1:D=) ;
$(1)expands the first argument of a rule.$(1:D=foo)applies a modifier that replaces the directory portion of the expanded elements (dirname, if you think in shell terms) with the stringfoo. The special case$(1:D=)removes the directory portion. The modifierSrefers to the suffix (aka extension) of the file name,Gto the "grist" of a jam target name.Please refer to the Variable Expansion section of the Perforce Jam documentation for a complete list. I can recommend reading the complete Jam documentation to understand the specific concepts (like grist).