From c1232085610d084321cf2819e80d9e1a452ec2fd Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 16 May 2016 08:21:09 +0200 Subject: passende Compileroptionen, manpage nach 1 --- Make.1.in | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Make.8.in | 100 -------------------------------------------------------------- Makefile | 10 ++++--- 3 files changed, 106 insertions(+), 104 deletions(-) create mode 100644 Make.1.in delete mode 100644 Make.8.in 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 +.fi diff --git a/Make.8.in b/Make.8.in deleted file mode 100644 index 325ab40..0000000 --- a/Make.8.in +++ /dev/null @@ -1,100 +0,0 @@ -.TH Make 8 "" "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 -.fi diff --git a/Makefile b/Makefile index 1628e18..c3f4ddd 100644 --- a/Makefile +++ b/Makefile @@ -25,10 +25,11 @@ MANDIR = /usr/share/man VERSION = 1.1.1 -all: Make Make.8 ewemake +all: Make Make.1 ewemake Make: Make.lp* *.pas - fpc Make.lpr + mkdir -p lib + fpc -FUlib Make.lpr %: %.in sed "s/#VERSION#/$(VERSION)/" $< > $@ @@ -37,7 +38,7 @@ Make: Make.lp* *.pas install: all install -D -m0755 -t $(DESTDIR)$(BINDIR) Make ewemake - install -D -m0644 -t $(DESTDIR)$(MANDIR)/man8 Make.8 + install -D -m0644 -t $(DESTDIR)$(MANDIR)/man1 Make.1 dist: clean git status --porcelain 2> /dev/null | grep -q "\S" && (git add .; git commit -m"neue Version: $(VERSION)") || true @@ -47,6 +48,7 @@ dist: clean git push --tags clean: - rm -f Make Make.8 ewemake *.ppu *.o + rm -f Make Make.1 ewemake + rm -rf lib # End of file -- cgit v1.2.3-54-g00ecf