foo.jam

来自「boost库提供标准的C++ API 配合dev c++使用,功能更加强大」· JAM 代码 · 共 36 行

JAM
36
字号
import type ;
import generators ;
import os ;
import print ;

type.register FOO : foo ;

generators.register-standard foo.foo : FOO : CPP H ;

rule foo ( targets * : sources * : properties * )
{
    # On NT, you need an exported symbol in order to have an import lib generated
    if [ os.name ] = NT && <main-target-type>LIB in $(properties)
    {
        .decl =  "echo void __declspec(dllexport) foo(){}" ;
    }
    if [ modules.peek : OS ] in CYGWIN &&  <main-target-type>LIB in $(properties) && $toolset != gcc
    {
        .decl =  "echo 'void __declspec(dllexport) foo(){}'" ;
    }


    .decl1 on $(<) = $(.decl:E="echo //") ;
    
    # Further files must be touched also; NT doesn't have a touch command
    local i = [ print.echo-cmd "#include <z.h>" ] ;
    .decl2 on $(<) = "      
    $(i) > " ;
}

actions foo
{
    $(.decl1) > $(<[1]) $(.decl2)$(<[2-])
}

⌨️ 快捷键说明

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