freebsd-src/unit-tests/suff-incomplete.mk
Simon J. Gerraty 8e11a9b425 Import 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

Change-Id: I4d3bcf08b4c864d98b343f602efe5a75dbfa7a94
2021-01-13 17:24:34 -08:00

32 lines
922 B
Makefile

# $NetBSD: suff-incomplete.mk,v 1.2 2020/11/22 11:05:49 rillig Exp $
#
# Tests incomplete transformation rules, which are ignored.
all: suff-incomplete.c
.MAKEFLAGS: -dps
.SUFFIXES:
.SUFFIXES: .a .b .c
# This rule has no commands and no dependencies, therefore it is incomplete
# and not added to the transformation rules.
#
# See Suff_EndTransform.
.a.b:
# This rule has a dependency, therefore it is a complete transformation.
# Its commands are taken from a .DEFAULT target, if there is any.
.a.c: ${.PREFIX}.dependency
.DEFAULT:
: Making ${.TARGET} from ${.IMPSRC} all ${.ALLSRC} by default.
# The debug log says "transformation .DEFAULT complete", which seems wrong
# on the first sight. It is intentionally done though, in the call to
# GNode_New(".DEFAULT").
# XXX: The output of this test says "Making suff-incomplete.c from
# suff-incomplete.c". It doesn't make sense to make something out of itself.