summaryrefslogtreecommitdiffstats
path: root/share/mk/bsd.port.mk
diff options
context:
space:
mode:
Diffstat (limited to 'share/mk/bsd.port.mk')
-rw-r--r--share/mk/bsd.port.mk14
1 files changed, 13 insertions, 1 deletions
diff --git a/share/mk/bsd.port.mk b/share/mk/bsd.port.mk
index 87e4935..4f73d12 100644
--- a/share/mk/bsd.port.mk
+++ b/share/mk/bsd.port.mk
@@ -1,6 +1,18 @@
# $FreeBSD$
-PORTSDIR?= /usr/ports
+.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.
+.for RELPATH in . .. ../.. ../../..
+.if !defined(_PORTSDIR) && exists(${.CURDIR}/${RELPATH}/Mk/bsd.port.mk)
+_PORTSDIR= ${.CURDIR}/${RELPATH}
+.endif
+.endfor
+_PORTSDIR?= /usr/ports
+PORTSDIR!= realpath ${_PORTSDIR}
+.endif
+
BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk
# Needed to keep bsd.own.mk from reading in /etc/src.conf
OpenPOWER on IntegriCloud