##########################################################################
#
# $Id: lmkfile,v 39.3 92/03/19 16:24:39 chrisg Exp $
#
# $Locker:  $
#
##########################################################################

VERSION=        39
V=              /usr/commodore/amiga/V$(VERSION)
MAKEMETA=       $(V)/tools/makemeta.sub
SRCDIRPATH=     kickstart/graphics
SRCDIR=         gels
SUBSYSNAME=     gels
SUBSYSGROUP=    graphics
MAKEFILE=       Makefile
MISCSRC=	cappfile
OBJDIR=ram:$(SUBSYSNAME)objs
OBJSTORE=objs
DESTDIR=v$(VERSION):src/kickstart/graphics/gels

.asm.obj:
	spp $*.asm >ram:tmp1.asm
	hx68 from ram:tmp1.asm TO $(OBJDIR)/$*.obj INCDIR include: OPTIMON 0xfdc00000 ADDSYM

.c.obj:
	lc -rs -iINCLUDE: -me -O -sc=graphics -sd=graphics -o$(OBJDIR)/$*.obj -qram: -v -b0 ${CFLAGS} $*.c

AFILES=	asgel3.asm blisslicer.asm downblisser.asm
CFILES = gel.c gel2.c gel3.c animation.c freegbuffers.c blisser.c

EXTERNIFILES=
IFILES=	asbob.i asgel3.i gelsinternal.i ${EXTERNIFILES}
OTHERFILES=lmkfile

EXTERNHFILES=
HFILES=	gelsinternal.h ${EXTERNHFILES}

FIRSTO=
OFILES= $(OBJDIR)/gel.obj $(OBJDIR)/gel2.obj $(OBJDIR)/gel3.obj $(OBJDIR)/animation.obj $(OBJDIR)/asgel3.obj \
	$(OBJDIR)/freegbuffers.obj $(OBJDIR)/blisslicer.obj $(OBJDIR)/blisser.obj $(OBJDIR)/downblisser.obj

gels.lib : $(OBJDIR) ${OFILES}
	join $(OBJDIR)/*.obj as gels.lib

$(OBJDIR) :
	makedir $(OBJDIR)
	-copy $(OBJSTORE)/*.obj $(OBJDIR)

internal:
	copy $(IFILES) $(DESTDIR) nopro
	copy $(HFILES) $(DESTDIR) nopro
	copy $(AFILES) $(DESTDIR) nopro
	copy $(CFILES) $(DESTDIR) nopro
	copy $(OTHERFILES) $(DESTDIR) nopro


saveobjs: $(OBJDIR) $(OFILES)
	copy $(OBJDIR)/*.obj objs clone quiet

clean:
	-delete $(OBJSTORE)/*.obj quiet
	-delete $(OBJDIR) all quiet
	-delete gels.lib

protos:
	echo >$(SUBSYSNAME).protos "// this is a comment"
	copy to makep0 from < <
$(CFILES)
<
	splat -o "[\t ]+" "\n" makep0
	splat -o "^..+" "lc -pre -rs $(CFLAGS) -dMAKE_PROTOS -iINCLUDE: -oram: &" makep0
	splat -o "\x0d" "" makep0
	execute makep0
	delete makep0
	join ram:*.i as $(SUBSYSNAME).protos
	delete ram:*.i
	echo >>$(SUBSYSNAME).protos "\#include <pragmas/exec_pragmas.h>"
	echo >>$(SUBSYSNAME).protos "void far waitblitdone();"

depend:
	copy to maked0 from < <
$(AFILES)
$(CFILES)
<
	splat -o "[\t ]+" "\n" maked0
	splat -o "^..+" "dep1 &" maked0
	echo >ram:maked1 "alias dep1 depend [] makedx"
	join ram:maked1 maked0 as maked1
	splat -o "\x0d" "" maked1
	execute maked1
	splat -o "^" "$(OBJDIR)/&" makedx
	splat -o "^$(OBJDIR)/\n" "\n" makedx
	splat -o ".o " ".obj " makedx
	copy makedx graphics$(VERSION).depend
	delete maked? quiet

doc:
	copy to maked0 from < <
$(AFILES)
$(CFILES)
<
	splat -o "[\t ]+" "\n" maked0
	splat -o "^..+" "type >>$(SUBSYSNAME).doc &" maked0
	splat -o "\x0d" "" maked0
	splat -o "^type >>$(SUBSYSNAME).doc \n" "\n" maked0
	echo >maked1 "if exists $(SUBSYSNAME).doc"
	echo >>maked1 "delete $(SUBSYSNAME).doc quiet"
	echo >>maked1 "endif"
	join maked1 maked0 as ram:x
	execute ram:x
	delete maked? quiet


ram:gelsobjs/asgel3.obj : asgel3.asm	asbob.i	/sane_names.i

ram:gelsobjs/blisslicer.obj : blisslicer.asm	gelsinternal.i

ram:gelsobjs/downblisser.obj : downblisser.asm	asbob.i	gelsinternal.i	/macros.i

ram:gelsobjs/gel.obj : gel.c	gelsinternal.h	/sane_names.h	/macros.h	gels.protos

ram:gelsobjs/gel2.obj : gel2.c	/macros.h	/c/tune.h	gelsinternal.h	gels.protos	/c/c.protos

ram:gelsobjs/gel3.obj : gel3.c	gelsinternal.h	/macros.h	gels.protos

ram:gelsobjs/animation.obj : animation.c	/macros.h	gels.protos

ram:gelsobjs/freegbuffers.obj : freegbuffers.c	/macros.h	gels.protos

ram:gelsobjs/blisser.obj : blisser.c	gelsinternal.h	/macros.h	gels.protos
