##########################################################################
#
# $Id: lmkfile,v 39.22 93/04/01 15:29:00 chrisg Exp $
#
# $Locker:  $
#
##########################################################################

VERSION=	40
SRCDIRPATH=     gfxsrc:
V=              V:
SUBDIRS=	a c d gels text fonts
SRCDIR=		graphics
SUBSYSNAME=	graphics
SUBSYSGROUP=	graphics
DESTDIR=	v:src/kickstart/graphics
DESTINCDIR=	v:include

.asm.obj:
	casm -A $*.asm -iincluder: -o$*.obj

GFXLIBS= a/a.lib c/c.lib d/d.lib gels/gels.lib text/text.lib fonts/fonts.lib
OTHERFILES1=lmkfile graphics.ld graphics.ld.strip graphics_lib.sfd graphics.lmap
OTHERFILES2=graphics.xref graphics_rev.h graphics_rev.i graphics_rev.rev graphics_aa.ld graphics_emul.ld graphics_aa_nt.ld

MYLIBS=	${GFXLIBS} ${V}lib/rom.lib ${V}lib/debug.lib

AFILES=	pwrup.asm

OFILES=	pwrup.obj

EXTERNIFILES1= copper.i display.i gels.i gfx.i gfxbase.i gfxnodes.i rpattr.i
EXTERNIFILES2= monitor.i rastport.i regions.i sprite.i view.i coerce.i modeid.i
EXTERNIFILES3= displayinfo.i videocontrol.i text/scale.i text/text.i

INTERNIFILES= displayinfo_internal.i vp_internal.i macros.i sane_names.i cia8520.i gfxpragmas.h
IFILES= \
	${INTERNIFILES} \
	${EXTERNIFILES1} \
	${EXTERNIFILES2} \
	${EXTERNIFILES3}

EXTERNHFILES1= collide.h copper.h display.h displayinfo.h gels.h gfx.h rpattr.h
EXTERNHFILES2= gfxbase.h gfxmacros.h gfxnodes.h graphint.h monitor.h coerce.h modeid.h
EXTERNHFILES3= rastport.h regions.h sprite.h view.h videocontrol.h text/scale.h text/text.h

INTERNHFILES= displayinfo_internal.h vp_internal.h macros.h sane_names.h cia8520.h

HFILES= \
	${INTERNHFILES} \
	${EXTERNHFILES1} \
	${EXTERNHFILES2} \
	${EXTERNHFILES3}

FIRSTO=	pwrup.obj

MFLAGS=	VERSION=${VERSION}

LFLAGS=	SMALLCODE SMALLDATA XREF graphics.xref MAP graphics.lmap XOHSFL PLAIN

all:	pwrup.obj

	@echo >ram:x "cd a"
	@echo >>ram:x "lmk"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd c"
	@echo >>ram:x "lmk"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd d"
	@echo >>ram:x "lmk"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd gels"
	@echo >>ram:x "lmk"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd text"
	@echo >>ram:x "lmk"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd fonts"
	@echo >>ram:x "lmk"
	@echo >>ram:x "cd /"
	@execute ram:x
# graphics.ld - for a600 and final A3000.
# graphics_emul.ld for a[34]000 beta
# graphics_aa.ld for A1200 and CDGS
# graphics_aa_nt.ld for final A4000
	blink <WITH <
	FROM $(FIRSTO) LIB $(MYLIBS) to graphics.ld
	$(LFLAGS)
	<
	blink <WITH <
	FROM $(FIRSTO) a/GetColormap_aa.obj a/newcolorstuff.aa.obj a/wpa8.hw.obj LIB $(MYLIBS) to graphics_aa.ld
	$(LFLAGS)
	<
	blink <WITH <
	FROM $(FIRSTO) a/wpa8.emul.obj LIB $(MYLIBS) to graphics_emul.ld
	$(LFLAGS)
	<

	blink <WITH <
	FROM $(FIRSTO) a/GetColormap_aa.obj a/newcolorstuff.aa.obj a/wpa8.nt.obj LIB $(MYLIBS) to graphics_aa_nt.ld
	$(LFLAGS)
	<

	@run lmk -s saveobjs >con:320/10/640/40/Savaobjs/auto/inactive

pwrup.obj:	pwrup.asm graphics_rev.i gfxbase.i


# bump the revision number

rev:
	v:aug/bin/bumprev $(VERSION) graphics_rev


# delete all the .obj files

clean:
	@echo "Say goodbye to those .obj files....."
	-delete *.obj *ld*
	@echo >ram:x "cd a"
	@echo >>ram:x "lmk clean"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd c"
	@echo >>ram:x "lmk clean"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd d"
	@echo >>ram:x "lmk clean"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd fonts"
	@echo >>ram:x "lmk clean"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd gels"
	@echo >>ram:x "lmk clean"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd text"
	@echo >>ram:x "lmk clean"
	@echo >>ram:x "cd /"
	@execute ram:x

# protos..

protos:
	@echo "Making lattice protos"
	@echo >ram:x "cd c"
	@echo >>ram:x "lmk protos"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd d"
	@echo >>ram:x "lmk saveobjs"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd gels"
	@echo >>ram:x "lmk saveobjs"
	@echo >>ram:x "cd /"
	@execute ram:x

# get back my .obj files!....

saveobjs:
	@echo >ram:x "cd a"
	@echo >>ram:x "lmk -s saveobjs"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd c"
	@echo >>ram:x "lmk -s saveobjs"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd d"
	@echo >>ram:x "lmk -s saveobjs"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd fonts"
	@echo >>ram:x "lmk -s saveobjs"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd gels"
	@echo >>ram:x "lmk -s saveobjs"
	@echo >>ram:x "cd /"
	@echo >>ram:x "cd text"
	@echo >>ram:x "lmk -s saveobjs"
	@echo >>ram:x "cd /"
	@execute ram:x

# the autodocs....

doc:
	@echo "Making autodocs. This will write to v:doc!"
	@echo >t:x1 "cd a"
	@echo >>t:x1 "lmk -s doc"
	@echo >>t:x1 "cd /"
	@echo >>t:x1 "cd c"
	@echo >>t:x1 "lmk -s doc"
	@echo >>t:x1 "cd /"
	@echo >>t:x1 "cd d"
	@echo >>t:x1 "lmk -s doc"
	@echo >>t:x1 "cd /"
	@echo >>t:x1 "cd gels"
	@echo >>t:x1 "lmk -s doc"
	@echo >>t:x1 "cd /"
	@echo >>t:x1 "cd text"
	@echo >>t:x1 "lmk -s doc"
	@echo >>t:x1 "cd /"
	@execute t:x1
	join a/a.doc c/c.doc d/d.doc gels/gels.doc text/text.doc to ram:x
	autodoc ram:x >graphics.doc
	delete ram:x
	copy graphics.doc v:doc

# to the server...

internal:
	@echo "Make internal - Server, or bust!"
	stripf graphics.ld graphics.ld.strip
	copy $(AFILES) $(DESTDIR) nopro
	copy $(EXTERNIFILES1) $(DESTDIR) nopro
	copy $(EXTERNIFILES2) $(DESTDIR) nopro
	copy $(EXTERNIFILES3) $(DESTDIR) nopro
	copy $(EXTERNHFILES1) $(DESTDIR) nopro
	copy $(EXTERNHFILES2) $(DESTDIR) nopro
	copy $(EXTERNHFILES3) $(DESTDIR) nopro
	copy $(OTHERFILES1) $(DESTDIR) nopro
	copy $(OTHERFILES2) $(DESTDIR) nopro
	@echo >t:x1 "cd a"
	@echo >>t:x1 "lmk -s internal"
	@echo >>t:x1 "cd /d"
	@echo >>t:x1 "lmk -s internal"
	@echo >>t:x1 "cd /text"
	@echo >>t:x1 "lmk -s internal"
	@echo >>t:x1 "cd /fonts"
	@echo >>t:x1 "lmk -s internal"
	@echo >>t:x1 "cd /c"
	@echo >>t:x1 "lmk -s internal"
	@echo >>t:x1 "cd /gels"
	@echo >>t:x1 "lmk -s internal"
	@echo >>t:x1 "cd /"
	@execute t:x1
	@delete t:x1
	copy graphics_lib.sfd v:lib/sfd nopro
	
# include files....

headers:
	@echo "Copying all include files over to their homes..."
	@copy $(EXTERNHFILES1) $(DESTINCDIR)/$(SUBSYSGROUP) nopro
	@copy $(EXTERNHFILES2) $(DESTINCDIR)/$(SUBSYSGROUP) nopro
	@copy $(EXTERNHFILES3) $(DESTINCDIR)/$(SUBSYSGROUP) nopro
	@copy $(EXTERNIFILES1) $(DESTINCDIR)/$(SUBSYSGROUP) nopro
	@copy $(EXTERNIFILES2) $(DESTINCDIR)/$(SUBSYSGROUP) nopro
	@copy $(EXTERNIFILES3) $(DESTINCDIR)/$(SUBSYSGROUP) nopro
	@echo "... and to your include:"
	@protect include:graphics/* rwed
	@copy $(DESTINCDIR)/$(SUBSYSGROUP) include:graphics nopro
	@echo "Now, the internal files."
	@copy ${INTERNHFILES} ${DESTDIR} nopro
	@copy ${INTERNIFILES} ${DESTDIR} nopro

#stripper? I hardly even know her.
#	@rx stripper $(SRCDIRPATH),$(EXTERNHFILES1),$(DESTINCDIR).strip/$(SUBSYSGROUP)
#	@rx stripper $(SRCDIRPATH),$(EXTERNHFILES2),$(DESTINCDIR).strip/$(SUBSYSGROUP)
#	@rx stripper $(SRCDIRPATH),$(EXTERNHFILES3),$(DESTINCDIR).strip/$(SUBSYSGROUP)
#	@rx stripper $(SRCDIRPATH),$(EXTERNIFILES1),$(DESTINCDIR).strip/$(SUBSYSGROUP)
#	@rx stripper $(SRCDIRPATH),$(EXTERNIFILES2),$(DESTINCDIR).strip/$(SUBSYSGROUP)
#	@rx stripper $(SRCDIRPATH),$(EXTERNIFILES3),$(DESTINCDIR).strip/$(SUBSYSGROUP)
