[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[WitchTech 00444] Re: 16bit 版 LSIC86 のメイクファイルについて
- Subject: [WitchTech 00444] Re: 16bit 版 LSIC86 のメイクファイルについて
- From: narunaru@123mail.net
- Date: Wed, 6 Sep 2000 01:59:26 +0900 (JST)
なるなると申します。
> <000901c0174c$7ab1cd40$65764ca5@tomohiro>
> From: tok@osa.att.ne.jp
> Date: Wed, 6 September 2000 00:17:16 +0900
>
> 症状:
> 16bit版LSIC86に変更後メイクできなくなった。(32bit版では問題ない)
> エラーメッセージ:
> ../makefile.inc 32: Too long command line
> make: Fatal error detected
> コマンドが長いということはわかりますが、短くする方法がわかりません。どうすれ
> ばよいのでしょう?
これは LSI C に限らず MS-DOS 用のバイナリなら共通に発生する問題だと思いま
す。(コマンドラインの最大長が約 128 文字という例のやつです。正確には何文字
でしたっけ ?)
ファイル名を短くするという手もありますが、通常は @ で応答ファイルを指定し
ます。
> .obj.bin:
> lcc86 -a$(CRT0) -k-M -o $*.bin $^ (←この行でエラー)
テストしてませんが、こんな感じです。
.obj.bin:
lcc86 @${-a$(CRT0) -k-M -o $*.bin $^}
${ } は kmmake の特殊マクロで、括弧内をテキストファイル make.i に出力し、
コマンドラインのこの部分はファイル名に置き換えられます。(その前の @ は
lcc86 に応答ファイルを指定します。)
上記だと make.i には -a$(CRT0) -k-M -o $*.bin $^ を展開した結果が出力され
実行されるコマンドラインは lcc86 @make.i になります。
lcc86 は make.i の内容を読んでコマンドラインのパラメタと同じように処理しま
す。
# WonderWitch 版ではファイル名は make.i ではないかもしれません。@ で応答ファ
イルを指定するのは MS-DOS 時代は割と一般的だったと思います。
ML Archives