MAKE.EXEは、フリーのコンパイラーなどに同梱されています。
コンパイラと同じ、フォルダーにコピーしておく。
コンパイルするソースのあるフォルダーに次のようなファイル
例えば CC.BAT を作成します。 |
REM "メークやコンパイラーのあるフォルダーを指定する"
path = \xxx\xxx
REM "エラーログがあれば、消す"
del error.err
REM "メークを実行する"
make
REM "一応結果を見る"
pause
|
H8 コンパイラを使って
- CH38 コンパイラー
- ASM38 アセンブラ
- LNK リンカー
- cnvs コンバーター
次のソースファイルをコンパイルするとします。
- vect.mar アセンブラのソース
- sample1.c Cのソース
- sample2.c Cのソース
- sample.h ヘッダー
- link.spc リンク用のサブコマンドファイル
コンパイルするソースのあるフォルダーに次のようなファイル
MAKEFILE を作成します。 |
#
#MakeFile サンプル
#
#拡張子リストへ登録
.SUFFIXE : .obj .mar .c .h
#コンパイラーを指定
CC = ch38
#コンパイラオプションを指定
CFLAGS = /cpu=300ha /show=(so.ob.st.a.noe)
#アセンブラを指定
AS = asm38
#アセンブラオプションを指定
ASFLAGS = /cpu=300ha /list
#オブジェクトリスト
OBJS = vect.obj sample1.obj sample2.obj
#sample.motを作成
all: sample.mot
#新しい*.marがあればアセンブルする
.mar.obj:
$(AS) $< $(ASFLAGS) >>
error.err
#新しい*.Cがあればコンパイルする
.c.obj:
$(CC) $(CFLAGS) $< >> error.err
#新しい*.objがあればリンクする
sample.abs: $(OBJS)
lnk -SUBCOMMAND=link.spc >>
error.err
#新しいsample.absがあればsample.motを作成する
sample.mot: sample.abs
cnvs sample sample
#新しいsample.hがあればコンパイル
$(OBJS): sample.h
|
そして、CC.BATをエディターに登録しておきます。
メイクファイルを覚えると、少し変更すればいろいろなCPUに対応できます。
数種類のCPUのプログラムを担当していたり、
統合開発環境が、干渉しあってしまう時にも役立ちます。
|