From 520cf2669f359811bfe6f9144a5cee55618da3fd Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Mon, 20 Jul 2009 23:03:28 +0000 Subject: [PATCH] HaikuInstall rule: Allow optional list of target names. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31661 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/FileRules | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/build/jam/FileRules b/build/jam/FileRules index bb8f011454..84e75b686a 100644 --- a/build/jam/FileRules +++ b/build/jam/FileRules @@ -91,22 +91,22 @@ actions AbsSymLink $(RM) "$(1)" && $(LN) -s "$target" "$(1)" } -rule HaikuInstall +rule HaikuInstall installAndUninstall : dir : sources : installgrist + : installRule : targets { # Usage: HaikuInstall <[ install [ and uninstall ] pseudotarget ]> - # : : - # : [ ] : [ ] ; - local install = $(1[1]) ; + # : : : [ ] + # : [ ] : [ ] ; + + local install = $(installAndUninstall[1]) ; install ?= install ; - local uninstall = $(1[2]) ; + local uninstall = $(installAndUninstall[2]) ; uninstall ?= un$(install) ; - local dir = $(2) ; - local sources = $(3) ; - local installgrist = $(4) ; installgrist ?= $(INSTALLGRIST) ; - local installRule = $(5) ; installRule ?= Install ; - local targets = $(sources:G=$(installgrist)) ; + + targets ?= $(sources) ; + targets = $(targets:G=$(installgrist)) ; NotFile $(install) ; NotFile $(uninstall) ; @@ -118,7 +118,8 @@ rule HaikuInstall local source ; for source in $(sources) { - local target = $(source:G=$(installgrist)) ; + local target = $(targets[1]) ; + targets = $(targets[2-]) ; Depends $(target) : $(source) ; $(installRule) $(target) : $(source) ;