a0dec793d0
This will only take effect if PORTSDIR is not set, as previously supported. Use .if exists(), for four specific possibilities relative to .CURDIR: ., .., ../.., and ../../.. The fourth possibility is primarily in case ports ever grows a third level. If none of these paths exist, fall back to the old default of /usr/ports. This removes the need to set PORTSDIR explicitly (or via wrapper script) if one is running out of a ports tree that is not in /usr/ports, but in a home directory. Reviewed by: bapt, bdrewery (older version) CR: D799 MFC after: 1 week Sponsored by: Spectra Logic
23 lines
607 B
Makefile
23 lines
607 B
Makefile
# $FreeBSD$
|
|
|
|
.if !defined(PORTSDIR)
|
|
# Autodetect if the command is being run in a ports tree that's not rooted
|
|
# in the default /usr/ports. The ../../.. case is in case ports ever grows
|
|
# a third level.
|
|
.if exists(${.CURDIR}/Mk/bsd.port.mk)
|
|
PORTSDIR= ${.CURDIR}
|
|
.elif exists(${.CURDIR}/../Mk/bsd.port.mk)
|
|
PORTSDIR= ${.CURDIR}/..
|
|
.elif exists(${.CURDIR}/../../Mk/bsd.port.mk)
|
|
PORTSDIR= ${.CURDIR}/../..
|
|
.elif exists(${.CURDIR}/../../../Mk/bsd.port.mk)
|
|
PORTSDIR= ${.CURDIR}/../../..
|
|
.else
|
|
PORTSDIR= /usr/ports
|
|
.endif
|
|
.endif
|
|
|
|
BSDPORTSUBDIRMK?= ${PORTSDIR}/Mk/bsd.port.subdir.mk
|
|
|
|
.include "${BSDPORTSUBDIRMK}"
|