Borland製のコマンドラインツールとの格闘記
VC++用に書かれたMakefileをC++Builderへ移植をしたら、しばらく書いていないせいか、書き方を忘れていた。orz
で、コンパイルはBCC32を使うから、C++Builder付属のmakeに食わせたら、ファイル名のワイルドカードの展開をしない。
それに、tlib(ライブラリアン)の引数の渡し方が変態極まりない上に、こっちもワイルドカードの展開をしない。('A`)
結局、tlibのパラメータファイルを生成するRubyのスクリプトを作成して、makeからそいつを呼び出し、出来たパラメータファイルをtlibに渡すことで解決。
まぁ、nmakeとかGNU makeを使ってもいいんだけど、nmakeなんて以外と情報が少ないし。
Borlandのmakeなんて、もっと悲惨だけど。
素直にC++Builderが使えればいいんだけど、-Dhogehogeがいっぱいあるし、そのせいかリンカがコケるし。(´・ω・`)ショボーン
これで、こっちも駄目だったら目も当てられないな。(゚∀゚)アヒャヒャヒャヒャ
追記1:
Sランクオーバーの魔導師の皆様の足下には及ばないけど、とりあえず作ったスクリプトを晒しておこう。ほとんどワンライナーのようなものだけどwww
# TlibResp.rb # 与えられた引数をファイル名と見なし、tlib.exeのレスポンスファイルの形式で出力する # Usage: ruby TlibResp.rb (ファイル名) ARGV.each {|param| printf("+-%s &\n",param.gsub('/', '\\')) } puts("+-") # ILink32Resp.rb # 与えられた引数をファイル名と見なし、ilink32.exeのレスポンスファイルの形式で出力する # Usage: ruby ILink32Resp.rb (ファイル名) ARGV.each {|param| printf("%s+\n",param.gsub('/', '\\')) }