mirror of
https://github.com/boostorg/build.git
synced 2026-02-16 13:22:11 +00:00
56 lines
1.3 KiB
Plaintext
56 lines
1.3 KiB
Plaintext
# (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and
|
|
# distribute this software is granted provided this copyright notice appears in
|
|
# all copies. This software is provided "as is" without express or implied
|
|
# warranty, and with no claim as to its suitability for any purpose.
|
|
import project ;
|
|
import sequence ;
|
|
import modules ;
|
|
import feature ;
|
|
|
|
import builtin ;
|
|
import make ;
|
|
|
|
import site-config ;
|
|
import user-config ;
|
|
|
|
current-project = [ project.load "." ] ;
|
|
if [ MATCH (--dump-projects) : [ modules.peek : ARGV ] ]
|
|
{
|
|
project-root.print ;
|
|
}
|
|
|
|
build-request = [ build-request.from-command-line [ modules.peek : ARGV ] ] ;
|
|
|
|
targets = [ $(build-request).get-at 1 ] ;
|
|
properties = [ $(build-request).get-at 2 ] ;
|
|
expanded = [ build-request.expand $(properties) ] ;
|
|
|
|
|
|
root-target = [ $(current-project).target ] ;
|
|
virtual-targets = ;
|
|
|
|
if $(expanded)
|
|
{
|
|
for local p in $(expanded)
|
|
{
|
|
virtual-targets += [ $(root-target).generate [ feature.split $(p) ] ] ;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
virtual-targets = [ $(root-target).generate ] ;
|
|
}
|
|
|
|
|
|
actual-targets = ;
|
|
for t in $(virtual-targets)
|
|
{
|
|
actual-targets += [ $(t).actualize ] ;
|
|
}
|
|
DEPENDS all : $(actual-targets) ;
|
|
|
|
# If there are any targets in the command line, cause them to be updated
|
|
UPDATE $(targets) ;
|
|
|
|
|