08761b709f
* The 'return' statement now actually returns, and there are now break & continue statements for for & while loops. * MkDir now grists directories with 'dir', so that directory targets can be distinguished from other targets. * SubDir now allows multiple overlapping roots (top level directories): the first SubDir of a new root uses the CWD of jam to set that root; subsquent SubDirs use the current SUBDIR to set the new root. New FSubDirPath to compute a path (given SubDir arguments) and SubRules to include another root's Jamrules. Jamrules only included if present; no error issued if no Jamrules file. * $(RMDIR) has been defined for NT and defaulted to $(RM) everwhere else. Not much tested. For Michael Champigny. * GenFile actions (on UNIX) now put . in the PATH for the execution of the command, so that (at least) when jam builds itself . does not need to be in the global path. It is the rare case where a target bound in the current directory can't be used directly, so we fudge it by setting PATH. * The whole /MR of Jam's name has been dropped. It was intended to avoid trademark infringement of JYACC's JAM, but as far as we can tell (a) it wasn't enough to avoid infringement and (b) the trademark has lapsed anyhow. * If header dependencies cause an object to be recompiled and the source file is a temporary, the temporary is now reconstructed. Previously, headers weren't considered when deciding when to reconstruct a temporary. * -d has been reworked to make it easier to display more useful tracing information separate from the debugging gunk: -da - show all actions (formerly -d2) -dc - show 'causes' for rebuilding (new output) -dd - show dependencies (new output) -dm - show make graph (aka -d3) -dx - show executable text (formerly -d2) -dd is new, and more display options are anticipated. -n now implies -dax. The message "...using xxx..." now only shows up with -da. * Several bug and portability fixes. pkgsrc changes: * Use the .zip distfile instead of the .tar to save space. * Iterate with ${f} rather than ${file} to placate pkglint.
4 lines
225 B
Text
4 lines
225 B
Text
Jam is a build utility like make(1). It has its own expressive
|
|
language which allows for portable Jamfiles capable of building
|
|
large projects with multiple concurrent processes (although by
|
|
default it uses a single process).
|