HaikuInstall rule: Allow optional list of target names.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31661 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
+12
-11
@@ -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 ]>
|
||||
# : <directory> : <sources to install>
|
||||
# : [ <installgrist> ] : [ <install rule> ] ;
|
||||
local install = $(1[1]) ;
|
||||
# : <directory> : <sources to install> : [ <installgrist> ]
|
||||
# : [ <install rule> ] : [ <targets> ] ;
|
||||
|
||||
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) ;
|
||||
|
||||
Reference in New Issue
Block a user