[リストへもどる]
一括表示
タイトルMakefile.mingw について
記事No17
投稿日: 2001/09/18(Tue) 03:46
投稿者
mingw 用の Makefile の win\Makefile.mingw は make 中に win\makecfg.exe
というファイルを出力しますが,時々依存関係の判定に失敗して,本来再コンパ
イルが必要な時にしてくれない時があります.VC で出力した makecfg.exe が
engine\i386\makecfg.exe にある時にそうなるようです.VPATH の問題のような
気がしますが,これはどういう風にすればうまくいくのでしょうか?

#これじゃサポートしてもらうための掲示板だな^^;;


タイトル Makefile.mingw について
記事No18
投稿日: 2001/09/18(Tue) 20:39
投稿者もと
> mingw 用の Makefile の win\Makefile.mingw は make 中に win\makecfg.exe
> というファイルを出力しますが,時々依存関係の判定に失敗して,本来再コンパ
> イルが必要な時にしてくれない時があります.

というか、global.cfgが engine/i386/ フォルダに生成されない
ということだと思うのですが(^^;)
午後のソース同梱の makefile.mingw の 113行目が

$(MAKECFG) > ../engine/i386/global.cfg

となっているのが原因かと (^^;)
makecfg.exe の出力をリダイレクトしてファイル出力する処理
ですが、リダイレクトは command.comの処理なのでパス区切りは
"/"じゃなくて"\"じゃないとだめなのでリダイレクトを失敗して
ると思います。

$(MAKECFG) > ..\engine\i386\global.cfg

とすれば大丈夫かと・・・

あとMingw32-gcc のちょっと前のバージョンのmake.exeは
パス区切りのバグ(cygwinの仕様になってる?)があるものも
あるんで注意したほうがいいかも。

タイトル Makefile.mingw について
記事No20
投稿日: 2001/09/19(Wed) 19:16
投稿者
> というか、global.cfgが engine/i386/ フォルダに生成されない
> ということだと思うのですが(^^;)

うちでは,
> $(MAKECFG) > ..\engine\i386\global.cfg
とすると Makefile.mingw と同じディレクトリの ..enginei386global.cfg とい
う名前のファイルに出力されます.どんなファイル名や^^;;
> $(MAKECFG) > ../engine/i386/global.cfg
とすると engine\i386\global.cfg に出力されます.

> あとMingw32-gcc のちょっと前のバージョンのmake.exeは
> パス区切りのバグ(cygwinの仕様になってる?)があるものも
> あるんで注意したほうがいいかも。

うちの mingw は gcc 2.95.2 なんですが,そのバグにかかってるんでしょうか?
対応環境を増やすのは大変ですわ^^;;


タイトル Makefile.mingw について
記事No21
投稿日: 2001/09/19(Wed) 21:19
投稿者もと
うちの手持ちの make.exe は、 make --version として表示
されるバージョン番号が
GNU Make version 3.77 (Mingw32-gcc 2.95.2環境)と
GNU Make version 3.79.1 (Mingw32-gcc 2.95.3-6環境)
なんですがどちらも \ で正常動作です。

Mingw32-gcc 2.95.3は
Mingw-1.0-20010604
Mingw-1.01-20010726
Mingw-1.1-20010920 とあって、Mingw-1.0 に同梱されてた
make.exeがバグ付きでした。バージョンはちょっと覚えてない
です。

タイトル Makefile.mingw について
記事No27
投稿日: 2001/09/21(Fri) 11:15
投稿者
> うちの手持ちの make.exe は、 make --version として表示
> されるバージョン番号が
> GNU Make version 3.77 (Mingw32-gcc 2.95.2環境)と
> GNU Make version 3.79.1 (Mingw32-gcc 2.95.3-6環境)
> なんですがどちらも \ で正常動作です。

うちは GNU Make version 3.77 なんですけど,前述したような謎の動作です.
ううむ,困りました^^;;


タイトル Makefile.mingw について
記事No29
投稿日: 2001/09/21(Fri) 16:25
投稿者pot
> > うちの手持ちの make.exe は、 make --version として表示
> > されるバージョン番号が
> > GNU Make version 3.77 (Mingw32-gcc 2.95.2環境)と
> > GNU Make version 3.79.1 (Mingw32-gcc 2.95.3-6環境)
> > なんですがどちらも \ で正常動作です。
> > うちは GNU Make version 3.77 なんですけど,前述したような謎の動作です.
> ううむ,困りました^^;;

これはmakeが使っているシェルの問題じゃないでしょうか。
makeはなにかを実行するとき、SHELL環境変数のシェルを使います。
> $(MAKECFG) > ..\engine\i386\global.cfg
できるかどうかわからないんですが(^^;、SHELL=command.comしてみるとどうでしょうか。


ちなみにこれはgccのバグと無関係だと思います。



タイトル Makefile.mingw について
記事No32
投稿日: 2001/09/22(Sat) 10:35
投稿者
> これはmakeが使っているシェルの問題じゃないでしょうか。
> makeはなにかを実行するとき、SHELL環境変数のシェルを使います。
> > $(MAKECFG) > ..\engine\i386\global.cfg
> できるかどうかわからないんですが(^^;、SHELL=command.comしてみるとどうでしょうか。

SHELL=command.com でも ../engine/i386/global.cfg で通りますね.ううむ,
何がなんだか^^;;