diff options
Diffstat (limited to 'Make.8.in')
-rw-r--r-- | Make.8.in | 70 |
1 files changed, 41 insertions, 29 deletions
@@ -10,9 +10,6 @@ Make \- somewhat more powerfull alternative to make .B "\-A, \-\-Ausgabe Ausgabedatei" store commands in \fIAusgabedatei\fP .TP -.B "\-H, \-\-Hilfe" -display help screen -.TP .B "\-W, \-\-Watte" just print what would be done .TP @@ -27,53 +24,68 @@ refresh all checksums .TP .B "\-u, \-\-unsicher" accept running jobs outside of directory of \fIAusgabedatei\fP or \fIPrüfsummendatei\fP -.SH SYNTAX -Empty lines and lines beginning with \fB#\fP are ignored. +.TP +Options \fB-D\fP, \fB-P\fP and either \fB-W\fP or \fB-A\fP are compulsory. +.SH MACHDATEI SYNTAX +\fB#\fP starts comments, empty lines are ignored. .PP -The file starts with definition of files: +The file consists of four types of lines: +.TP +1. Definitions of files to watch. +.TP +2. Definitions of targets. +.TP +3. Regular expressions matching sources +.TP +4. Commands to execute for compiling targets from sources. +.SH WATCH FILE DEFINITIONS .TP .B "/path/to/files" add these files to currentness control .TP .B "-r /path/to/files" recursively add these files and directories to currentness control -.PP -The rest of the file consists of compilation rules, each consisting of two consecutive lines: -.TP -The \fBfirst\fP line is a regex-aware rule for identifying dependencies and must not start with a space or tab. -.TP -.B ">1 target:sourceRegEx" -Each (set of) \fItarget\fP(s) is generated by a separate command, possibly involving many source files matching \fIsourceRegEx\fP. -.TP -.B ">n target:sourceRegEx" -All \fItarget\fPs are generated by a single command, possibly involving many source files matching \fIsourceRegEx\fP. .TP -The \fBfollowing\fP line(s) contain(s) commands to refresh the targets and must start with a space or tab. -The \fBlast\fP line of these must end on \fB;\fP. +.B "! excludeRegex" +from now on do not add files matching the regular expression \fIexcludeRegex\fP to currentness control +.SH TARGET DEFINITIONS +These lines must end on \fB:\fP. +Substitutions marked with (*) are allowed in this type of line. +Multiple targets may be defined in one line if separated by spaces or in common bash syntax: \fB*\fP, \fB{one,two,three}\fP, \fB{1..3}\fP are expanded. +Alternatively multiple targets may be defined in multiple consecutive lines. +A single line containing the source regex must follow a set of target definition lines. +.SH COMMAND DEFINITIONS +Each of these lines must end on \fB;\fP. +Substitutions marked with (*) are allowed in this type of line. +Commands on one line are concatenated with \fB&&\fP instead of \fB;\fP \- to use a literal \fB;\fP in a command, one must write \fB;;\fP in the +\fIMachdatei\fP. .SH SUBSTITUTIONS -Some substitutions and macros are recognized: +Some substitutions and macros are recognized. +Obviously, substitutions marked with \fB(*)\fP are only available in COMMAND- and TARGET-DEFINITION lines. .TP -.B "%nurmit'filePart'" -only apply rule / generate target name from source file if name of source file contains \fIfilePart\fP +.B "%nurmit'filePart'" (*) +only execute command / generate target name from source file if name of source file contains \fIfilePart\fP .TP -.B "%nurohne'filePart'" +.B "%nurohne'filePart'" (*) opposite of \fB%nurmit'filePart'\fP .TP -.B "%in" +.B "%in" (*) file name and path of source file .TP -.B "%ifile" +.B "%ifile" (*) file name of source file .TP -.B "%basename" +.B "%basename" (*) file name of source file without extension(s) .TP -.B "%dirname(number)" -last \fInumber\fP components of path so source file +.B "%dirname(num1,num2)" (*) +components \fInum1\fP upto \fInum2\fP of path to source file. +Negative numbers are counted from the back - e.g. \fB-1\fP is the last path component, etc. +\fInum2\fP may be omitted, it defaults to \fB-1\fP. .TP -.B "%dirname" +.B "%dirname" (*) path so source file. -Identical to \fB%basedir(0)\fP. +Identical to \fB%dirname(0)\fP. .TP .B "%DIRNAME" path to \fIMachdatei\fP |