FrontPage 新規 編集 検索 一覧 ヘルプ

Diary/2008-5-20

Mach-2 で遊んでみる (2)

入手したソースアーカイブ中の Make6415 には、コンパイラやシェル、その他必要なツールの入手先まで詳しく説明されているので、環境を揃えるのはとても簡単でした(^-^)/

ただ…手を抜いて手元の環境でそのままやったら、環境違いで少々はまってしまったので、忘れないようにメモしときます(^^;

patchlevel 5 版を入れていたのですが、真里子版とは環境変数の名前が大分違ってるので、最初はうまくコンパイルできなくて悩みました。他にも、パスデリミタ変換の無効化とか、インダイレクトファイル無使用とかの違いがあるので、両者が入っている環境では混乱しないようにしないといけませんね(^^;;

 # gcc -version で確認
 
 [真里子版]	
  gcc version 1.30 Tool #2(X680x0)
 
 [patchlevel 5]
  gcc version 1.30 Tool#2(X680x0) patchlevel 5 
 環境変数
 
 真里子版     patchlevel5版
 ----------------------------
 満里菜       GCC_ED
 真里子       GCC_OPTION0   AB
 GCC_OPTION   GCC_OPTION1
 MARINA       (削除)
 MARIKO       (削除)
 GCC_NO_XCLIB (削除)        lib*.a にしたい時
 (なし)       GCC_XCLIB     *lib.a にしたい時

libc類を c:\libc1132a 以下に展開しましたが、makefile 内では区切りに / を使っているため、lib, include の場所指定も \ から / に修正しました(そうじゃないと最後のリンクでしくじる)。

 set lib=c:/libc1132a/lib
 set include=c:/libc1132a/include

make master した際に、内部で make all を呼び出していますが、無指定だと先に進めないので、Make6415 に習って makefile に次の一行を入れておきました。もちろん command.x を指定してもいいんですが、/ 区切りと \ 区切りが混在してごちゃごちゃするので、/ 区切り統一のために fish にしています。

 SHELL=fish

Make6415 は頭で変数設定を行っていましたが、makefile には無いので同様に付け足しておきます。AUTOEXEC.BAT で起動時に環境を整えてもいいですけど、違う環境でも通しやすいように。

 export libc := c:/libc1132a
 export include := $(libc)/include
 export lib := $(libc)/lib
 export 真里子 := AB
 SHELL = fish
 CC = gcc

make -fmakefile master すると、#-rm -v date.o のところで止まるので、#-rm -v date.o の行を削除しています。

makefile では GCC_LINK=lk -bED0140 -x と指定されていますが、ED0100.x を作るには不要なので、この行をコメントアウトして、makefileの先頭に下記を入れ、make ED0100.x で Okay です。

 export GCC_NO_XCLIB := yes
 export GCC_LINK := hlk

それはそうと、lk.x だとうまくリンクできなかったので hlk にしましたが、何故でしょうねぇ(^^;。とりあえず hlk でいけるからいいことにします(^^;;

[カテゴリ:x68]