freebsd-skq/contrib/bmake/unit-tests/directive-misspellings.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

80 lines
2.3 KiB
Makefile

# $NetBSD: directive-misspellings.mk,v 1.3 2020/12/13 01:10:22 rillig Exp $
#
# Tests for misspelled directives.
#
# Before 2020-12-12, make didn't catch most of these misspellings. For
# example, the directive ".exporting" was interpreted as if it were spelled
# ".export ing", which would export the variable named "ing" if that existed.
# Another misspelling, as improbable as the others, was that both ".infos" and
# ".information" were aliases to ".info" since the code for these diagnostic
# directives just skipped any letters following the "error", "warn" or "info".
.dinclud "file"
.dinclude "file"
.dincludx "file"
.dincludes "file" # XXX: the 's' is not meant to be a filename
.erro msg
.errox msg
# no .error since that would exit immediately
# no .errors since that would exit immediately, even with the typo
.expor varname
.export varname
.exporx varname
.exports varname # Accepted before 2020-12-13 01:07:54.
.export-en # Accepted before 2020-12-13 01:07:54.
.export-env
.export-env extra argument # XXX: undetected extra argument
.export-environment # Accepted before 2020-12-13 01:07:54.
.export-litera varname # Accepted before 2020-12-13 01:07:54.
.export-literal varname
.export-literax varname # Accepted before 2020-12-13 01:07:54.
.export-literally varname # Accepted before 2020-12-13 01:07:54.
.-includ "file"
.-include "file"
.-includx "file"
.-includes "file" # XXX: the 's' is not meant to be a filename
.includ "file"
.include "file"
.includx "file"
.includex "file" # XXX: the 's' is not meant to be a filename
.inf msg
.info msg
.infx msg
.infos msg # Accepted before 2020-12-13 01:07:54.
.sinclud "file"
.sinclude "file"
.sincludx "file"
.sincludes "file" # XXX: the 's' is not meant to be a filename
.unde varname
.undef varname
.undex varname
.undefs varname # Accepted before 2020-12-13 01:07:54.
.unexpor varname
.unexport varname
.unexporx varname
.unexports varname # Accepted before 2020-12-12 18:00:18.
.unexport-en # Accepted before 2020-12-12 18:11:42.
.unexport-env
.unexport-env extra argument # Accepted before 2020-12-12 18:00:18.
.unexport-enx # Accepted before 2020-12-12 18:00:18.
.unexport-envs # Accepted before 2020-12-12 18:00:18.
.warn msg
.warnin msg
.warning msg
.warninx msg
.warnings msg # Accepted before 2020-12-13 01:07:54.
all: