freebsd-dev/contrib/bmake/unit-tests/suff-incomplete.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
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.