#
# This is demo/iconiface buildtemplate.
# It is not machine independent, although that could be done... (I guess - mjz)
#
# CS246 - Advanced Operating Systems			Final Project
#		      V-System Iconic User Interface
#	Robert Neilon, Madhavan Srinivasan, Matthew Zekauskas
#				June 10, 1985
#
# replaces the buildtemplate that jwilson hacked from the buildfile.sh
# which came from the original link.sh file.
#
# 25 Aug 85 (mjz): Finally, a build(whatever) with dependencies...
#
# 11 Sept 85 (jkw): added flags VSYS and NIFLAGS for build install
#

#include ../../buildprefix
#ifdef X
NIFLAGS= -p -x
#else
NIFLAGS= -p
#endif X

IOBJS =	addmenu.b	dialogdvr.b	do_biopsy.b	do_boise.b	\
	do_cc.b		do_cd.b		do_copydir.b	do_cp.b		\
	do_define.b	do_listdir.b	do_misc.b	do_other.b	\
	do_undefine.b	ficons.b	files.b		getsize.b	\
	icondefs.b	menuhit.b	readdir.b	screenmgr.b

default:	all
	
# addmenu: places menu bar in bounding box
addmenu.b:	$(MI)iconstants.h $(MI)addmenu.c

# dialog box procedures (DialogDriver, CheckFile, Execute)
dialogdvr.b:	$(MI)iconstants.h $(MI)dialogbox.h $(MI)dialogdvr.c

# do_xxx procedures to do specific commands (have specific Dialog boxes)
do_biopsy.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_biopsy.c

do_boise.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_boise.c

do_cc.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_cc.c

do_cd.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_cd.c

do_copydir.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_copydir.c

do_cp.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_cp.c

do_define.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_define.c

do_listdir.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_listdir.c

# do_misc has routines for commands that don't need dialog boxes:
# (help, edit, execute, logout, rm, punt, amaze, bits, checkers, dale,
#  date, draw, type)
do_misc.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_misc.c

# do_other handles the "other" menu item
do_other.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_other.c

do_undefine.b:	$(MI)iconstants.h $(MI)dialogext.h $(MI)do_undefine.c

# ficons has routines that handle the function icons (AddIcon, IconHit)
ficons.b:	$(MI)iconstants.h $(MI)ficons.c

# files has routines that handle the file icons  (AddDirectory, 
#  FileHit, ClearIcon, ClearDirectory, RefreshDirectory, ScrollHit)
files.b:	$(MI)iconstants.h $(MI)files.c

# getsize: get size of screen in device coordinates
#	NOTE:	NOT!!! /mi at all, is machine dependent.
getsize.b:	$(MI)getsize.c

# icondefs: contains all of the icon definitions
icondefs.b:	$(MI)hex/ccompiler.hex	$(MI)hex/computer.hex	\
		$(MI)hex/down.hex	$(MI)hex/editor.hex	\
		$(MI)hex/execute.hex	$(MI)hex/folder.hex	\
		$(MI)hex/help.hex	$(MI)hex/listdir.hex	\
		$(MI)hex/logout.hex	$(MI)hex/printer.hex	\
		$(MI)hex/program.hex	$(MI)hex/punt.hex	\
		$(MI)hex/text.hex	$(MI)hex/trash.hex	\
		$(MI)hex/up.hex		$(MI)hex/watch.hex	\
		$(MI)icondefs.c

# menuhit handles a hit on the menu bar
menuhit.b:	$(MI)iconstants.h $(MI)menuhit.c

# readdir contains routines for reading the current directory
#  (ReadDirectory, FreeDescriptor, CompareDescriptors)
readdir.b:	$(MI)readdir.c

# screenmgr contains the main program, and hence ``interactive loop''.
screenmgr.b:	$(MI)iconstants.h $(MI)screenmgr.c
