# sample Makefile
#
# 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 = tl_main1

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

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


##### 共通部分

.SUFFIXES: .rel .asm

.asm.rel:
	as65c $< -lw

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)

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

 tl_main1	:tl_ram.asm ztmacro.asm 
 tl_msg0	:tl_ram.asm ztmacro.asm
