Bud Utility © 2006, Derek Parnell, Melbourne
(table of contents)
| Keyword | Mandatory? | Usage |
| rule=<name> | Yes | Defines the name of this rule. |
| tool=<command pattern> | Yes | Defines the command line to use. |
| in=<extension> | No | Specifies the file type (extension) of the input file |
| out=<extension> | No | Specifies the file type (extension) of the output file |
| in_use=<usage code> | No | Specifies what to do with the input file after the tool has run. The <usage code> can be one of "compile", "link", or "ignore". The default if not specified is "ignore". |
| out_use=<usage code> | No | Specifies what to do with the output file after the tool has run. The <usage code> can be one of "compile", "link", or "ignore". The default if not specified is "link". |
| Reserved Token | Usage |
| @IN | the name of the input file |
| @OUT | the name of the output file |
| @IBASE | the basename* of the input file. |
| @OBASE | the basename* of the output file. |
| @IPATH | the path of the input file. |
| @OPATH | the path of the output file. |
NOTE: *This is everything up to but not including the final '.' character in the name.
Bud ensures that the outfile's path will exist before the tool is run.Example: Sample RDF
----- Windows Resource Compiler --------
This uses pragma( build, "<sourcefile>.rc");
----------------
rule=Resources
in=rc
out=res
tool=rc /r {@IN} /fo {@OUT}
----- DMD C linkage --------------------
This uses pragma( build, "<sourcefile>.c", "COPT=<options>", "HDR=<whatever>");
----------------
rule=DMD C/C++
in=c
out=obj
tool=dmc -c {COPT} {@IN} -o{@OUT} {HDR}