make-rules/ips.mk
changeset 1428 94d2b78b3e05
parent 1416 a87a9e85090e
child 1430 24f4aebfd6a5
--- 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) [email protected]