##########################################################################
#
# $Id: lmkfile,v 39.6 92/11/13 14:03:49 chrisg Exp $
#
# $Locker:  $
#
##########################################################################

VERSION=	39
V=          	v$(VERSION):
SRCDIRPATH=
SRCDIR=		d
SUBSYSNAME=	$(SRCDIR)
SUBSYSGROUP=	graphics
MODULEDIR=	$(SRCDIRPATH)$(SRCDIR)
OBJDIR=ram:$(SUBSYSNAME)objs
OBJSTORE=objs
DESTDIR=v$(VERSION):src/kickstart/graphics/$(SUBSYSNAME)


#CFLAGS= -X105 -X107
CFLAGS= -b0 -r1 -me -v -sc=graphics -sd=graphics -O

.c.obj:
	lc $(CFLAGS) -o$(OBJDIR)/$*.obj $*

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

AFILES= muldiv.asm utility.asm

CFILES=	startup.c find_key.c find_tag.c add_record.c next_record.c find_info.c subroutines.c videocontrol.c
OTHERFILES=lmkfile init.h d.lib d.protos d.lib

FIRSTO= 	

OFILES= 	$(OBJDIR)/startup.obj $(OBJDIR)/find_key.obj \
			$(OBJDIR)/find_tag.obj $(OBJDIR)/add_record.obj $(OBJDIR)/muldiv.obj $(OBJDIR)/utility.obj \
			$(OBJDIR)/next_record.obj $(OBJDIR)/find_info.obj $(OBJDIR)/subroutines.obj $(OBJDIR)/videocontrol.obj

EXTERNIFILES=

IFILES= 	$(EXTERNIFILES)

EXTERNHFILES=

HFILES= 	init.h \
		$(EXTERNHFILES)

all:		$(SUBSYSNAME).lib

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


d.lib: $(OBJDIR) $(OFILES) 
	join $(OBJDIR)/*.obj as d.lib

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


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

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

protos:
	echo >$(SUBSYSNAME).protos "// this is a comment"
	copy to makep0 from < <
$(CFILES)
<
	splat -o "[\t ]+" "\n" makep0
	splat -o "^..+" "lc -pr -rs -iINCLUDE: -oram: &" makep0
	splat -o "\x0d" "" makep0
	execute makep0
	delete makep0
	join ram:*.i as $(SUBSYSNAME).protos
	search >ram:a.protos *.asm "__asm" nonum
	search >a1.protos ram:a.protos "__asm" nonum
	splat -o "^;" "" a1.protos
	splat -o "^ " "" a1.protos
	type >>$(SUBSYSNAME).protos a1.protos
	delete a1.protos
	delete ram:*.i

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:dobjs/startup.obj : startup.c	proginfo.h /displayinfo.h /gfxbase.h d.protos /displayinfo_internal.h /macros.h	/view.h	/displayinfo.h	/displayinfo_internal.h	/vp_internal.h	init.h

ram:dobjs/find_key.obj : find_key.c	d.protos	/macros.h	/displayinfo.h	/displayinfo_internal.h

ram:dobjs/find_tag.obj : find_tag.c	/displayinfo_internal.h	d.protos

ram:dobjs/add_record.obj : add_record.c	/displayinfo_internal.h	d.protos

ram:dobjs/next_record.obj : next_record.c	/displayinfo_internal.h	d.protos

ram:dobjs/find_info.obj : find_info.c	/macros.h	/displayinfo_internal.h	d.protos

ram:dobjs/subroutines.obj : subroutines.c	/displayinfo_internal.h	d.protos

ram:dobjs/videocontrol.obj : videocontrol.c	/gfxbase.h	/view.h	/videocontrol.h	/displayinfo.h	d.protos	/macros.h

ram:dobjs/muldiv.obj : muldiv.asm

ram:dobjs/utility.obj : utility.asm

