ffce1c840d
.PATH to ${.CURDIR}/[...]/kern , the "exists" expression will fail for the form exists(${.CURDIR}/[...]/kern/). This appears to be happening because make is searching for the argument to "exists" by using .PATH rather than a relative search, because .PATH and the argument match at the beginning. Additionally, make appears to consider a path that starts with ${.CURDIR} as relative, even though it expands to an absolute path. The reason that most people aren't seeing this problem is that the absolute paths of /usr/src/sys and /sys are also searched, so as long as the kernel source can be found in at least one of those places, no problems surface. This problem was inadvertently introduced on 1 December 2000, with the addition of the sysvipc modules.
14 lines
397 B
Makefile
14 lines
397 B
Makefile
# $FreeBSD$
|
|
|
|
# Search for kernel source tree in standard places.
|
|
.for _dir in ${.CURDIR}/../.. ${.CURDIR}/../../.. ${.CURDIR}/../../../.. /sys /usr/src/sys
|
|
.if !defined(SYSDIR) && exists(${_dir}/conf/kmod.mk)
|
|
SYSDIR= ${_dir}
|
|
.endif
|
|
.endfor
|
|
.if !defined(SYSDIR) || !exists(${SYSDIR}/kern) || !exists(${SYSDIR}/conf/)
|
|
.error "can't find kernel source tree"
|
|
.endif
|
|
|
|
.include "${SYSDIR}/conf/kmod.mk"
|