1 # $NetBSD: varname-vpath.mk,v 1.3 2020/11/10 00:19:19 rillig Exp $
3 # Tests for the special VPATH variable, which is an obsolete way of
4 # specifying a colon-separated search path. This search path is not active
5 # when the makefiles are read, but only later when the shell commands are run.
7 # Instead of the VPATH, better use the -I option or the special target .PATH.
9 .if !defined(TEST_MAIN)
12 rm -rf varname-vpath.dir
13 mkdir varname-vpath.dir
14 touch varname-vpath.dir/file-in-subdirectory
15 rm -rf varname-vpath.dir2
16 mkdir varname-vpath.dir2
17 touch varname-vpath.dir2/file2-in-subdirectory
19 TEST_MAIN=yes VPATH=varname-vpath.dir:varname-vpath.dir2 \
20 ${MAKE} -f ${MAKEFILE} -dc
22 rm -r varname-vpath.dir
23 rm -r varname-vpath.dir2
27 # The VPATH variable does not take effect at parse time.
28 # It is evaluated only once, between reading the makefiles and making the
29 # targets. Therefore it could also be an ordinary variable, it doesn't need
30 # to be an environment variable or a command line variable.
31 . if exists(file-in-subdirectory)
34 . if exists(file2-in-subdirectory)
39 : ${exists(file-in-subdirectory):L:?yes 1:no 1}
40 : ${exists(file2-in-subdirectory):L:?yes 2:no 2}