WindowsでGNU Make 3.81を使うのは非常に基本的な問題です。私は何か非常に愚かなことをしているに違いないと思いますが、ここの誰かがそれを数ミリ秒で指摘してくれるはずです。私の問題は、 ";"同じシェルで複数のコマンドを実行できます。GNU makeと使用;同じコマンドシェルで複数のシェルコマンドを実行する
私が理解しているように、makeはそれぞれのコマンドシェルで各行を実行します。したがって、2つのコマンドを順に実行する場合は、セミコロンで区切った同じ行に置く必要があります。ではその最も単純な形式です:
all:
echo hello; echo hello
...出力を生成する必要があります
hello
hello
しかし、私のためにそれは出力を生成します。つまり
hello; echo hello
、セミコロンがされていますシェルにまっすぐ渡されました。これはcmd.exeにとってあまり意味がありません。
は私が
ちなみに、私はこれを必要とする理由は、私はその必要があります$(foreachの)ループを使用しているということです...今私が間違って行ってきたと指摘誰もが当惑する準備ができています各反復に対して2つのシェルコマンドを実行します。
あなたは['.ONESHELL'](https://www.gnu.org/software/make/manual/make.html#One-Shell)に興味があるかもしれません – user657267
私は私の問題を私はまだ$(foreach)ループでマルチコマンドを構築する必要があり、実際の改行をシェルに渡すことはできません。しかし、私は今悪魔が何であるか理解しています。 – Rob
'$(shell echo hello; echo hello)'を使用します。 – bfieck