2009-08-11 15 views
2

私は、私はいくつかのバグを修正する必要がレガシーMS NMAKE Makefileを持っている。印刷長いコンパイルライン

私はのNMAKEのトリックを使用して実行されているデバッグするいくつかの非常に長いコマンドラインがあります。 "inline files"

dep: 
    cmd @<<tmpfilename 
cmd_args.. 
<< 

NMAKEは行が長すぎると文句を言い

dep: 
    echo cmd @<<tmpfilename 
cmd_args.. 
<< 

に行を変更。

NMAKEが実際に実行しているコマンドラインを表示するために適用できるトリックはありますか?

答えて

3

最終的に<<の後にコマンドラインを保持する一時ファイルを保存するには、KEEPキーワードを追加します。例えばこの場合、

dep: 
    echo cmd @<<tmpfilename 
cmd_args.. 
<<KEEP 

tmpfilenameという名前のファイルが残っている、と引数リストcmd_argsを保持するnmake depを発行した後。

MS kd articleのサンプルメークファイル2を参照してください。 Thisthis (warning:PDF)KEEPNOKEEPキーワードの説明ですが、MS NMAKE専用に記述されているかどうかはわかりません。

1

通常のunix makeは実行するコマンドを表示するために "make -n"をサポートしています。nmakeは "make/n"です。しかし、通常はまた作るスマートになろうと、あなたが

#dep: 
my_test_rule: 
    cmd @<<tmpfilename 
cmd_args.. 
<< 

を試し、その後は、「NMAKE/N my_test_rule」を実行可能性があるので、更新も「-n」のために、どのような場合には最初の依存関係のルールを実行しますあなたのデバッグ