# sample Makefile (zel.make)
#
# sample1.asm sample2.asm sample3.asm の３本のソースファイルがあり、
# ３本とも equ.h というファイルをインクルードしている場合の Makefile です。
#
# NAME と REL と RELOCATE の定義と、インクルードファイルのルールの部分を
# 書き替えれば、流用できます。
#

# link が直接出力するのは、map ファイルと リンク出力ファイル（link.out) で、
# sym file と hex file は link 出力ファイルを それぞれ insp プログラムおよび
# load プログラムに入力することにより作られます。


# hex sym map のファイル名を指定します。
NAME = mn_mario_main

# 使用するモジュールのリロケータブルファイル名を列挙します。
REL = mn_mario_main.rel\
mn_mario_init.rel


# リンク時のリローケーション情報を記述します。
RELOCATE = PROG=0000,DATA=0000


##### 共通部分

.SUFFIXES: .rel .asm

.asm.rel:
	as65c $< -w

HEX = $(NAME).hex

SYM = $(NAME).sym

MAP = $(NAME).map

# １つのディレクトリに１プログラムなら link.out のままでよい。
LNK = $(NAME).lnk

all:  $(HEX) $(SYM) $(MAP)

$(HEX): $(LNK)
	load -o $(HEX) $(LNK)

$(SYM): $(LNK)
	insp -f -s $(SYM) $(LNK)

$(LNK) $(MAP):	$(REL)
	link $(REL) -o $(LNK) -r$(RELOCATE) -lsv $(MAP)

##### インクルードファイルのルール

 mn_mario_main		:mn_mario_ram.asm
 mn_mario_init		:mn_mario_ram.asm
