# (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) ;