自動ビルドからの出力へのロギングに問題があります。
ビルドは Makefile と makefile ユーティリティを使用して行われます。
問題は、コンパイラ コマンド ラインのような通常の出力が stdout に送られ、コンパイル エラーが stderr に送られることです。
画面に表示されるように、ビルドから出力を取得したいと考えています。次のようなものです:
(stdout) CC -c file.cpp
(stderr) Compile error at file.cpp line 232, blah blah blah
(stdout) CC -c file2.cpp
私が(kshスクリプトから)試したのは次のとおりです。
make -k > build.log 2> build.log
これにより単一のログ ファイルが作成されますが、ストリームがバッファリングされるため、ログ ファイルの結果がすべて混同されるという問題があります。
出力を 2 つの別々のログ ファイルにキャプチャすることはできましたが、それらを 1 つのログ ファイルにまとめる方法についての情報はありませんでした。
この場合、stdout と stderr のバッファリングをオフにする方法はありますか?