
Windowsでのmakeについてお尋ねします。
Windows上でGnuのコンパイラを使うということを前提としたmakeを利用するにはどうしたらいいでしょうか。コマンドラインでコンパイルすることは可能で、パスも設定されています。
WindowdでmakeというとnamakeとかVisualStudioの環境でのものが出てきそうですが、たぶんそのようなものでは使えないと思います。この辺はLinuxだとコンパイラとかmakeの実行ファイルなどデフォルトの状態で利用できるはずですが、Windowsではどうやるのでしょうか。長年の鬼門なのです。
よろしくお願いします。
なお、Vmware, Cygwin, WSLとは別ということになります。これらだったら基本Linuxの環境ですね。
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
本当に Makefile で困っている人には
2 An Introduction to Makefiles
を薦めた方がいいんじゃないかと思ったり>#7.
ちなみに GNU make は日本語のマニュアルも書籍で出てた. バージョンは 3.80 とかのあたりだったと思う.
No.7
- 回答日時:
>GNU make のマニュアルは HTML だったり PDF だったり
おお、PDFで探せばよかったか。ありがと #5
つうことで、GNU make のマニュアル
10.2 Catalogue of Built-In Rules
10.3 Variables Used by Implicit Rules
10.5.3 Automatic Variables
くらい把握しとけばいいと思います。
No.6
- 回答日時:
丸投げせずに
・gcc直打ちではどこまでうまく行くのか?
・Makefile 、ソ一ス、エラーメッセージ
ここに書いてみよう。
できません、できませんだけでは
回答側に負担がかかるばかりで
答える気が萎えます。
No.5
- 回答日時:
GNU make はいろいろと拡張されまくっているのでアレなところはあるけど基本は同じだし実は基本的な書き方は
GNU make のマニュアル
にも書いてあったりする. とはいえ Makefile の書き方は調べればいくらでも見付かるはずなんだけど... なにに困っているのかなぁ.
あ, GNU make のマニュアルは HTML だったり PDF だったりといろいろなフォーマットで用意されてるよ>#4.
No.4
- 回答日時:
nmake はよく知らないが、
GNUmake だったら、ほぼ linux 系動作と同じです。
(多くの linux の GNUmake は途中で .o を作るけど)
makefile 等がなかった場合、
フォルダ中に、foo.c とか foo.cc とか foo.f 、foo,p などあれば、
make foo
などとすると、
foo.c :
cc foo.c -o foo
foo.cc:
g++ foo.cc -o foo
foo.f:
f77 foo.f -o foo
foo.p:
pc foo.p -o foo
と動作します。
最優先は、foo.c だったかな?
Makefile に
CC=gcc
CXX=c++
FC=gfortran
PC=gpc
とか書けば、
コンパイラが変わってくれます。
別に書かなくても、環境変数で
set CC=gcc
などとしても、変えることが出来ます。
読むの面倒ですが、
make -p とすれば、動作がある程度見えると思います。
GNUmake のマニュアルには、そのあたり書いてあったと思うけど、
最近ネットで解説が分割されているので、
まだ残ているか、探しずらいので、よくわかりません。
昔のひとまとめでみられるものだと、
まとめて書いてあるので探しやすかったのですが・・・
No.2
- 回答日時:
もちろん GNU make を使ってもいいし, MS の nmake でも「できない理由」が思いつかないんだけど.
何に困っている?
回答ありがとうございます。
簡単なんですか。
makefileの編集ルールとmakeを実行するコマンド(あるいはnmake)の関係はどうなるでしょうか。makeを実行するコマンドは仕様が決まっているのでそれにあわせたmakefileの作成ということになるわけですが。サンプルを1つ示していただけると助かるのですが。
Gnu makeのバージョンは4.2.1でした。nmakeはVisual studioの開発環境のシェルにあります。
No.1
- 回答日時:
回答ありがとうございます。qiitaのサイトではgnu makeを利用する環境が示されているようでした。私のPCではコマンドラインからmake --versionとすると、Gnu makeのver.4.2.1が出てくるようになっています。
そうしますと、あとはmakefileの編集ですが、その例があると助かるのですが。
例えば、/home/program/xxx.cとyyy.c という2つのファイルをgccでコンパイルしてa.exeを作るというmakefileはどうなるでしょうか。インクルードファイルなどの指定とかも必要なのでしょうか。
質問の内容を端的に言うと、(私の環境に合致する)makefile編集ということになります。makefileはLinux(Unix)創世期からありますので、コピペして編集したりするのですが、動かないということに見舞われてきました。
細かい指定があってインデントを編集するときにTabはいいとか・ダメとかいろいろあったのだと思います。そのため敬遠していました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C++でアボート(Abort)で処理が...
-
io.hをincludeするとそのような...
-
C++ で、「)」が必要 というエ...
-
プリコンパイラとは?
-
Delphiの逆コンパイル
-
コンパイルできない
-
ABAQUS ユーザーサブルーチン...
-
0除算して、落ちるプログラムと...
-
65536は2の何乗なのでしょうか?
-
あるプログラムのコマンドライ...
-
一番近い組み合わせを見つけるには
-
VBAで仕様書は書きますか?
-
正しい五十音順について
-
PICマイコンのコピー(クローン...
-
ドロップダウンリストの文字を...
-
プログラミングをしたいのです...
-
Bluestacks内でダウンロードし...
-
PICのプログラムでsrandを使う...
-
VBAでユーザーフォームが自動的...
-
バッチファイルでウインドウを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C++ で、「)」が必要 というエ...
-
0除算して、落ちるプログラムと...
-
コンパイルできない
-
C++でアボート(Abort)で処理が...
-
io.hをincludeするとそのような...
-
volatile修飾について
-
Delphiの逆コンパイル
-
__extension__
-
Eclipseの環境設定について
-
linuxのセキュリティ対策と致し...
-
プリコンパイラとは?
-
fortranでのNaNについて
-
MFC
-
C言語のワーニングメッセージの...
-
関数の戻り値による変数の初期化
-
コンパイラについて
-
FORTRANとC++の連動について
-
Fortran90を使いたい
-
「.c」拡張子でC++文法を使...
-
PICマイコンによる乱数の表示に...
おすすめ情報