aboutsummaryrefslogtreecommitdiff
path: root/contrib/bmake/unit-tests/varname-dot-make-ppid.mk
blob: 91f13fd2feec6041e9c7321837b8cbd51f238068 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# $NetBSD: varname-dot-make-ppid.mk,v 1.3 2022/01/23 21:48:59 rillig Exp $
#
# Tests for the special .MAKE.PPID variable, which contains the process ID of
# make's parent process.

# The parent process ID must be a positive integer.
.if ${.MAKE.PPID:C,[0-9],,g} != ""
.  error
.elif !(${.MAKE.PPID} > 0)
.  error
.endif

# Ensure that the process exists.
_!=	kill -0 ${.MAKE.PPID}

# The parent process ID must be different from the process ID.  If they were
# the same, make would run as process 1, which is not a good idea because make
# is not prepared to clean up after other processes.
.if ${.MAKE.PPID} == ${.MAKE.PID}
.  error
.endif

all: .PHONY