freebsd-dev/contrib/bmake/unit-tests/opt-keep-going.mk
Simon J. Gerraty 06b9b3e0ad Merge bmake-20210110
Quite a lot of churn on style, but lots of
good work refactoring complicated functions
and lots more unit-tests.
Thanks mostly to rillig at NetBSD

Some interesting entries from ChangeLog

o .MAKE.{UID,GID} represent uid and gid running make.

o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
  checks in InitObjdir.  Explicit .OBJDIR target always allows
  read-only directory.

o add more unit tests for META MODE

Merge commit '8e11a9b4250be3c3379c45fa820bff78d99d5946' into main

Change-Id: I464fd4c013067f0915671c1ccc96d2d8090b2b9c
2021-01-13 22:21:37 -08:00

32 lines
751 B
Makefile

# $NetBSD: opt-keep-going.mk,v 1.6 2020/12/07 00:53:30 rillig Exp $
#
# Tests for the -k command line option, which stops building a target as soon
# as an error is detected, but continues building the other, independent
# targets, as far as possible.
#
# Until 2020-12-07, if a dependency of the main target failed, the exit
# status was nevertheless 0, which was wrong since the main targets could
# not be made. This was only wrong in -k mode combined with compat mode.
.MAKEFLAGS: -d0 # switch stdout to being line-buffered
.MAKEFLAGS: -k
all: dependency other
dependency:
@echo dependency 1
@false
@echo dependency 2
@:; exit 7
@echo dependency 3
other:
@echo other 1
@false
@echo other 2
all:
@echo main 1
@false
@echo main 2