aboutsummaryrefslogtreecommitdiff
path: root/build.1
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2021-07-09 15:32:09 +0200
committerJohn Ankarström <john@ankarstrom.se>2021-07-09 15:33:54 +0200
commit3019c48804fb43f97d5c8e8ee15b5ae13ab1c4a9 (patch)
tree40fb553b67fbcdbc3a6d50a263cea3261680d800 /build.1
parente57e5137040e65dd82474bc4c590c8c23cfce509 (diff)
downloadbuild-3019c48804fb43f97d5c8e8ee15b5ae13ab1c4a9.tar.gz
Use set -e, -x in shell process, handle exit status correctly
This makes the default behavior like make(1), but it is configurable. Furthermore, it is still a single shell process, which is arguably a benefit.
Diffstat (limited to 'build.1')
-rw-r--r--build.116
1 files changed, 4 insertions, 12 deletions
diff --git a/build.1 b/build.1
index cf66324..10ae999 100644
--- a/build.1
+++ b/build.1
@@ -77,17 +77,9 @@ This means that you can keep state across multiple commands.
Note that all commands are executed
regardless of the exit status of previous commands.
.Pp
+If a command fails,
.Nm
-exits with a positive status if a command failed.
-Note that it checks the status
-of the entire command sent to the shell,
-not the individual command lines.
-To emulate the behavior of
-.Xr make 1 ,
-which fails if any individual command line fails,
-you can use
-.Ql set -e
-in your command line.
+exits with a positive status and aborts the build process.
.
.Sh EXAMPLES
.Pp
@@ -120,8 +112,8 @@ Assuming that the file
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 &&
+\&.\\" $ refer -p refs doc.t | troff -ms | dpost > doc.ps
+\&.\\" $ ps2pdf doc.ps > doc.pdf
\&.\\" $ rm doc.ps
\&.
\&.\\" Apart from this file, it depends on the following files: