opt-debug-jobs.mk revision 1.6 1 # $NetBSD: opt-debug-jobs.mk,v 1.6 2023/11/19 21:47:52 rillig Exp $
2 #
3 # Tests for the -dj command line option, which adds debug logging about
4 # running jobs in multiple shells.
5
6 .MAKEFLAGS: -dj
7
8 # Run in parallel mode since the debug logging is more interesting there
9 # than in compat mode.
10 .MAKEFLAGS: -j1
11
12 all:
13 # Only the actual command is logged.
14 # To see the evaluation of the expressions, use -dv.
15 : ${:Uexpanded} expression
16
17 # Undefined variables expand to empty strings.
18 # Multiple spaces are preserved in the command, as they might be
19 # significant.
20 : ${UNDEF} variable
21
22 # In the debug output, single quotes are not escaped, even though
23 # the whole command is enclosed in single quotes as well.
24 # This allows to copy and paste the whole command, without having
25 # to unescape anything.
26 : 'single' and "double" quotes
27
28 # Avoid a race condition in the debug output. Without sleeping,
29 # it is not guaranteed that the two lines "exited/stopped" and
30 # "JobFinish" are output earlier than the stdout of the actual shell
31 # commands. The '@' prefix avoids that this final command gets into
32 # another race condition with the "exited/stopped" line.
33 @sleep 1
34