dsw から makefileを作る
InsideYaneSDKというサイトを眺めていたら、
dswファイルを元にMakefileを作成するツールがあることがわかった。
gawk -f dsw2mak libming.dsp
gawk -f dsw2mak libming.dsw
としたとらMakeFileが作れるのではないかと思っていたのだがdsw2makの中の
libs = gensub(/([[:alnum:]/\\_-]+)\.lib/, "-l\\1", "g", libs)
の部分でエラーが出てしまった。
原因は私にはわからないので、Googleで探したけど、ドキュメントを見つれることが
できなかった。
GAWKマニュアルなるものがありました。
、時間を見つけて、いつか読んでみることにしよう。
(実はネットをうろうろしているときにダウンロードしたものではうまくいったのだが、どこだか忘れてしまった。)
MinGWとMSYSでMakeできるかな?
win32ところに.dswファイルがあったので「VCが必要なのかな」っとおもっていたのだれども、
MinGWとMSYSのコンビでうまくMingをmakeできるものなのかもしれないと感じた。
そもそも私はmakeだとか、ぜんぜん経験がないことにきずいた。つまり、ここらへんはほとんど私の思い込み
の世界でしたないということにまじまじときずいたのです。
(makeとかぜんぜん理解せずにこの日記を書いています)
@MARINECAT
のサポート掲示板を読んでいると
MinGWのバージョンの古いものかのものを用いて
Makeがうまくいかなかった失敗談みたいなものがありました。(結論がMinGWのバージョンだった)
頭がピーンとなった。
以前MingをMakeできなかったのは、MinGWのバージョンが古かったのでは?
そこでwww.MinGW.orgから最新のMinGW
をてにいれ、もう一度コンパイルに挑戦することにした。
まずは情報探し。
eto.comのdays中の0111で
MingをMakeしたときのことが書かれていた。
(bmingwのMingWでSWIGを使ってMingを入れるお話(挫折)を読んだ)
CC = gcc -g -Wall
CC = gcc -bmingw
と変更するとよいみたいだ。
エーと、以前違う結果がでた、がエラーである
エラーは
そしてMakeするとgifdbl.cに関するものであった。
Googleで "gif_lib.h ming"と検索すると" ActiveMingで gif_lib.h
あたりでつまずいている例があるようだ。 が が
ActiveMingは消滅していた。中身が見れない。内容が解らない。
""とりあえず、gif.lib.hは触れないようにするために
"src\blocksかの"Makefileを見てみると../../config.makeを読み込んでいるらしい
。../../config.makeの中の EXTRA_OBJS= のgifdbl.oを消して再度makeしてみた
。すると。
うまくmakeは通った。(blocksのmakeが成功したという意味)。
でもそれ以上の進展は望めなかった
仕切りなおし
ming0.3βはやめて。
Ming0.2αをmakeしてみる。(何も変更しないで)
ムム、うまくいかない。cd src && make がうまく機能していないみたいだぞ。
・・・・・・
・・・・・・
MinGWのmakeではなくMSYSのmakeを使用するようにしてもう一度make
何かlinming.so(Ming0.2α)ができていた。
makeが成功したのだろうか?
ということはMing0.3βがうまくmakeできなかったのは
私のMinGW/bin下のmake.exeが原因だったのだろうか。
|
感想
うーん、Makeの使い方とかぜんぜん理解していない中、Ming0.3βをmakeしようとして
うまくかなかった。
でもMing0.2αのソースからとりあえずlibming.soをつくることができた。
次はMing0.2αでふたMSYSのMAKEを使えを踏まえてMing0.3βのlibming.soを作ることに挑戦としてみよう。
はずかしながら、.soファイルは共有オブジェクトというらしくいということを、今日知りました。
共有オブジェクトの名前からしてWindowsのDLLのようなものなのでしょうか?
うーん。とりあえず、Ming0.3βをmakeするという道のりは長いものになりそうだ。
|