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)"
|
$(RM) "$(1)" && $(LN) -s "$target" "$(1)"
|
||||||
}
|
}
|
||||||
|
|
||||||
rule HaikuInstall
|
rule HaikuInstall installAndUninstall : dir : sources : installgrist
|
||||||
|
: installRule : targets
|
||||||
{
|
{
|
||||||
# Usage: HaikuInstall <[ install [ and uninstall ] pseudotarget ]>
|
# Usage: HaikuInstall <[ install [ and uninstall ] pseudotarget ]>
|
||||||
# : <directory> : <sources to install>
|
# : <directory> : <sources to install> : [ <installgrist> ]
|
||||||
# : [ <installgrist> ] : [ <install rule> ] ;
|
# : [ <install rule> ] : [ <targets> ] ;
|
||||||
local install = $(1[1]) ;
|
|
||||||
|
local install = $(installAndUninstall[1]) ;
|
||||||
install ?= install ;
|
install ?= install ;
|
||||||
local uninstall = $(1[2]) ;
|
local uninstall = $(installAndUninstall[2]) ;
|
||||||
uninstall ?= un$(install) ;
|
uninstall ?= un$(install) ;
|
||||||
local dir = $(2) ;
|
|
||||||
local sources = $(3) ;
|
|
||||||
local installgrist = $(4) ;
|
|
||||||
installgrist ?= $(INSTALLGRIST) ;
|
installgrist ?= $(INSTALLGRIST) ;
|
||||||
local installRule = $(5) ;
|
|
||||||
installRule ?= Install ;
|
installRule ?= Install ;
|
||||||
local targets = $(sources:G=$(installgrist)) ;
|
|
||||||
|
targets ?= $(sources) ;
|
||||||
|
targets = $(targets:G=$(installgrist)) ;
|
||||||
|
|
||||||
NotFile $(install) ;
|
NotFile $(install) ;
|
||||||
NotFile $(uninstall) ;
|
NotFile $(uninstall) ;
|
||||||
@@ -118,7 +118,8 @@ rule HaikuInstall
|
|||||||
|
|
||||||
local source ;
|
local source ;
|
||||||
for source in $(sources) {
|
for source in $(sources) {
|
||||||
local target = $(source:G=$(installgrist)) ;
|
local target = $(targets[1]) ;
|
||||||
|
targets = $(targets[2-]) ;
|
||||||
|
|
||||||
Depends $(target) : $(source) ;
|
Depends $(target) : $(source) ;
|
||||||
$(installRule) $(target) : $(source) ;
|
$(installRule) $(target) : $(source) ;
|
||||||
|
|||||||
Reference in New Issue
Block a user