summaryrefslogtreecommitdiff
path: root/Make.1.in
diff options
context:
space:
mode:
Diffstat (limited to 'Make.1.in')
-rw-r--r--Make.1.in100
1 files changed, 100 insertions, 0 deletions
diff --git a/Make.1.in b/Make.1.in
new file mode 100644
index 0000000..766e8de
--- /dev/null
+++ b/Make.1.in
@@ -0,0 +1,100 @@
+.TH Make 1 "" "Make #VERSION#" ""
+.SH NAME
+Make \- somewhat more powerfull alternative to make
+.SH SYNOPSIS
+\fBMake [options]\fP
+.SH DESCRIPTION
+\fBMake\fP checks currentness of compiled files and generates commands for compilation of outdated files as specified by regex-aware rules.
+.SH OPTIONS
+.TP
+.B "\-A, \-\-Ausgabe Ausgabedatei"
+store commands in \fIAusgabedatei\fP.
+If absent, commands are printed to stdout.
+.TP
+.B "\-D, \-\-Datei Machdatei"
+read rules from \fIMachdatei\fP.
+If absent, use \fIMachdatei\fP in current directory or first parent containing \fIMachdatei\fP.
+.TP
+.B "\-P, \-\-Prüfsummen Prüfsummendatei"
+read/store checksums in \fIPrüfsummendatei\fP.
+If absent, use \fI.summen\fP in same directory as \fIMachdatei\fP.
+.TP
+.B "\-a, \-\-alleSummenErneuern"
+refresh all checksums
+.TP
+.B "\-l, \-\-leise"
+print nothing but error messages and (if \fB-A\fP omitted) commands
+.TP
+.B "\-u, \-\-unsicher"
+accept running jobs outside of directory of \fIAusgabedatei\fP or \fIPrüfsummendatei\fP
+.SH MACHDATEI SYNTAX
+\fB#\fP starts comments, empty lines are ignored.
+.PP
+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
+.TP
+.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.
+Obviously, substitutions marked with \fB(*)\fP are only available in COMMAND- and TARGET-DEFINITION lines.
+.TP
+.B "%nurmit'filePart'" (*)
+only execute command / generate target name from source file if name of source file contains \fIfilePart\fP
+.TP
+.B "%nurohne'filePart'" (*)
+opposite of \fB%nurmit'filePart'\fP
+.TP
+.B "%in" (*)
+file name and path of source file
+.TP
+.B "%ifile" (*)
+file name of source file
+.TP
+.B "%basename" (*)
+file name of source file without extension(s)
+.TP
+.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" (*)
+path so source file.
+Identical to \fB%dirname(0)\fP.
+.TP
+.B "%DIRNAME"
+path to \fIMachdatei\fP
+.TP
+.B "%num'string'"
+last decimal number in \fIstring\fP.
+E.g. \fB%num'abc123def456ghi'\fP becomes \fB456\fP.
+.SH AUTHOR
+.nf
+Erich Eckner <opensource at eckner dot net>
+.fi