summaryrefslogtreecommitdiff
path: root/mk/internal
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2006-11-14 13:56:14 +0000
committerrillig <rillig@pkgsrc.org>2006-11-14 13:56:14 +0000
commite6050a98e250ec2e823fb83288b4825e5d184f7c (patch)
treecc8bc43e43e305410e8322b3bea6470f567785de /mk/internal
parentd19f5ff58f27545505c12be7afde5c3e2d5bc954 (diff)
downloadpkgsrc-e6050a98e250ec2e823fb83288b4825e5d184f7c.tar.gz
Moved the code that checks PKG_FAIL_REASON and PKG_SKIP_REASON into its
own file. The further plan is not to include this file in the middle of loading, but at the end, when no variables will be changed. This will allow the _whole_ pkgsrc infrastructure to generate errors with PKG_FAIL_REASON, which is currently not the case.
Diffstat (limited to 'mk/internal')
-rw-r--r--mk/internal/pkg_fail_reason.mk47
1 files changed, 47 insertions, 0 deletions
diff --git a/mk/internal/pkg_fail_reason.mk b/mk/internal/pkg_fail_reason.mk
new file mode 100644
index 00000000000..63232d26ee7
--- /dev/null
+++ b/mk/internal/pkg_fail_reason.mk
@@ -0,0 +1,47 @@
+# $NetBSD: pkg_fail_reason.mk,v 1.1 2006/11/14 13:56:14 rillig Exp $
+#
+
+# This file prints the error that are collected when the Makefiles are
+# loaded.
+#
+
+.if !defined(NO_SKIP)
+
+#
+# Now print some error messages that we know we should ignore the pkg
+#
+. if defined(PKG_FAIL_REASON) || defined(PKG_SKIP_REASON)
+.PHONY: do-check-pkg-fail-or-skip-reason
+fetch checksum extract patch configure all build install package \
+update depends do-check-pkg-fail-or-skip-reason:
+. if defined(SKIP_SILENT)
+ @${DO_NADA}
+. else
+. if defined(PKG_FAIL_REASON) && !empty(PKG_FAIL_REASON:M*)
+ @for str in ${PKG_FAIL_REASON}; do \
+ ${ERROR_MSG} "$$str"; \
+ done
+. endif
+. if defined(PKG_SKIP_REASON) && !empty(PKG_SKIP_REASON:M*)
+ @${WARNING_MSG} "Skipping ${PKGNAME}:"; \
+ for str in ${PKG_SKIP_REASON}; do \
+ ${WARNING_MSG} "$$str"; \
+ done
+. endif
+. endif
+. if defined(PKG_FAIL_REASON) && !empty(PKG_FAIL_REASON:M*)
+ @${FALSE}
+. endif
+. endif # SKIP
+.endif # !NO_SKIP
+
+.PHONY: do-check-pkg-fail-reason
+do-check-pkg-fail-reason:
+ @${DO_NADA}
+
+# This target should appear as a dependency of every top level target that
+# is intended to be called by the user or by a package different from the
+# current package.
+.if defined(PKG_FAIL_REASON)
+do-check-pkg-fail-reason: do-check-pkg-fail-or-skip-reason
+.endif