make-rules/ips.mk
changeset 145 1e2390f5555e
parent 117 8f634eb6f66b
child 151 f9e42a3f7095
--- a/make-rules/ips.mk	Tue Mar 22 10:33:36 2011 -0700
+++ b/make-rules/ips.mk	Tue Mar 22 16:12:59 2011 -0700
@@ -85,20 +85,17 @@
 MANIFESTS =		$(CANONICAL_MANIFESTS:%=$(MANIFEST_BASE)-%)
 
 
-MOGRIFIED=$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.resolved)
-PUBLISHED=$(MOGRIFIED:%.resolved=%.published)
+RESOLVED=$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.resolved)
+PUBLISHED=$(RESOLVED:%.resolved=%.published)
 
 COPYRIGHT_FILE =	$(COMPONENT_NAME)-$(COMPONENT_VERSION).copyright
-ifeq	($(IPS_PKG_NAME),)
-	IPS_PKG_NAME =	$(COMPONENT_NAME)
-endif
-IPS_COMPONENT_VERSION =	$(COMPONENT_VERSION)
+IPS_COMPONENT_VERSION ?=	$(COMPONENT_VERSION)
 
 .DEFAULT:		publish
 
 .SECONDARY:
 
-publish:		install $(BUILD_DIR)/.published
+publish:		install $(BUILD_DIR)/.published-$(MACH)
 
 sample-manifest:	$(GENERATED).p5m
 
@@ -131,22 +128,26 @@
 		sed -e '/^$$/d' -e '/^#.*$$/d' ; \
 	 $(PKGDEPEND) resolve -o $< | sed -e '1d') | uniq >$@
 
-# lint the manifest before we publish with it.
-$(MANIFEST_BASE)-%.linted:	$(MANIFEST_BASE)-%.resolved
-	@echo "VALIDATING MANIFEST CONTENT: $<"
+$(BUILD_DIR)/.resolved-$(MACH):	$(RESOLVED)
+	$(TOUCH) $@
+
+# lint the manifests all at once
+$(BUILD_DIR)/.linted-$(MACH):	$(BUILD_DIR)/.resolved-$(MACH)
+	@echo "VALIDATING MANIFEST CONTENT: $(RESOLVED)"
 	$(ENV) PYTHONPATH=$(WS_TOOLS)/python PROTO_PATH="$(PKG_PROTO_DIRS)"\
 		$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \
-			-f $(WS_TOOLS)/pkglintrc $<
-	$(PKGFMT) <$< >$@
+			-f $(WS_TOOLS)/pkglintrc $(RESOLVED)
+	$(TOUCH) $@
+
 
 # published
 PKGSEND_PUBLISH_OPTIONS = -s $(PKG_REPO) publish --fmri-in-manifest
 PKGSEND_PUBLISH_OPTIONS += $(PKG_PROTO_DIRS:%=-d %)
-$(MANIFEST_BASE)-%.published:	$(MANIFEST_BASE)-%.linted
+$(MANIFEST_BASE)-%.published:	$(MANIFEST_BASE)-%.resolved $(BUILD_DIR)/.linted-$(MACH)
 	$(PKGSEND) $(PKGSEND_PUBLISH_OPTIONS) $<
 	$(PKGFMT) <$< >$@
 
-$(BUILD_DIR)/.published:	$(PUBLISHED)
+$(BUILD_DIR)/.published-$(MACH):	$(PUBLISHED)
 	$(TOUCH) $@
 
 print-package-names:	canonical-manifests
@@ -169,7 +170,7 @@
 	    echo "unsafe to install package(s) automatically" ; \
         fi
 
-$(MOGRIFIED):	install
+$(RESOLVED):	install
 
 canonical-manifests:	$(CANONICAL_MANIFESTS) Makefile $(PATCHES)
 ifeq	($(strip $(CANONICAL_MANIFESTS)),)