#** @name Makefile Specifies commands for building "stub" programs.
#*
#* @author CD-i Fan

CC = xcc 
LINK = l68
ASM = r68
FIXMOD = fixmod -uo=0.0
ASMFLAGS= # -aCLOSEALL
STUBRAW = obj/stubraw.r
STUBMOD = obj/stubmod.r
STUBOBJS = obj/stubcore.r obj/stubregs.r obj/stubsubs.r

all: $(patsubst %.rsp,bin/%,$(wildcard *.rsp))

lcase: $(patsubst %.rsp,%.lcs,$(wildcard *.rsp))

distclean: lcase
	rm -f obj/*

clean:
	rm -f obj/* bin/*

bin/k70stub: $(STUBRAW) $(STUBOBJS) obj/stubk70.r

bin/a605stub: $(STUBRAW) $(STUBOBJS) obj/stubk681.r obj/stub605a.r

bin/b605stub: $(STUBRAW) $(STUBOBJS) obj/stubk681.r obj/stub605b.r

bin/os9stub: $(STUBMOD) $(STUBOBJS) obj/stubscf.r obj/stubstd.r

FIX_os9stub = $(FIXMOD) bin/os9stub

bin/cdistub: $(STUBMOD) $(STUBOBJS) obj/stubscf.r obj/stubcsd.r obj/csdfind.r

FIX_cdistub = $(FIXMOD) bin/cdistub

bin/cdi_stub: $(STUBMOD) $(STUBOBJS) obj/stubscf.r obj/stubcsd.r obj/csdfind.r

FIX_cdi_stub = $(FIXMOD) bin/cdi_stub

obj/stub605a.r obj/stub605b.r: stub605.d

obj/stubcore.r obj/stubreg.r obj/stubsubs.r: stubdefs.d

stubdefs.d: ../stubdefs.h stubdefs.sed
	sed -f stubdefs.sed $< >$@

obj/%.r: %.s
	$(ASM) $(ASMFLAGS) -o=obj/$*.r $<

%.lst: %.s
	$(ASM) $(ASMFLAGS) -o=$obj/*.r -lgx $< >$*.lst

bin/%: %.rsp
	$(LINK) -z=$<
	$(FIX_$*)

%.lcs: bin/%
	ren bin\$* $*
	ren bin\$*.stb $*.stb
