--- a/make-rules/ips.mk Mon Aug 12 11:30:04 2013 -0700
+++ b/make-rules/ips.mk Mon Aug 12 16:47:25 2013 -0700
@@ -245,7 +245,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.
@@ -265,6 +272,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) $@