956e45f6fb
Lots of new unit-tests increase code coverage. Lots of refactoring, cleanup and simlpification to reduce code size. Fixes for Bug 223564 and 245807 Updates to dirdeps.mk and meta2deps.py
57 lines
1.5 KiB
Makefile
57 lines
1.5 KiB
Makefile
# $NetBSD: varname-dot-path.mk,v 1.3 2020/10/02 18:46:54 rillig Exp $
|
|
#
|
|
# Tests for the special .PATH variable, which TODO: describe the purpose.
|
|
|
|
_!= mkdir -p varname-dot-path.d
|
|
|
|
# By default, .PATH consists of "." and .CURDIR.
|
|
# XXX: Why both? Shouldn't they have the same effect?
|
|
.if ${.PATH} != ". ${.CURDIR}"
|
|
. error ${.PATH}
|
|
.endif
|
|
|
|
# The special target .PATH adds a directory to the path.
|
|
.PATH: /
|
|
.if ${.PATH} != ". ${.CURDIR} /"
|
|
. error ${.PATH}
|
|
.endif
|
|
|
|
# Only existing directories are added to the path, the others are ignored.
|
|
.PATH: /nonexistent
|
|
.if ${.PATH} != ". ${.CURDIR} /"
|
|
. error ${.PATH}
|
|
.endif
|
|
|
|
# Only directories are added to the path, not regular files.
|
|
.PATH: ${.PARSEDIR}/${.PARSEFILE}
|
|
.if ${.PATH} != ". ${.CURDIR} /"
|
|
. error ${.PATH}
|
|
.endif
|
|
|
|
# Relative directories can be added as well.
|
|
# Each directory is only added once to the path.
|
|
.PATH: varname-dot-path.d /
|
|
.if ${.PATH} != ". ${.CURDIR} / varname-dot-path.d"
|
|
. error ${.PATH}
|
|
.endif
|
|
|
|
# The pathnames are not normalized before being added to the path.
|
|
.PATH: ./.
|
|
.if ${.PATH} != ". ${.CURDIR} / varname-dot-path.d ./."
|
|
. error ${.PATH}
|
|
.endif
|
|
|
|
# The two default entries can be placed at the back of the path,
|
|
# by adding the special entry ".DOTLAST" somewhere in the path.
|
|
# The entry .DOTLAST, if any, is listed in the path, always at the
|
|
# very beginning, to make this magic less surprising.
|
|
.PATH: .DOTLAST
|
|
.if ${.PATH} != ".DOTLAST / varname-dot-path.d ./. . ${.CURDIR}"
|
|
. error ${.PATH}
|
|
.endif
|
|
|
|
_!= rmdir varname-dot-path.d
|
|
|
|
all:
|
|
@:;
|