#   File:       Makefile
#   Target:     ROMPatch.stream, RExPatch.stream
#   Sources:    Patchx.s,RExPatch.s
#   Created:    12/17/00
#	Modified:	01/08/25


###############################################################################

objdir = Objects/
asmincludes = -iincludes

###############################################################################

${objdir}RExStrmHead.o	:	RExStrmHead.s
	arm6asm ${asmincludes} RExStrmHead.s ${objdir}RExStrmHead.o
${objdir}RExStrmHead.bin	:	${objdir}RExStrmHead.o
	armlink -BIN -Output ${objdir}RExStrmHead.bin ${objdir}RExStrmHead.o
	truncate -s -3 ${objdir}RExStrmHead.bin # strip the ending of three bytes

${objdir}RExMMU.o	:	RExMMU.s
	arm6asm ${asmincludes} RExMMU.s ${objdir}RExMMU.o
${objdir}RExMMU.bin	:	${objdir}RExMMU.o
	armlink -BIN -Output ${objdir}RExMMU.bin ${objdir}RExMMU.o

${objdir}RExPatch.o	:	RExPatch.s
	arm6asm ${asmincludes} RExPatch.s ${objdir}RExPatch.o
${objdir}RExPatch.bin	:	${objdir}RExPatch.o
	armlink -BIN -Output ${objdir}RExPatch.bin ${objdir}RExPatch.o

RExPatch	:	${objdir}RExPatch.bin \
				${objdir}RExMMU.bin \
				${objdir}RExStrmHead.bin
	
	cat \
		${objdir}RExStrmHead.bin \
		${objdir}RExMMU.bin \
		${objdir}RExPatch.bin \
		> RExPatch.stream

###############################################################################

${objdir}ROMStrmHead.o	:	ROMStrmHead.s
	arm6asm ${asmincludes} ROMStrmHead.s ${objdir}ROMStrmHead.o
${objdir}ROMStrmHead.bin	:	${objdir}ROMStrmHead.o
	armlink -BIN -Output ${objdir}ROMStrmHead.bin ${objdir}ROMStrmHead.o
	truncate -s -3 ${objdir}ROMStrmHead.bin # strip the ending of three bytes

${objdir}ROMMMU.o	:	ROMMMU.s
	arm6asm ${asmincludes} ROMMMU.s ${objdir}ROMMMU.o
${objdir}ROMMMU.bin	:	${objdir}ROMMMU.o
	armlink -BIN -Output ${objdir}ROMMMU.bin ${objdir}ROMMMU.o

${objdir}Patch1.o	:	Patch1.s
	arm6asm ${asmincludes} Patch1.s ${objdir}Patch1.o
${objdir}Patch1.bin	:	${objdir}Patch1.o
	armlink -BIN -Output ${objdir}Patch1.bin ${objdir}Patch1.o

${objdir}Patch2.o	:	Patch2.s
	arm6asm ${asmincludes} Patch2.s ${objdir}Patch2.o
${objdir}Patch2.bin	:	${objdir}Patch2.o
	armlink -BIN -Output ${objdir}Patch2.bin ${objdir}Patch2.o

${objdir}Patch3.o	:	Patch3.s
	arm6asm ${asmincludes} Patch3.s ${objdir}Patch3.o
${objdir}Patch3.bin	:	${objdir}Patch3.o
	armlink -BIN -Output ${objdir}Patch3.bin ${objdir}Patch3.o

${objdir}Patch4.o	:	Patch4.s
	arm6asm ${asmincludes} Patch4.s ${objdir}Patch4.o
${objdir}Patch4.bin	:	${objdir}Patch4.o
	armlink -BIN -Output ${objdir}Patch4.bin ${objdir}Patch4.o

${objdir}Patch5.o	:	Patch5.s
	arm6asm ${asmincludes} Patch5.s ${objdir}Patch5.o
${objdir}Patch5.bin	:	${objdir}Patch5.o
	armlink -BIN -Output ${objdir}Patch5.bin ${objdir}Patch5.o

${objdir}Patch6.o	:	Patch6.s
	arm6asm ${asmincludes} Patch6.s ${objdir}Patch6.o
${objdir}Patch6.bin	:	${objdir}Patch6.o
	armlink -BIN -Output ${objdir}Patch6.bin ${objdir}Patch6.o

${objdir}Patch7.o	:	Patch7.s
	arm6asm ${asmincludes} Patch7.s ${objdir}Patch7.o
${objdir}Patch7.bin	:	${objdir}Patch7.o
	armlink -BIN -Output ${objdir}Patch7.bin ${objdir}Patch7.o

ROMPatch	:	${objdir}ROMStrmHead.bin \
				${objdir}ROMMMU.bin \
				${objdir}Patch1.bin \
				${objdir}Patch2.bin \
				${objdir}Patch3.bin \
				${objdir}Patch4.bin \
				${objdir}Patch5.bin \
				${objdir}Patch6.bin \
				${objdir}Patch7.bin
	
	cat ${objdir}ROMStrmHead.bin \
			${objdir}ROMMMU.bin \
			${objdir}Patch1.bin \
			${objdir}Patch2.bin \
			${objdir}Patch3.bin \
			${objdir}Patch4.bin \
			${objdir}Patch5.bin \
			${objdir}Patch6.bin \
			${objdir}Patch7.bin \
			> ROMPatch.stream
