0

Keil C51 コンパイラと scons をビルド システムとして使用しようとしています。

私が抱えている最後の問題は、$SOURCESカンマ区切りでリンカに出力する方法です。デフォルトでは、区切り文字としてスペースが使用されます。

SConstruct の関連部分は次のとおりです。

path = ['C:\Keil\C51\BIN']
env = Environment(ENV = {'PATH' : path})

#Compiler settings
env['CC']        = 'c51.exe' 
env['CCCOM']     = '$CC $SOURCES $_CPPINCFLAGS $CFLAGS  $_CCCOMCOM ' #-o $TARGET 
env['INCPREFIX']  = 'INCDIR('
env['INCSUFFIX']  = ')'

# Linker settings
env.Replace(LINK='BL51.exe')
env['LINKCOM']     = '$LINK $SOURCES TO $TARGET $LINKFLAGS $__RPATH $_LIBDIRFLAGS $_LIBFLAGS'

これで私は得る:

BL51.exe driver.obj flash.obj initialization.obj power.obj TO Outfile.omf

私が欲しいのは:

BL51.exe driver.obj,flash.obj,initialization.obj,power.obj TO Outfile.omf

$SOURCESは構築変数であり、コマンドラインへの出力方法を変更する方法が見つかりません。

誰?

4

1 に答える 1

1

私はこれを使用して解決しました:

    env['LINKCOM']     = '$LINK ",".join( $SOURCES ) TO $TARGET $LINKFLAGS $__RPATH $_LIBDIRFLAGS $_LIBFLAGS'
于 2012-08-13T12:33:42.553 に答える