summaryrefslogtreecommitdiff
path: root/Make.8.in
diff options
context:
space:
mode:
Diffstat (limited to 'Make.8.in')
-rw-r--r--Make.8.in70
1 files changed, 41 insertions, 29 deletions
diff --git a/Make.8.in b/Make.8.in
index 3fc1ef3..7e1ce71 100644
--- a/Make.8.in
+++ b/Make.8.in
@@ -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