# Project:	Director:Menus.System


# Tool macros

cc_		= cc
cdir		= cdir
link		= link
submake		= submake
text2basic	= <Prefix$Dir>.t2b.$@; BASIC
wipe		= X wipe


# Flag macros

# depend	= -depend !Depend
# throwback	= -throwback

ccflags		= -c $(depend) $(throwback) -IC: -IOSLib: -ITCPIPLibs: -ffah -o $@
linkflags	= $(debug_l) -o $@
squeezeflags	= $@
wipeflags	= ~CFRV


# Combines macros

cc		= $(cc_) $(ccflags)
link_app	= $(link) $(linkflags) -aif
link_util	= $(link) $(linkflags)


# Files to make

files		= \
		AddSprSub \
		CDLib \
		CharsSub \
		CommMenu \
		DoClose \
		DoDeskFont \
		DoWin \
		DynamcArea \
		ExpPath \
		Factor \
		Fontmenu \
		FreeMem \
		FrontBack \
		LEHistory \
		ModuleInfo \
		Modules \
		ModulesCom \
		ModulesSub \
		ModulesSWI \
		Openfiles \
		Opensocks \
		Scroll \
		ShareFS \
		Sockets \
		Switch \
		Tasks \
		TasksCmd \
		Variables


# Final targets

all:		$(files) setup
		$(submake) *.Makefile

setup:
		$(cdir) @.o

clean:
		$(wipe) <Prefix$Dir>.o          $(wipeflags)
		$(submake) *.Makefile -- clean

maintainerclean:
		$(wipe) <Prefix$Dir>.o           $(wipeflags)
		$(wipe) <Prefix$Dir>.AddSprSub   $(wipeflags)
		$(wipe) <Prefix$Dir>.CDLib       $(wipeflags)
		$(wipe) <Prefix$Dir>.CharsSub    $(wipeflags)
		$(wipe) <Prefix$Dir>.CommMenu    $(wipeflags)
		$(wipe) <Prefix$Dir>.DoClose     $(wipeflags)
		$(wipe) <Prefix$Dir>.DoDeskFont  $(wipeflags)
		$(wipe) <Prefix$Dir>.DoWin       $(wipeflags)
		$(wipe) <Prefix$Dir>.DynamcArea $(wipeflags)
		$(wipe) <Prefix$Dir>.ExpPath     $(wipeflags)
		$(wipe) <Prefix$Dir>.Factor      $(wipeflags)
		$(wipe) <Prefix$Dir>.Fontmenu    $(wipeflags)
		$(wipe) <Prefix$Dir>.FreeMem     $(wipeflags)
		$(wipe) <Prefix$Dir>.FrontBack   $(wipeflags)
		$(wipe) <Prefix$Dir>.LEHistory   $(wipeflags)
		$(wipe) <Prefix$Dir>.ModuleInfo  $(wipeflags)
		$(wipe) <Prefix$Dir>.Modules     $(wipeflags)
		$(wipe) <Prefix$Dir>.ModulesCom  $(wipeflags)
		$(wipe) <Prefix$Dir>.ModulesSub  $(wipeflags)
		$(wipe) <Prefix$Dir>.ModulesSWI  $(wipeflags)
		$(wipe) <Prefix$Dir>.Openfiles   $(wipeflags)
		$(wipe) <Prefix$Dir>.Opensocks   $(wipeflags)
		$(wipe) <Prefix$Dir>.Scroll      $(wipeflags)
		$(wipe) <Prefix$Dir>.ShareFS     $(wipeflags)
		$(wipe) <Prefix$Dir>.Sockets     $(wipeflags)
		$(wipe) <Prefix$Dir>.Switch      $(wipeflags)
		$(wipe) <Prefix$Dir>.Tasks       $(wipeflags)
		$(wipe) <Prefix$Dir>.TasksCmd    $(wipeflags)
		$(wipe) <Prefix$Dir>.Variables   $(wipeflags)
		$(submake) *.Makefile -- maintainerclean

nosource:
		$(wipe) <Prefix$Dir>.CVS        $(wipeflags)
		$(wipe) <Prefix$Dir>.bas        $(wipeflags)
		$(wipe) <Prefix$Dir>.c          $(wipeflags)
		$(wipe) <Prefix$Dir>.o          $(wipeflags)
		$(wipe) <Prefix$Dir>.t2b        $(wipeflags)
		$(submake) *.Makefile -- nosource
		$(wipe) <Prefix$Dir>.Makefile   $(wipeflags)


# Individual targets

AddSprSub:	@.bas.AddSprSub
		$(text2basic)

CDLib:		@.bas.CDLib
		$(text2basic)

CharsSub:	@.bas.CharsSub
		$(text2basic)

CommMenu:	@.bas.CommMenu
		$(text2basic)

DoClose:	@.bas.DoClose
		$(text2basic)

DoDeskFont:	@.bas.DoDeskFont
		$(text2basic)

DoWin:		@.bas.DoWin
		$(text2basic)

DynamcArea:	@.bas.DynamcArea
		$(text2basic)

ExpPath:	@.bas.ExpPath
		$(text2basic)

Factor:		@.bas.Factor
		$(text2basic)

Fontmenu:	@.bas.Fontmenu
		$(text2basic)

FreeMem:	@.bas.FreeMem
		$(text2basic)

FrontBack:	@.bas.FrontBack
		$(text2basic)

LEHistory:	@.bas.LEHistory
		$(text2basic)

ModuleInfo:	@.bas.ModuleInfo
		$(text2basic)

Modules:	@.bas.Modules
		$(text2basic)

ModulesCom:	@.bas.ModulesCom
		$(text2basic)

ModulesSub:	@.bas.ModulesSub
		$(text2basic)

ModulesSWI:	@.bas.ModulesSWI
		$(text2basic)

Openfiles:	@.bas.Openfiles
		$(text2basic)

Opensocks:	@.bas.Opensocks
		$(text2basic)

Scroll:		@.bas.Scroll
		$(text2basic)

ShareFS:	@.bas.ShareFS
		$(text2basic)

Sockets:	o.Sockets
		$(link_app) @.o.Sockets TCPIPLibs:o.socklib TCPIPLibs:o.inetlib C:o.stubs

Switch:		@.bas.Switch
		$(text2basic)

Tasks:		@.bas.Tasks
		$(text2basic)

TasksCmd:	@.bas.TasksCmd
		$(text2basic)

Variables:	@.bas.Variables
		$(text2basic)


# Rule Patterns

.SUFFIXES:	.o

.c.o:;		$(cc) $< -o $@


# Static dependencies

o.Sockets:	c.Sockets
