From ea4ba29c8d11f46e61d5a4b68c41dffecd6a3daf Mon Sep 17 00:00:00 2001 From: John Ankarstrom Date: Tue, 6 Jul 2021 22:12:01 +0200 Subject: Add build.1 --- Makefile | 4 ++++ build.1 | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 build.1 diff --git a/Makefile b/Makefile index 5b08578..ec54858 100644 --- a/Makefile +++ b/Makefile @@ -1 +1,5 @@ build: build.c + +install: + install build /usr/local/bin + install -m 644 build.1 /usr/local/man/man1 diff --git a/build.1 b/build.1 new file mode 100644 index 0000000..5180cab --- /dev/null +++ b/build.1 @@ -0,0 +1,84 @@ +.Dd $Mdocdate$ +.Dt BUILD 1 +.Os +.Sh NAME +.Nm build +.Nd process and act on embedded build instructions +.Sh SYNOPSIS +.Nm +.Op Fl d +.Op Fl d +.Op Fl d +.Ar file +.Op Ar ... +.Sh DESCRIPTION +.Pp +.Nm +is a program which follows simple build instructions +embedded in source files. +The number of +.Fl d +flags control the printing of debugging information. +.Pp +.Nm +is decidedly not a +.Xr make 1 +replacement, except in trivial cases. +In such cases, however, +it is quite a nice and simple solution. +It is originally designed for generating +.Xr troff 1 +documents, +but can be used with arbitrary source files. +.Pp +The first twenty lines of each +.Ar file +are scanned for build information. +Build information is encoded in two ways: +.Bl -tag -width indent +.It command line +[anything] "$ " [">" ] +.It dependency line +[anything] "% " +.El +.Pp +There can be multiple command lines, +but only one dependency line. +. +.Sh EXAMPLES +.Pp +Assuming that the file +.Pa doc.t +starts with the following text, +.Bd -literal -offset indent +\&.\\" This document is built with the following shell commands: +\&.\\" $ refer -p refs doc.t | troff -ms | dpost > doc.ps +\&.\\" $ ps2pdf doc.ps > doc.pdf +\&.\\" $ rm doc.ps +\&. +\&.\\" It depends on the following files: +\&.\\" % refs x.tmac +.Ed +.Pp +the invocation +.Bd -literal -offset indent +$ build doc.t +.Ed +.Pp +will generate +.Pa doc.pdf +by running the given commands, +depending on the relative modification times of +.Pa doc.t , +.Pa doc.pdf +and +.Pa x.tmac . +.\" .Sh DIAGNOSTICS +.\" .Sh SEE ALSO +.\" .Sh STANDARDS +.\" .Sh HISTORY +.Sh AUTHORS +.Nm +is written by John Ankarström +.Aq Mt "john (at) ankarstrom.se" . +.\" .Sh BUGS -- cgit v1.2.3