如何在为用户定义的构建器编译scons时使用CCCOMSTR和ASCOMSTR

时间:2013-05-21 09:14:58

标签: scons

我正在使用 scons 。在我的项目中,我遇到了编译.src文件的情况。

为了编译它们,我创建了一个新的构建器。新构建器的代码是

    asmcode_generator = Builder(action = '$ASCOM', single_source = 1,  suffix = '.obj')
    env.Append(BUILDERS = {'AsmCodeGenerator' : asmcode_generator})

我正在使用上面的构建器编译.src文件。代码如下。

    sources = env.AsmCodeGenerator(service.src)

上面的代码工作正常并生成.obj文件。

我想在生成目标文件时打印String。 因为我做了以下。

     env['ASCOMSTR'] = "= Assembling $SOURCE "

但编译时不会打印此字符串。 当scons builder编译汇编文件时,上面的代码正常工作。

任何人都可以告诉我如何做到这一点。

1 个答案:

答案 0 :(得分:0)

你所拥有的是一个带有命令字符串的动作对象(无论$ ASCOM评估为命令行)和没有构建字符串(因为你没有指定一个)。

您需要更完整地创建自己的操作对象,因此:

 asmcode_generate = Builder(action = Action('$ASCOM', 'Assembling $SOURCE'), ...)