make-rules/ips.mk
branchs11-update
changeset 2584 ad7971db6ec0
parent 2576 f1b6ecbb2d1e
child 2710 3c5579720afc
equal deleted inserted replaced
2582:bb7506e1881b 2584:ad7971db6ec0
   235 # generate dependencies
   235 # generate dependencies
   236 PKGDEPEND_GENERATE_OPTIONS = -m $(PKG_PROTO_DIRS:%=-d %)
   236 PKGDEPEND_GENERATE_OPTIONS = -m $(PKG_PROTO_DIRS:%=-d %)
   237 $(MANIFEST_BASE)-%.depend:	$(MANIFEST_BASE)-%.mangled
   237 $(MANIFEST_BASE)-%.depend:	$(MANIFEST_BASE)-%.mangled
   238 	$(PKGDEPEND) generate $(PKGDEPEND_GENERATE_OPTIONS) $< >$@
   238 	$(PKGDEPEND) generate $(PKGDEPEND_GENERATE_OPTIONS) $< >$@
   239 
   239 
       
   240 # These files should contain a list of packages that the component is known to
       
   241 # depend on.  Using resolve.deps is not required, but significantly speeds up
       
   242 # the "pkg resolve" step.
       
   243 EXTDEPFILES = $(wildcard $(sort $(addsuffix ../resolve.deps, $(dir $(DEPENDED)))))
       
   244 
       
   245 # This is a target that should only be run by hand, and not something that
       
   246 # .resolved-$(MACH) should depend on.
       
   247 sample-resolve.deps:
       
   248 	@echo "<transform depend type=(require|require-any) -> print %(fmri)>" > rd-trans
       
   249 	@for i in build/*.depend; do \
       
   250 		$(PKGMOGRIFY) -O /dev/null $$i rd-trans | tr " " "\n" | sort -u > m1; \
       
   251 		$(PKGMOGRIFY) -O /dev/null $$i.res rd-trans | tr " " "\n" | sort -u > m2; \
       
   252 		comm -13 m1 m2; \
       
   253 	done | sed -e 's/@[^ ]*//g' -e 's,pkg:/,,g' | sort -u > resolve.deps
       
   254 	@$(RM) rd-trans m1 m2
       
   255 	@if [[ ! -s resolve.deps ]]; then \
       
   256 		echo "No computed dependencies found; removing empty resolve.deps."; \
       
   257 		$(RM) resolve.deps; \
       
   258 	fi
       
   259 
   240 # resolve the dependencies all at once
   260 # resolve the dependencies all at once
   241 $(BUILD_DIR)/.resolved-$(MACH):	$(DEPENDED)
   261 $(BUILD_DIR)/.resolved-$(MACH):	$(DEPENDED)
   242 	$(PKGDEPEND) resolve -m $(DEPENDED)
   262 	$(PKGDEPEND) resolve $(EXTDEPFILES:%=-e %) -m $(DEPENDED)
   243 	$(TOUCH) $@
   263 	$(TOUCH) $@
   244 
   264 
   245 # lint the manifests all at once
   265 # lint the manifests all at once
   246 $(BUILD_DIR)/.linted-$(MACH):	$(BUILD_DIR)/.resolved-$(MACH)
   266 $(BUILD_DIR)/.linted-$(MACH):	$(BUILD_DIR)/.resolved-$(MACH)
   247 	@echo "VALIDATING MANIFEST CONTENT: $(RESOLVED)"
   267 	@echo "VALIDATING MANIFEST CONTENT: $(RESOLVED)"