こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

回答受付中の質問

Windowsのmakeについて特にpython

ソースプログラムを実行するための環境を作るmakeについてお尋ねします。Linuxなどでは、OSをインストールした時点で1つ有効なmakeがg++, gcc等で使用することを目指して利用できるようになっていると思います。アプリのインストールでさえmakeですね(./configure, make cleanとかの定型処理)。Windowsだとmakeを提供する元がいっぱいあってプロンプトでwhere make とすると4つぐらい出てきます。そこで質問なのですが、makeという操作は提供元によって全然文法その他の仕様が違うものなのでしょうか。つまり、一般性が高いmakefileというものあるのか?という質問にもなりますが。コマンドプロンプトでmakeをやるとpathの最初に出てくるmakeが呼ばれるようです。Windowsのmakeは一般論では何も言えないでしょうか。大昔,マイクロソフトはnmakeで名前を変えて唯一のものとして確定していたようですが。
さらにpython3.6についてお尋ねしたいと思います。あるプログラムのソースをダウンロードして、広げてみるとソースファイル軍とmakefileがあり、makefileの冒頭に、
## The present Makefile is a pure configuration file, in which
## you can select compilation options. Compilation dependencies
## are managed automatically through the Python library SConstruct.

上記はmakeの一般論のあとPythonでもライブラリがあれば使えるという風に読める記述があります。そもそもPythonってインタプリターとかソースにpythonコマンドで利用するということであり、実行ファイルは作らないものだと思っていたのでどういうことだろうと思うのですが。makefileをmakeで呼び出して利用するにしてもどのmake.exeでもいいってことではないと思うのですが。pythonで使用するmakefileということですが。
よろしくお願いします。

投稿日時 - 2018-05-06 23:42:52

QNo.9495878

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

その文章に書いてるのは「この Makefile は SCons のラッパーで
オプションを SCons に渡すのに使ってるだけ。
依存関係の解決などは SCons がやる」ってことでしょう。
SCons は Python 製の make 代替ユーティリティです。

投稿日時 - 2018-05-16 10:11:03

ANo.4

>”こういうものを提供して使って下さい”と言っている人は方言がないと思っている人たちだと思います。

いえ、方言がないと思ってるわけではなく(そういう人もいるかもしれませんが)、大抵は
・使う人がその人の環境に合わせて書き換える事を前提にしている
・方言があるのは知っているが元から考慮していない
・GNU makeを前提にしている(GNU makeは結構多くのプラットホームに移植されてるので)
あたりです。

>またmakeファイルの中身をざっとみてどういうmakeなら動くって判断できるでしょうか。

Makefile中にコメントに書かれていることもありますし、
同梱されているドキュメントに書かれていることもあります。
馴れもあるかもしれませんが私はGNU make用のMakefileなら、GNU make用と大体わかります。

投稿日時 - 2018-05-08 19:56:29

ANo.3

#2です。
makeはプロでも使います。
私自身、職業プログラマですしmake使ってますから。

投稿日時 - 2018-05-07 02:24:13

お礼

回答ありがとうございます。makeはいいですか。確かにご利益はあるものだと思います。ある計算のプログラムを一式他に人に渡すとき、makefileも一緒にしてセットで渡すとします。それをもらった人は確実に対応できるはず、という確信が持てるものと思えるでしょうか。それとも”自分と同じ環境じゃないと使えないから難しいだろうな”、思うものでしょうか。

投稿日時 - 2018-05-08 07:08:19

ANo.2

ターゲット: 依存ファイル...
<tab>コマンド

といった基本的な部分は共通ですが、マクロ等が絡んでくるとかなりの方言があります。

投稿日時 - 2018-05-07 01:47:58

お礼

回答ありがとうございます。私もそういう思いがあります。方言だらけでまともに動かないということです。”こういうものを提供して使って下さい”と言っている人は方言がないと思っている人たちだと思います。そういう意味で比較的方言がない世界というのはやはりLinuxでしょうか。Linuxだとユーザがmake環境を独自で立ち上げるということはできなくはないでしょうがあまりないと思うのです。やはりLinuxなのかなと思います。またmakeファイルの中身をざっとみてどういうmakeなら動くって判断できるでしょうか。windowsを使うことを想定してmakefile添付しているのもあり、これどうなの?と思ったりしています。

投稿日時 - 2018-05-08 06:57:06

ANo.1

makeはプロでも使いません。
何百あるソースを1つ変えただけで数十もコンパイルされては
収拾がつかないからです。そのための不具合も数多くあります。

投稿日時 - 2018-05-07 01:40:31

お礼

回答ありがとうございます。御利益もあるものだとは思うのですが、こう使い勝手が悪いものだとどうなのかな?って思います。”うまくいく人”にはたいへん便利であり、自分が”うまくいく人”かどうかわからず試して、うまくいかない場合、それ以上、もがくとハマってしまうのではないかと思います。”とにかくこの環境でやってくれ”とはどこにも書いてないんですね。
このご利益をたっぷり享受している人は、”まだmake使ってないの?”なんて言っています。

投稿日時 - 2018-05-08 07:03:12

あなたにオススメの質問