[csw-devel] SF.net SVN: gar:[13811] csw/mgar/gar/v2

skayser at users.sourceforge.net skayser at users.sourceforge.net
Tue Mar 15 14:55:28 CET 2011


Revision: 13811
          http://gar.svn.sourceforge.net/gar/?rev=13811&view=rev
Author:   skayser
Date:     2011-03-15 13:55:28 +0000 (Tue, 15 Mar 2011)

Log Message:
-----------
gar/v2: for platform builds use explicit -I $(GARDIR) instead of $(MAKEFLAGS) to avoid build errors

Modified Paths:
--------------
    csw/mgar/gar/v2/gar.mk
    csw/mgar/gar/v2/gar.pkg.mk

Modified: csw/mgar/gar/v2/gar.mk
===================================================================
--- csw/mgar/gar/v2/gar.mk	2011-03-15 10:19:00 UTC (rev 13810)
+++ csw/mgar/gar/v2/gar.mk	2011-03-15 13:55:28 UTC (rev 13811)
@@ -121,6 +121,9 @@
 
 endef
 
+# Heads up: Don't use MAKEFLAGS to propagate -I to remote GAR invocations as
+# this will also make it visible to the build environment. Some software builds
+# use hard-coded non-GNU make which then errs out on -I (unknown option).
 define _modulate_merge
 $(foreach ASSIGNMENT,$(3),
 merge-$(2): $(ASSIGNMENT)
@@ -129,7 +132,7 @@
 merge-$(2):
 	@echo "[===== Building modulation '$(2)' on host '$$(BUILDHOST)' =====]"
 	$$(if $$(and $$(BUILDHOST),$$(filter-out $$(THISHOST),$$(BUILDHOST))),\
-		$(SSH) $$(BUILDHOST) "PATH=$$(PATH) MAKEFLAGS=\"$$(MAKEFLAGS)\" $(MAKE) -C $$(CURDIR) $(if $(GAR_PLATFORM),GAR_PLATFORM=$(GAR_PLATFORM)) MODULATION=$(2) $(3) merge-modulated",\
+		$(SSH) $$(BUILDHOST) "PATH=$$(PATH) $(MAKE) -I $$(GARDIR) -C $$(CURDIR) $(if $(GAR_PLATFORM),GAR_PLATFORM=$(GAR_PLATFORM)) MODULATION=$(2) $(3) merge-modulated",\
 		$(MAKE) $(if $(GAR_PLATFORM),GAR_PLATFORM=$(GAR_PLATFORM)) MODULATION=$(2) $(3) merge-modulated\
 	)
 	@# The next line has intentionally been left blank to explicitly terminate this make rule

Modified: csw/mgar/gar/v2/gar.pkg.mk
===================================================================
--- csw/mgar/gar/v2/gar.pkg.mk	2011-03-15 10:19:00 UTC (rev 13810)
+++ csw/mgar/gar/v2/gar.pkg.mk	2011-03-15 13:55:28 UTC (rev 13811)
@@ -957,13 +957,18 @@
 
 # This rule automatically logs into every host where a package for this software should
 # be built. It is especially suited for automated build bots.
+
+# Heads up: Don't use MAKEFLAGS to propagate -I to remote GAR invocations as
+# this will also make it visible to the build environment. Some software builds
+# use hard-coded non-GNU make which then errs out on -I (unknown option).
+
 platforms: _PACKAGING_PLATFORMS=$(if $(ARCHALL),$(firstword $(PACKAGING_PLATFORMS)),$(PACKAGING_PLATFORMS))
 platforms:
 	$(foreach P,$(_PACKAGING_PLATFORMS),\
 		$(if $(PACKAGING_HOST_$P),\
 			$(if $(filter $(THISHOST),$(PACKAGING_HOST_$P)),\
 				$(MAKE) GAR_PLATFORM=$P _package && ,\
-				$(SSH) -t $(PACKAGING_HOST_$P) "PATH=$$PATH:/opt/csw/bin MAKEFLAGS=\"$(MAKEFLAGS)\" $(MAKE) -C $(CURDIR) GAR_PLATFORM=$P _package" && \
+				$(SSH) -t $(PACKAGING_HOST_$P) "PATH=$$PATH:/opt/csw/bin $(MAKE) -I $(GARDIR) -C $(CURDIR) GAR_PLATFORM=$P _package" && \
 			),\
 			$(error *** No host has been defined for platform $P)\
 		)\
@@ -978,7 +983,7 @@
 			echo " (built on this host)";\
 			  $(MAKE) -s GAR_PLATFORM=$P _pkgshow;echo;,\
 			echo " (built on host '$(PACKAGING_HOST_$P)')";\
-			  $(SSH) $(PACKAGING_HOST_$P) "PATH=$$PATH:/opt/csw/bin MAKEFLAGS=\"$(MAKEFLAGS)\" $(MAKE) -C $(CURDIR) -s GAR_PLATFORM=$P _pkgshow";echo;\
+			  $(SSH) $(PACKAGING_HOST_$P) "PATH=$$PATH:/opt/csw/bin $(MAKE) -I $(GARDIR) -C $(CURDIR) -s GAR_PLATFORM=$P _pkgshow";echo;\
 		)\
 	)
 	@$(MAKECOOKIE)
@@ -989,7 +994,7 @@
 		$(if $(PACKAGING_HOST_$P),\
 			$(if $(filter $(THISHOST),$(PACKAGING_HOST_$P)),\
 				$(MAKE) -s GAR_PLATFORM=$P $* && ,\
-				$(SSH) -t $(PACKAGING_HOST_$P) "PATH=$$PATH:/opt/csw/bin MAKEFLAGS=\"$(MAKEFLAGS)\" $(MAKE) -C $(CURDIR) GAR_PLATFORM=$P $*" && \
+				$(SSH) -t $(PACKAGING_HOST_$P) "PATH=$$PATH:/opt/csw/bin $(MAKE) -I $(GARDIR) -C $(CURDIR) GAR_PLATFORM=$P $*" && \
 			),\
 			$(error *** No host has been defined for platform $P)\
 		)\


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.


More information about the devel mailing list