! MMS file for VMS

! use this if we will be debugging
CFLAGS = /LIS/show=(include,expan)/DEBUG/NOOPT
!FFLAGS = /DEBUG/NOOP
! LINKFLAGS = /DEBUG
! use this for production
! LINKFLAGS = /NOTRACEBACK

! To use a driver, add the following to the defs of the DRV,
! DEFS and LIBS macros:
!			DRV		DEFS		LIBS
!	tektronix	tek.obj		"inctek"
!	postscript	ps.obj		"incps"
!	peritek		peritek.obj	"incpk"		sys$library:cxp2n/lib
!	gks		gks.obj		"incgks"
!	binary CGM	cgmb.obj	"inccgmb"
!	clear text CGM	cgmc.obj	"inccgmc"
!	XLib		xl.obj		"incxl"

DRV = ps.obj,tek.obj,cgmb.obj,cgmc.obj,excl.obj,qms.obj,xl.obj

DEFS = "incps","inctek", "incqms", "incexcl","inccgmb","inccgmc", "incxl"

! To add a controller, add the following to the defs of the CTRL and
! CTRL_DEFS macros below.  CTR_DEFS must end in a comma.
!			CTRL		CTR_DEFS
!	tty		tty.obj		"inctty" (always include this)
!	DiaQuest	dq.obj,fs.obj	"incdq"
!

CTRL = tty.obj

CTR_DEFS = "inctty",

LIBS =

! The following line specifies the use of Hershey fonts and TeX PK fonts.  
FONTS = hload.obj, pkras.obj

! -------The user should not need to modify anything beyond this point-----

DCGM_PATH = [.drawcgm]

ALL : GPLOT.EXE, GTEX.EXE, DRAWCGM.OLB, TESTS
	write sys$output "done"

! GPlot dependencies
GPLOT.EXE : GPLOT.OBJ, CGM.OBJ, UTILS.OBJ, IO.OBJ, CARRAY.OBJ, -
	CCGM.OBJ, DEVICES.OBJ, EMUL.OBJ, GPT_COMMANDS.OBJ, -
	DRVCLA.OBJ, $(FONTS), $(CTRL), $(DRV) $(LIBS)
	$(LINK)$(LINKFLAGS) GPLOT, CGM, UTILS, IO, CARRAY, DEVICES, -
		DRVCLA, CCGM, GPT_COMMANDS, EMUL, $(FONTS), $(CTRL), -
		$(DRV), $(LIBS) CC/OPT

! GTex dependencies
GTEX.EXE : GTEX.OBJ, CGM.OBJ, UTILS.OBJ, IO.OBJ, DEVICES.OBJ,-
	CACHE.OBJ, GPT_COMMANDS.OBJ, EMUL.OBJ, -
	CARRAY.OBJ, $(FONTS), $(CTRL), $(DRV) $(LIBS)
	$(LINK)$(LINKFLAGS) GTEX, CGM, UTILS, IO, CARRAY, DEVICES, -
		CCGM, GPT_COMMANDS, EMUL, CACHE, $(FONTS), $(CTRL),- 
		$(DRV), $(LIBS) CC/OPT

! Drawcgm dependencies
$(DCGM_PATH)DRAWCGM.OLB : $(DCGM_PATH)DRAWCGM.OBJ, $(DCGM_PATH)CGMGEN.OBJ, -
	UTILS.OBJ, CARRAY.OBJ, IO.OBJ, GPT_COMMANDS.OBJ, DRVCLA.OBJ, -
	DEVICES.OBJ, EMUL.OBJ, $(FONTS), $(CTRL), $(DRV)
	lib/create $(DCGM_PATH)drawcgm.olb $(DCGM_PATH)drawcgm.obj,-
		$(DCGM_PATH)cgmgen.obj,[]utils.obj,carray.obj,io.obj,-
		gpt_commands.obj,emul.obj,drvcla.obj,devices.obj,-
		$(FONTS),$(CTRL),$(DRV)

! Drawcgm and Cgmgen tests
TESTS : $(DCGM_PATH)DRAWCGM_TEST.EXE, $(DCGM_PATH)DRAWCGM_TST2.EXE, -
	$(DCGM_PATH)CGMGEN_TEST.EXE
	write sys$output "tests done"

CLEAN :
	purge *.exe,$(DCGM_PATH)drawcgm.olb
	rm *.obj;*
	rm $(DCGM_PATH)*.obj;*

! First and second Drawcgm test routines
$(DCGM_PATH)DRAWCGM_TEST.EXE : $(DCGM_PATH)DRAWCGM_TEST.OBJ -
	$(DCGM_PATH)DRAWCGM.OLB
	$(LINK)$(LINKFLAGS)/exe=$@ $(DCGM_PATH)drawcgm_test.obj, -
		$(DCGM_PATH)drawcgm.olb/lib, []CC/OPT

$(DCGM_PATH)DRAWCGM_TST2.EXE : $(DCGM_PATH)DRAWCGM_TST2.OBJ -
	$(DCGM_PATH)DRAWCGM.OLB
	$(LINK)$(LINKFLAGS)/exe=$@ $(dcgm_path)drawcgm_tst2.obj, -
		$(DCGM_PATH)drawcgm.olb/lib, []CC/OPT

$(DCGM_PATH)DRAWCGM_TEST.OBJ : $(DCGM_PATH)DRAWCGM_TEST.FOR
	$(FORT)$(FFLAGS)/obj=$@ $(DCGM_PATH)drawcgm_test.for

$(DCGM_PATH)DRAWCGM_TST2.OBJ : $(DCGM_PATH)DRAWCGM_TST2.FOR
	$(FORT)$(FFLAGS)/obj=$@ $(DCGM_PATH)drawcgm_tst2.for

$(DCGM_PATH)CGMGEN_TEST.EXE : $(DCGM_PATH)CGMGEN_TEST.OBJ, -
	$(DCGM_PATH)CGMGEN_TEST2.OBJ, $(DCGM_PATH)DRAWCGM.OLB
	$(LINK)$(LINKFLAGS)/exe=$@ $(DCGM_PATH)cgmgen_test, -
		$(DCGM_PATH)cgmgen_test2, $(DCGM_PATH)drawcgm.olb/lib, []CC/OPT

!Cgmgen test routine
$(DCGM_PATH)CGMGEN_TEST.OBJ : $(DCGM_PATH)CGMGEN_TEST.FOR
	$(FORT)$(FFLAGS)/obj=$@ $(DCGM_PATH)cgmgen_test.for

$(DCGM_PATH)CGMGEN_TEST2.OBJ : $(DCGM_PATH)CGMGEN_TEST2.C, DEFS.H
	$(CC)$(CFLAGS)/obj=$@ $(DCGM_PATH)cgmgen_test2

! drawcgm library
$(DCGM_PATH)DRAWCGM.OBJ : $(DCGM_PATH)DRAWCGM.FOR
	$(FORT)$(FFLAGS)/obj=$@ $(DCGM_PATH)drawcgm.for

! cgmgen library
$(DCGM_PATH)CGMGEN.OBJ : $(DCGM_PATH)CGMGEN.C, DEFS.H
	$(CC)$(CFLAGS)/obj=$@ $(DCGM_PATH)cgmgen

! controlling GPLOT program
GPLOT.OBJ : GPLOT.C, DEFS.H

! all of the cgm specific stuff (binary)
CGM.OBJ : CGM.C, DEFS.H

! all of the cgm specific stuff (clear text)
CCGM.OBJ : CCGM.C, DEFS.H CCDEFS.H

! utility functions
[BUTILS.OBJ : UTILS.C, DEFS.H
	$(CC)$(CFLAGS) UTILS/DEFINE=("incpkras", "inchershey")

! I/O routines
IO.OBJ : IO.C, DEFS.H

! devices interface
DEVICES.OBJ : DEVICES.C, DEFS.H
 $(CC)$(CFLAGS) DEVICES/DEFINE=( $(CTR_DEFS) $(DEFS) )

! Cell Array library
CARRAY.OBJ : CARRAY.C, DEFS.H

!TTY controller
TTY.OBJ : TTY.C, DEFS.H

!DIAQUEST controller (uncomment if you need it)
!DQ.OBJ : DQ.C, DEFS.H

! Postscript device
PS.OBJ : PS.C, DEFS.H

! Tektronix devices
TEK.OBJ : TEK.C, DEFS.H

! UIS workstation
!UIS.OBJ : UIS.C, DEFS.H

! GKS stuff
!GKS.OBJ : GKS.C, DEFS.H

! CGM binary output
CGMB.OBJ : CGMB.C, DEFS.H

! XLib driver
XL.OBJ : XL.C, DEFS.H

! CGM Clear Text device
CGMC.OBJ : CGMC.C, CCDEFS.H, DEFS.H

! driver cell array service routines
drvcla.OBJ :drvcla.C DEFS.H

! PERITEK stuff, uncomment if you need it
PERITEK.OBJ : PERITEK.C, DEFS.H

! CLI STUFF
GPT_COMMANDS.OBJ : GPT_COMMANDS.CLD
	SET COMMAND/OBJ GPT_COMMANDS

! GTex
GTEX.OBJ : GTEX.C, DEFS.H
	$(CC)$(CFLAGS) GTEX/DEFINE=( $(DEFS) )

HLOAD.OBJ : HLOAD.C, DEFS.H, HLOAD.H

PKRAS.OBJ : PKRAS.C, DEFS.H

CACHE.OBJ : CACHE.C, DEFS.H

!Emulation Package
EMUL.OBJ : EMUL.C, DEFS.H

!Talaris EXCL Printers
EXCL.OBJ : EXCL.C, DEFS.H

!HELP FILES
SYS$HELP:HELPLIB.HLB(GPLOT=GPLOT.HLP) : GPLOT.HLP
