# 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 = z00_main

# 使用するモジュールのリロケータブルファイル名を列挙します。
REL = z00_main.rel\
z00_vma.rel\
zel_data0.rel\
zel_code.rel\
zel_sub0.rel\
zel_make.rel\
zel_bgwt.rel\
zel_bgmv.rel\
zel_init.rel\
zel_int0.rel\
z00_isub.rel\
zel_comn.rel\
zel_com1.rel\
zel_msge0.rel\
zel_msge1.rel\
zel_msge2.rel\
zel_msge3.rel\
zel_msge4.rel\
zel_msge5.rel\
zel_msge6.rel\
zel_bg30.rel\
zel_bg31.rel\
zel_dmap.rel\
zel_dsub.rel\
z00_char0.rel\
zel_char1.rel\
zel_char2.rel\
zel_grnd.rel\
zel_gnd1.rel\
zel_gsub.rel\
zel_gmap.rel\
zel_title.rel\
zel_ending.rel\
zel_gover.rel\
zel_sindt.rel\
zel_enmy5.rel\
zel_enmy4.rel\
zel_enmy3.rel\
zel_enmy2.rel\
zel_enmy.rel\
zel_play.rel\
zel_ply1.rel\
zel_pysb.rel\
zel_exst.rel\
zel_bms1.rel\
zel_bms2.rel\
zel_endt.rel\
zel_sut0.rel\
zel_sut1.rel\
zel_sut2.rel\
zel_sut3.rel\
zel_mut1.rel\
zel_mpd0.rel\
zel_mpd1.rel\
zel_rmdt9.rel\
zel_rmdt09.rel\
zel_rmdt19.rel\
zel_djdt.rel\
zel_mjdt.rel\
zel_end2.rel\
zel_endz.rel\
zel_edmg.rel\
zel_obj_poly.rel\
zel_obj_grph.rel\
zel_obj_data.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)

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

 z00_main       :zel_ram.asm
 z00_vma        :zel_ram.asm
 zel_data0      :zel_ram.asm
 zel_code       :zel_ram.asm
 zel_make       :zel_ram.asm zel_label.asm
 zel_bgwt       :zel_ram.asm zel_label.asm
 zel_bgmv       :zel_ram.asm
 zel_init       :zel_ram.asm
 zel_int0       :zel_ram.asm
 zel_sub0       :zel_ram.asm
 z00_isub       :zel_ram.asm
 zel_comn       :zel_ram.asm
 zel_com1       :zel_ram.asm
 zel_msge0      :zel_ram.asm
 zel_bg30       :zel_ram.asm
 zel_bg31       :zel_ram.asm
 zel_dmap       :zel_ram.asm
 zel_dsub       :zel_ram.asm
 z00_char0      :zel_ram.asm
 zel_char1      :zel_ram.asm
 zel_char2      :zel_ram.asm
 zel_grnd       :zel_ram.asm
 zel_gnd1       :zel_ram.asm
 zel_gsub       :zel_ram.asm
 zel_gmap       :zel_ram.asm
 zel_title      :zel_ram.asm
 zel_ending     :zel_ram.asm
 zel_gover      :zel_ram.asm
 zel_enmy5      :zel_ram.asm
 zel_enmy4      :zel_ram.asm
 zel_enmy3      :zel_ram.asm
 zel_enmy2      :zel_ram.asm
 zel_enmy       :zel_ram.asm
 zel_play       :zel_ram.asm
 zel_ply1       :zel_ram.asm
 zel_pysb       :zel_ram.asm
 zel_exst       :zel_ram.asm
 zel_bms1       :zel_ram.asm
 zel_bms2       :zel_ram.asm
 zel_endt       :zel_ram.asm
 zel_sut0       :zel_ram.asm
 zel_sut1       :zel_ram.asm
 zel_sut2       :zel_ram.asm
 zel_sut3       :zel_ram.asm
 zel_mut1       :zel_ram.asm
 zel_mpd0       :zel_ram.asm
 zel_mpd1       :zel_ram.asm
 zel_rmdt9      :zel_label.asm
 zel_rmdt09     :zel_label.asm
 zel_rmdt19     :zel_label.asm
 zel_djdt       :zel_label.asm
 zel_mjdt       :zel_ram.asm
 zel_end2       :zel_ram.asm
 zel_endz       :zel_ram.asm
 zel_edmg       :zel_ram.asm
 zel_sindt      :zel_ram.asm
 zel_obj_poly   :zel_ram.asm
 zel_obj_grph   :zel_ram.asm
 zel_obj_data   :zel_ram.asm
