notfile.jam

来自「Boost provides free peer-reviewed portab」· JAM 代码 · 共 74 行

JAM
74
字号
#  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 [ 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 ;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?