VERSION=	40
RELVERSION=	40
SOURCE=		V40:
SUBSYSNAME=	cardres
MAKEFILE=	lmkfile

SRCDIR=		src/kickstart/cardres/
FULLPATH=	$(SOURCE)$(SRCDIR)

LOCAL=		work:card/

LIBDIR=		lib:
INCLUDE=	$(SOURCE)include
INCDIR=		$(SOURCE)include/
STRIP=		BLINK QUIET NODEBUG FROM

AFILES=		resource.asm tuples.asm sysmem.asm debug.asm endmodule.asm

EXTERNIFILE=	card.i
EXTERNHFILE=	card.h

MYIFILES=       carddata.i gayle.i debug.i tuples.i $(EXTERNIFILE)

SFDFILE=	cardres_lib.sfd

BINFILES=	cardres.ld cardres.ld.strip

AFLAGS=		-cfvqrsy
LFLAGS=		BATCH BUFSIZE 1024 SMALLCODE SMALLDATA MAP cardres.map,f,l,h,s,x

MYLIBS=		lib:debug.lib lib:amiga.lib

FIRSTO=		resource.o 
OFILES=		tuples.o sysmem.o debug.o endmodule.o

.asm.o:	
	@echo "assembling $*.asm"
	casm -a $*.asm -o $*.o -i $(INCLUDE) $(AFLAGS)

all:	$(SUBSYSNAME).ld

$(SUBSYSNAME).ld:	$(FIRSTO) $(OFILES)
	BLINK <with <
	$(LFLAGS)
	FROM $(FIRSTO) $(OFILES)
	TO $(SUBSYSNAME).ld
	LIB $(LIBDIR)debug.lib $(LIBDIR)amiga.lib
	VERBOSE
	<
	$(STRIP) $(SUBSYSNAME).ld TO $(SUBSYSNAME).ld.strip

bumprev:
	bumprev $(RELVERSION) $(SUBSYSNAME)_rev

release:
	@delete \#?.o
	@delete \#?.ld
	@copy $(FULLPATH)$(SUBSYSNAME)_rev.rev $(SUBSYSNAME)_rev.rev
	@lmk bumprev
	@lmk docs
	@lmk

internal:
	@echo "Copying .ld files to source"
	@copy $(BINFILES) $(FULLPATH)
	
	@echo "Copying .asm files to source"
	@protect $(FULLPATH)\#?.asm +wd
	@copy $(AFILES) $(FULLPATH)

	@echo "Copying include files to source"
	@protect $(FULLPATH)\#?.i +wd
	@protect $(FULLPATH)\#?.h +wd
	@copy $(MYIFILES) $(FULLPATH)
	@copy $(EXTERNHFILE) $(FULLPATH)

	@echo "Copying public includes"
	@protect $(INCDIR)resources/$(EXTERNIFILE) +wd
	@protect $(INCDIR)resources/$(EXTERNHFILE) +wd
	@protect $(SOURCE)include/internal/$(EXTERNIFILE) +wd
	@copy $(EXTERNIFILE) $(INCDIR)resources/
	@copy $(EXTERNHFILE) $(INCDIR)resources/
	@copy $(EXTERNIFILE) $(SOURCE)include/internal/

	@echo "Copying _rev files to source"
	@copy $(SUBSYSNAME)_rev.rev $(FULLPATH)
	@copy $(SUBSYSNAME)_rev.i $(FULLPATH)
	@copy $(SUBSYSNAME)_rev.h $(FULLPATH)

	@echo "Copying lmkfile to source"
	@protect $(FULLPATH)$(MAKEFILE) +wd
	@copy $(MAKEFILE) $(FULLPATH)

	@echo "Copying doc to public docs"
	@copy $(SUBSYSNAME).doc $(SOURCE)doc

	@echo "Copying sfd to public sfds"
	@copy $(SFDFILE) $(SOURCE)lib/sfd

	@echo "Done"


docs:
	@echo "Making docs"
	@delete $(SUBSYSNAME).doc
	@delete $(SUBSYSNAME).cat
	@join $(AFILES) TO $(SUBSYSNAME).cat
	@autodoc > $(SUBSYSNAME).doc -a -C -s -l78 $(SUBSYSNAME).cat


pragmas:
	@echo "Making pragmas/protos"
	@execute < <
	failat 21 ;
	makedir ram:sfd ;
	copy $(SFDFILE) ram:sfd ;
	cd ram:sfd ;
	sfd $(SFDFILE) ;
	copy PROTOS/\#? TO $(LOCAL) QUIET;
	copy PRAGMAS/\#? TO $(LOCAL) QUIET;
	copy FD/\#? TO $(LOCAL) QUIET;
	cd ram: ;
	delete ram:sfd/\#? ALL FORCE QUIET;
	delete ram:sfd QUIET ;
	<

resource.o:	resource.asm $(SUBSYSNAME)_rev.i $(MYIFILES)

tuples.o:	tuples.asm $(MYIFILES)

sysmem.o:	sysmem.asm $(MYIFILES)

#bootcard.o:	bootcard.asm $(MYIFILES)

debug.o:	debug.asm debug.i

endmodule.o:	endmodule.asm $(MYIFILES)

	