質問: windows環境でのmakeについて 最近、コンピュータシミュレーションもwindows環境でされることが多くなっているみたいで、mpiの環境もマイクロソフトが提供したりしているようです。 そのような前提で、makeによってコンパイルするように指示されているプログラムのセットがあります。makeコマンドはmakefileに書いてある内容に従ってコンパイルしていくことになりますが、makeコマンドはwindows環境ではどこから提供されるのが一般的なのでしょうか。linuxの場合は1つしかありませんが、windowsの場合は、gowとかcygwinなど自分がどういう環境を作っているかに依存すると思います。visual studioもmakeを持っているのではないかと思います。今、コマンドプロンプトでwhich makeとするとgowが提供していることになっています。どのmakeでも同じ、ということになるのでしょうか。ms-dosではnmakeなんてのもあったと思います。 また、makeとは結局、コマンドをキーボードで入力する手間を省くものであり、キーボードマクロのようなものなのだろうか?とも思いますが(ユーザ側の印象)。windowsのバッチのようなものか?ということなのですが。unixではmakeはシステムとかシェルによって違う?というようなことがあったと思います。makefileの書式もいろいろとあって空白とかタブとかの違いとかもあったような? そのあたりをまず、ざっくりと理解しておきたいと思っているのですが。 ケースバイケース(一般論がない)だから、自分の環境でやるというよりも、指定された?makeに従って操作すべき、ということになるでしょうか。 よろしくお願いします。
回答: > make.exeがpcの中に複数ある場合、どれを使うようになっているかを判別する方法が分かればありがたいのですが どのmakeに対応したものか、は、そのmakefileの中で使われている変数や関数、ルールの書式に、特定のmake独自のものが含まれているか、を調べます。 標準のものだったら、大抵のmakeコマンドで利用できるはずです。 どの環境に対応しているかは、使われているファイル名やコマンド名から判断します。 .c→.o→ 拡張子無し というルールなら、windowsでの nmake+visual c用ではない、と予想できます。 判断できなかったら、実際にやってエラーが出ないか確かめてみるのもよいでしょう。 一般論で言えるのは、せいぜいこれくらいです。 これ以上は、実際のソースコード一式を見ないことにはわかりません。