freebsd-src/unit-tests/opt-no-action.mk
Simon J. Gerraty 1b65f0bd2b Import bmake-20201117
o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
  checks in InitObjdir.  Explicit .OBJDIR target always allows
  read-only directory.

o Fix building and unit-tests on non-BSD.

o More code cleanup and refactoring.

o More unit tests
2020-11-20 03:54:37 +00:00

36 lines
1.1 KiB
Makefile

# $NetBSD: opt-no-action.mk,v 1.4 2020/11/09 20:50:56 rillig Exp $
#
# Tests for the -n command line option, which runs almost no commands.
# It just outputs them, to be inspected by human readers.
# Only commands that are in a .MAKE target or prefixed by '+' are run.
.MAKEFLAGS: -n
# This command cannot be prevented from being run since it is used at parse
# time, and any later variable assignments may depend on its result.
!= echo 'command during parsing' 1>&2; echo
all: main
all: run-always
# Both of these commands are printed, but only the '+' command is run.
.BEGIN:
@echo '$@: hidden command'
@+echo '$@: run always'
# Both of these commands are printed, but only the '+' command is run.
main:
@echo '$@: hidden command'
@+echo '$@: run always'
# None of these commands is printed, but both are run, because this target
# depends on the special source ".MAKE".
run-always: .MAKE
@echo '$@: hidden command'
@+echo '$@: run always'
# Both of these commands are printed, but only the '+' command is run.
.END:
@echo '$@: hidden command'
@+echo '$@: run always'