9eb5a6bae5
error. Do the real erroring out through a fatal error in pkgpath.mk (and set PKGPATH to something less confusing than an empty variable). This solves PR 5510 for real.
111 lines
2.8 KiB
Makefile
111 lines
2.8 KiB
Makefile
# $OpenBSD: pkgpath.mk,v 1.14 2007/06/28 21:05:48 espie Exp $
|
|
# ex:ts=4 sw=4 filetype=make:
|
|
# pkgpath.mk - 2003 Marc Espie
|
|
# This file is in the public domain.
|
|
|
|
# definitions common to bsd.port.mk and bsd.port.subdir.mk
|
|
|
|
PORTSDIR_PATH ?= ${PORTSDIR}:${PORTSDIR}/mystuff
|
|
TMPDIR ?= /tmp
|
|
READMES_TOP ?= ${PORTSDIR}
|
|
|
|
|
|
.if !defined(PKGPATH)
|
|
PKGPATH != PORTSDIR_PATH=${PORTSDIR_PATH} \
|
|
perl ${PORTSDIR}/infrastructure/mk/getpkgpath ${.CURDIR}
|
|
. if empty(PKGPATH)
|
|
ERRORS += "Fatal: can't figure out PKGPATH"
|
|
PKGPATH =${.CURDIR}
|
|
. endif
|
|
.endif
|
|
.if empty(PKGPATH)
|
|
PKGDEPTH =
|
|
.else
|
|
PKGDEPTH = ${PKGPATH:C|[^./][^/]*|..|g}/
|
|
.endif
|
|
|
|
# Code to invoke to split dir,-multi,flavor
|
|
|
|
_flavor_fragment = \
|
|
unset FLAVOR SUBPACKAGE || true; \
|
|
multi=''; flavor=''; space=''; sawflavor=false; \
|
|
case "$$subdir" in \
|
|
"") \
|
|
echo 1>&2 ">> Broken dependency: empty directory $$extra_msg"; \
|
|
exit 1;; \
|
|
*,*) \
|
|
IFS=,; first=true; \
|
|
for i in $$subdir; do \
|
|
if $$first; then \
|
|
dir=$$i; first=false; \
|
|
else \
|
|
case X"$$i" in \
|
|
X-*) \
|
|
multi="$$i";; \
|
|
*) \
|
|
sawflavor=true; \
|
|
flavor="$$flavor$$space$$i"; \
|
|
space=' ';; \
|
|
esac \
|
|
fi; \
|
|
done; \
|
|
unset IFS;; \
|
|
*) \
|
|
dir=$$subdir;; \
|
|
esac; \
|
|
toset="PKGPATH=$$dir"; \
|
|
case X$$multi in "X");; *) \
|
|
toset="$$toset SUBPACKAGE=\"$$multi\"";; \
|
|
esac; \
|
|
if $$sawflavor; then \
|
|
toset="$$toset FLAVOR=\"$$flavor\""; \
|
|
fi; \
|
|
IFS=:; found_dir=false; bases=${PORTSDIR_PATH}; \
|
|
for base in $$bases; do \
|
|
cd $$base 2>/dev/null || continue; \
|
|
if [ -L $$dir ]; then \
|
|
echo 1>&2 ">> Broken dependency: $$base/$$dir is a symbolic link $$extra_msg"; \
|
|
exit 1; \
|
|
fi; \
|
|
if cd $$dir 2>/dev/null; then \
|
|
found_dir=true; \
|
|
break; \
|
|
fi; \
|
|
done; unset IFS; \
|
|
if ! $$found_dir; then \
|
|
echo 1>&2 ">> Broken dependency: $$dir non existent $$extra_msg"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
_depfile_fragment = \
|
|
case X$${_DEPENDS_FILE} in \
|
|
X) _DEPENDS_FILE=`mktemp /tmp/depends.XXXXXXXXX|| exit 1`; \
|
|
export _DEPENDS_FILE; \
|
|
trap "rm -f $${_DEPENDS_FILE}" 0 1 2 3 13 15;; \
|
|
esac
|
|
|
|
HTMLIFY = sed -e 's/&/\&/g' -e 's/>/\>/g' -e 's/</\</g'
|
|
|
|
|
|
REPORT_PROBLEM_LOGFILE ?=
|
|
.if !empty(REPORT_PROBLEM_LOGFILE)
|
|
REPORT_PROBLEM ?= echo "$$subdir ($@)">>${REPORT_PROBLEM_LOGFILE}
|
|
.else
|
|
REPORT_PROBLEM ?= exit 1
|
|
.endif
|
|
|
|
_recursive_targets = \
|
|
all build checksum configure deinstall distclean extract fake fetch \
|
|
fetch-makefile install lib-depends-check license-check link-categories \
|
|
manpages-check package patch print-package-signature regress reinstall \
|
|
unlink-categories update
|
|
|
|
_recursive_describe_targets = \
|
|
describe dump-vars homepage-links print-plist print-plist-all \
|
|
print-plist-all-with-depends print-plist-contents \
|
|
print-plist-with-depends show verbose-show
|
|
|
|
_recursive_depends_targets = \
|
|
all-dir-depends build-dir-depends regress-dir-depends run-dir-depends
|
|
|