summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk')
-rw-r--r--mk/bsd.pkg.mk5
-rw-r--r--mk/internal/pkg_fail_reason.mk58
2 files changed, 28 insertions, 35 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk
index e2b720267c1..624e92317ab 100644
--- a/mk/bsd.pkg.mk
+++ b/mk/bsd.pkg.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.mk,v 1.1896 2006/11/14 13:56:14 rillig Exp $
+# $NetBSD: bsd.pkg.mk,v 1.1897 2006/11/16 09:38:53 rillig Exp $
#
# This file is in the public domain.
#
@@ -563,8 +563,6 @@ PKG_SKIP_REASON+= "${PKGNAME} is not available for ${MACHINE_PLATFORM}"
. endif # !__PLATFORM_OK
.endif
-.include "${.PARSEDIR}/internal/pkg_fail_reason.mk"
-
# Add these defs to the ones dumped into +BUILD_DEFS
_BUILD_DEFS+= PKGPATH
_BUILD_DEFS+= OPSYS OS_VERSION MACHINE_ARCH MACHINE_GNU_ARCH
@@ -916,3 +914,4 @@ changes-entry:
.if make(help)
.include "${PKGSRCDIR}/mk/help/help.mk"
.endif
+.include "${.PARSEDIR}/internal/pkg_fail_reason.mk"
diff --git a/mk/internal/pkg_fail_reason.mk b/mk/internal/pkg_fail_reason.mk
index 63232d26ee7..a1b9191ff7d 100644
--- a/mk/internal/pkg_fail_reason.mk
+++ b/mk/internal/pkg_fail_reason.mk
@@ -1,47 +1,41 @@
-# $NetBSD: pkg_fail_reason.mk,v 1.1 2006/11/14 13:56:14 rillig Exp $
+# $NetBSD: pkg_fail_reason.mk,v 1.2 2006/11/16 09:38:53 rillig Exp $
#
# This file prints the error that are collected when the Makefiles are
# loaded.
#
-.if !defined(NO_SKIP)
+PKG_FAIL_REASON?= # none
+PKG_SKIP_REASON?= # none
-#
-# 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)
+.PHONY: _check-pkg-fail-reason
+_check-pkg-fail-reason: .USEBEFORE
+.if defined(SKIP_SILENT)
@${DO_NADA}
-. else
-. if defined(PKG_FAIL_REASON) && !empty(PKG_FAIL_REASON:M*)
+.else
+. if !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 \
+. endif
+. if !empty(PKG_SKIP_REASON:M*)
+ @for str in "Skipping ${PKGNAME}:" ${PKG_SKIP_REASON}; do \
${WARNING_MSG} "$$str"; \
done
-. endif
-. endif
-. if defined(PKG_FAIL_REASON) && !empty(PKG_FAIL_REASON:M*)
+. endif
+.endif
+.if !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
+
+# All the "public" targets should be listed here.
+#
+.if !defined(NO_SKIP)
+. if !empty(PKG_FAIL_REASON) || !empty(PKG_SKIP_REASON)
+# FIXME: check-vulnerable is only used here because it is depended
+# upon by each of the "main" pkgsrc targets. Probably its name should be
+# generalized, and both check-vulnerable and _check-pkg-fail-reason should
+# depend on the generalized target.
+check-vulnerable: _check-pkg-fail-reason
+. endif
+.endif # !NO_SKIP