From 84f07a626cc71d7fdd52382ad698205dd473a8d2 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Fri, 28 Jun 2002 10:33:26 +0000 Subject: [PATCH] Integrated Perforce change 1522: InstallInto now handle multiple files. [SVN r14258] --- historic/jam/src/Jambase | 47 +++++++++++++++++++++++++++------------- jam_src/Jambase | 47 +++++++++++++++++++++++++++------------- 2 files changed, 64 insertions(+), 30 deletions(-) diff --git a/historic/jam/src/Jambase b/historic/jam/src/Jambase index 3d246bf3e..a97672cd6 100644 --- a/historic/jam/src/Jambase +++ b/historic/jam/src/Jambase @@ -900,6 +900,8 @@ else if $(UNIX) CCFLAGS ?= ; C++FLAGS ?= $(CCFLAGS) ; CHMOD ?= chmod ; + CHGRP ?= chgrp ; + CHOWN ?= chown ; LEX ?= lex ; LINKFLAGS ?= $(CCFLAGS) ; LINKLIBS ?= ; @@ -932,6 +934,7 @@ else if $(UNIX) FORTRAN ?= f77 ; FORTRANFLAGS ?= ; HDRS ?= ; + INSTALLGRIST ?= installed ; JAMFILE ?= Jamfile ; JAMRULES ?= Jamrules ; LEX ?= ; @@ -1152,30 +1155,44 @@ rule HdrRule rule InstallInto { + # InstallInto dir : sources ; + local i t ; - t = $(>:G=installed) ; + t = $(>:G=$(INSTALLGRIST)) ; - DEPENDS install : $(t) ; - DEPENDS $(t) : $(>) ; + # Arrange for jam install + # Arrange for jam uninstall + # sources are in SEARCH_SOURCE + # targets are in dir + + Depends install : $(t) ; + Clean uninstall : $(t) ; SEARCH on $(>) = $(SEARCH_SOURCE) ; MakeLocate $(t) : $(<) ; - # Arrange for jam uninstall - - Clean uninstall : $(t) ; + # For each source, make gristed target name + # and Install, Chmod, Chown, and Chgrp for i in $(>) { - Install $(i:G=installed) : $(i) ; - } + local tt = $(i:G=$(INSTALLGRIST)) ; - Chmod $(t) ; + Depends $(tt) : $(i) ; + Install $(tt) : $(i) ; + Chmod $(tt) ; - if $(UNIX) - { - if $(OWNER) { Chown $(t) ; OWNER on $(t) = $(OWNER) ; } - if $(GROUP) { Chgrp $(t) ; GROUP on $(t) = $(GROUP) ; } + if $(OWNER) && $(CHOWN) + { + Chown $(tt) ; + OWNER on $(tt) = $(OWNER) ; + } + + if $(GROUP) && $(CHGRP) + { + Chgrp $(tt) ; + GROUP on $(tt) = $(GROUP) ; + } } } @@ -1953,7 +1970,7 @@ actions Cc actions Chgrp { - chgrp $(GROUP) $(<) + $(CHGRP) $(GROUP) $(<) } actions Chmod1 @@ -1963,7 +1980,7 @@ actions Chmod1 actions Chown { - chown $(OWNER) $(<) + $(CHOWN) $(OWNER) $(<) } actions piecemeal together existing Clean diff --git a/jam_src/Jambase b/jam_src/Jambase index 3d246bf3e..a97672cd6 100644 --- a/jam_src/Jambase +++ b/jam_src/Jambase @@ -900,6 +900,8 @@ else if $(UNIX) CCFLAGS ?= ; C++FLAGS ?= $(CCFLAGS) ; CHMOD ?= chmod ; + CHGRP ?= chgrp ; + CHOWN ?= chown ; LEX ?= lex ; LINKFLAGS ?= $(CCFLAGS) ; LINKLIBS ?= ; @@ -932,6 +934,7 @@ else if $(UNIX) FORTRAN ?= f77 ; FORTRANFLAGS ?= ; HDRS ?= ; + INSTALLGRIST ?= installed ; JAMFILE ?= Jamfile ; JAMRULES ?= Jamrules ; LEX ?= ; @@ -1152,30 +1155,44 @@ rule HdrRule rule InstallInto { + # InstallInto dir : sources ; + local i t ; - t = $(>:G=installed) ; + t = $(>:G=$(INSTALLGRIST)) ; - DEPENDS install : $(t) ; - DEPENDS $(t) : $(>) ; + # Arrange for jam install + # Arrange for jam uninstall + # sources are in SEARCH_SOURCE + # targets are in dir + + Depends install : $(t) ; + Clean uninstall : $(t) ; SEARCH on $(>) = $(SEARCH_SOURCE) ; MakeLocate $(t) : $(<) ; - # Arrange for jam uninstall - - Clean uninstall : $(t) ; + # For each source, make gristed target name + # and Install, Chmod, Chown, and Chgrp for i in $(>) { - Install $(i:G=installed) : $(i) ; - } + local tt = $(i:G=$(INSTALLGRIST)) ; - Chmod $(t) ; + Depends $(tt) : $(i) ; + Install $(tt) : $(i) ; + Chmod $(tt) ; - if $(UNIX) - { - if $(OWNER) { Chown $(t) ; OWNER on $(t) = $(OWNER) ; } - if $(GROUP) { Chgrp $(t) ; GROUP on $(t) = $(GROUP) ; } + if $(OWNER) && $(CHOWN) + { + Chown $(tt) ; + OWNER on $(tt) = $(OWNER) ; + } + + if $(GROUP) && $(CHGRP) + { + Chgrp $(tt) ; + GROUP on $(tt) = $(GROUP) ; + } } } @@ -1953,7 +1970,7 @@ actions Cc actions Chgrp { - chgrp $(GROUP) $(<) + $(CHGRP) $(GROUP) $(<) } actions Chmod1 @@ -1963,7 +1980,7 @@ actions Chmod1 actions Chown { - chown $(OWNER) $(<) + $(CHOWN) $(OWNER) $(<) } actions piecemeal together existing Clean