make-rules/ips.mk
branchs11-update
changeset 2855 576d5a7857b7
parent 2732 1a65a9df6f2e
child 2881 8cae3c148a42
--- a/make-rules/ips.mk	Wed Dec 18 04:50:56 2013 -0800
+++ b/make-rules/ips.mk	Wed Dec 18 10:04:53 2013 -0800
@@ -39,7 +39,11 @@
 PKGFMT =	/usr/bin/pkgfmt
 PKGMOGRIFY =	/usr/bin/pkgmogrify
 PKGSEND =	/usr/bin/pkgsend
+ifeq   ($(strip $(PKGLINT_COMPONENT)),)
 PKGLINT =	/usr/bin/pkglint
+else
+PKGLINT =	${WS_TOOLS}/pkglint
+endif
 PKGMANGLE =	$(WS_TOOLS)/userland-mangler
 
 # Package headers should all pretty much follow the same format
@@ -240,7 +244,14 @@
 # These files should contain a list of packages that the component is known to
 # depend on.  Using resolve.deps is not required, but significantly speeds up
 # the "pkg resolve" step.
-EXTDEPFILES = $(wildcard $(sort $(addsuffix ../resolve.deps, $(dir $(DEPENDED)))))
+EXTDEPFILES ?= $(wildcard $(sort $(addsuffix ../resolve.deps, $(dir $(DEPENDED)))))
+
+# If the package contains no automatically discoverable dependencies, then
+# we can speed up resolution by providing a dummy resolve.deps to skip loading
+# all the possible packages for resolution.  Unfortunately, pkgdepend does not
+# accept a completely empty resolve.deps, so we pass the userland-incorporation
+# as a quick, content-free placeholder.
+NULLDEPFILE = $(BUILD_DIR)/null-resolve.deps
 
 # This is a target that should only be run by hand, and not something that
 # .resolved-$(MACH) should depend on.
@@ -259,6 +270,9 @@
 
 # resolve the dependencies all at once
 $(BUILD_DIR)/.resolved-$(MACH):	$(DEPENDED)
+	if [[ "$(EXTDEPFILES)" == "$(NULLDEPFILE)" ]] ; then \
+	  echo 'consolidation/userland/userland-incorporation' > $(NULLDEPFILE) ; \
+	fi
 	$(PKGDEPEND) resolve $(EXTDEPFILES:%=-e %) -m $(DEPENDED)
 	$(TOUCH) $@