mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2025-01-02 17:09:36 +03:00
75 lines
1.8 KiB
Plaintext
75 lines
1.8 KiB
Plaintext
# Copyright (c) 2005 Vladimir Prus.
|
|
#
|
|
# Use, modification and distribution is subject to the Boost Software
|
|
# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
|
|
# http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
import "class" : new ;
|
|
import generators ;
|
|
import project ;
|
|
import targets ;
|
|
import toolset ;
|
|
import type ;
|
|
|
|
|
|
type.register NOTFILE_MAIN ;
|
|
|
|
|
|
class notfile-generator : generator
|
|
{
|
|
rule __init__ ( * : * )
|
|
{
|
|
generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
|
|
}
|
|
|
|
rule run ( project name ? : property-set : sources * : multiple ? )
|
|
{
|
|
local action ;
|
|
local action-name = [ $(property-set).get <action> ] ;
|
|
|
|
local m = [ MATCH ^@(.*) : $(action-name) ] ;
|
|
|
|
if $(m)
|
|
{
|
|
action = [ new action $(sources) : $(m[1])
|
|
: $(property-set) ] ;
|
|
}
|
|
else
|
|
{
|
|
action = [ new action $(sources) : notfile.run
|
|
: $(property-set) ] ;
|
|
}
|
|
return [ virtual-target.register
|
|
[ new notfile-target $(name) : $(project) : $(action) ] ] ;
|
|
}
|
|
}
|
|
|
|
|
|
generators.register [ new notfile-generator notfile.main : : NOTFILE_MAIN ] ;
|
|
|
|
|
|
toolset.flags notfile.run ACTION : <action> ;
|
|
|
|
|
|
actions run
|
|
{
|
|
$(ACTION)
|
|
}
|
|
|
|
|
|
rule notfile ( target-name : action + : sources * : requirements * : default-build * )
|
|
{
|
|
local project = [ project.current ] ;
|
|
|
|
requirements += <action>$(action) ;
|
|
|
|
targets.main-target-alternative
|
|
[ new typed-target $(target-name) : $(project) : NOTFILE_MAIN
|
|
: [ targets.main-target-sources $(sources) : $(target-name) ]
|
|
: [ targets.main-target-requirements $(requirements) : $(project) ]
|
|
: [ targets.main-target-default-build $(default-build) : $(project) ]
|
|
] ;
|
|
}
|
|
|
|
IMPORT $(__name__) : notfile : : notfile ;
|