
ObjectFiles	=		\
			o.AutoHelp	\
			o.Create	\
			o.CreateOrig	\
			o.CreateShow	\
			o.Delete	\
			o.DeleteOrig	\
			o.ForceRedrw	\
			o.GainCaret	\
			o.GetCoords	\
			o.GetInfo	\
			o.GetInfo3	\
			o.Help	\
			o.ModeChange	\
			o.MoveWindow	\
			o.ParentName	\
			o.SetExtent	\
			o.SetTitle	\
			o.Show	\
			o.ToFront	\
			o.WholeRedrw	\


LibName		=	Window



# Template makefile to make all .o files
# and the SDLS Stubs file for DeskLib
# sublibraries.
# Julian Smith 16 Mar 1995.


# The macro $(ObjectFiles) should be set at the 
# start of this file, to be a space-separated
# list of object files.
# This is done by 'Makatic'.


# The macro $(LibName) should also be set at the 
# start of this file, to be the name of the 
# DeskLib sublibrary.
# This is done by 'Makatic'.

# Compiler and linker flags, These can be anything. 
# All flags required by Straylight (eg CC -zM and
# Link -rmf) are included in the macros $(CC) and
# $(LINK).
#
CCFlags		=	-fahi $(CCExtra) -depend !Depend -throwback -D_DeskLib_$(LibName) -I,C:
ASMFlags	=	-Stamp -NoCache -CloseExec -Quit $(ASMExtra)


# Macros for commands, including the Straylight
# tool 'cdll'. Note that DRLink doesn't seem to
# work with the SDLS.
#
CC		=	cc -c -zM -d_DLL -JC:DLLLib.,:mem $(CCFlags)
ASM		=	ObjAsm $(ASMFlags)
CDLL		=	cdll
LINK		=	link
AS		=	as -dde -throwback


# filename of DLL Stubs aof file. This is linked with client apps.
# 
DLL_Stubs	=	Stubs


# Filenames of intermediate files needed to make $(DLL_Lib) and $(DLL_Stubs).
#
# DLL_Def:		Standard definition file as per SDLS docs.
# DLL_OtherStubsSource	Assembler source to be partially linked into
#			the final stubs file. This will force linking
#			in of stubs from any other DLLs used by this
#			library when a client application is built.
# DLL_PlainStubs	The vanilla stubs file created by SDLS's cdll.
# DLL_OtherStubsObject	Assembled from DLL_OtherStubsSource. This
#			simply imports __DeskLib_SDLS_Stubs_<libname>'s
#			for all DeskLib DLLs used by this library, and
#			exports __DeskLib_SDLS_Stubs_<thislibname>.
#
DLL_Def			=	^.DLLDef
DLL_OtherStubsSource	=	^.OtherStubs

DLL_PlainStubs		=	PlainStubs
DLL_OtherStubsObject	=	OSObj

# -------------------------------------------------------
# Everything below here should probably not be changed...
# -------------------------------------------------------



# Now all the rules...


# Here's the two things we want to make...
#
All:	$(DLL_Stubs) $(ObjectFiles)

$(DLL_Stubs):	$(DLL_PlainStubs) $(DLL_OtherStubsObject)
	$(LINK) -aof -o $@ $(DLL_PlainStubs) $(DLL_OtherStubsObject)

$(DLL_PlainStubs):	$(DLL_Def)
	$(CDLL) -def $(DLL_Def) -stub $(DLL_PlainStubs)


#$(DLL_OtherStubsObject):	$(DLL_OtherStubsSource)
#	$(AS) -o $(DLL_OtherStubsObject) $(DLL_OtherStubsSource)

$(DLL_OtherStubsObject):	$(DLL_OtherStubsSource)
	$(ASM) $(ASMFlags) -from $(DLL_OtherStubsSource) -to $(DLL_OtherStubsObject) 


$(DLL_Def):	
	| Warning: No DLL definition file exists.
	| Creating a default DLL definition file: $(DLL_Def)
	| This will have to be altered by hand.
	$(CDLL) -def $(DLL_Def) -obj $(ObjectFiles)



# Rule for compiling C source code for a Straylight dynamically-linked library.

VPATH = @.^

.SUFFIXES:	.o .c .s

.c.o:
	$(CC) -o $@ $<

.s.o:
	$(ASM) $(ASMFlags) -from $< -to $@



# Dynamic dependencies:
o.AutoHelp:	^.c.AutoHelp
o.AutoHelp:	DeskLib:h.Wimp
o.AutoHelp:	DeskLib:h.Core
o.AutoHelp:	C:h.stddef
o.AutoHelp:	C:DLLLib.h.dll
o.AutoHelp:	C:h.kernel
o.AutoHelp:	DeskLib:h.Event
o.AutoHelp:	DeskLib:h.Window
o.AutoHelp:	DeskLib:h.WimpSWIs
o.AutoHelp:	DeskLib:h.Pointer
o.AutoHelp:	DeskLib:h.Core
o.AutoHelp:	DeskLib:h.Icon
o.AutoHelp:	DeskLib:h.DragASpr
o.AutoHelp:	DeskLib:h.Window
o.AutoHelp:	DeskLib:h.Coord
o.Create:	^.c.Create
o.Create:	C:h.stdlib
o.Create:	C:h.string
o.Create:	DeskLib:h.LinkList
o.Create:	DeskLib:h.Core
o.Create:	C:h.stddef
o.Create:	C:DLLLib.h.dll
o.Create:	C:h.kernel
o.Create:	DeskLib:h.WimpSWIs
o.Create:	DeskLib:h.Wimp
o.Create:	DeskLib:h.Template
o.Create:	DeskLib:h.Sprite
o.Create:	DeskLib:h.Coord
o.Create:	C:h.stdarg
o.Create:	DeskLib:h.Event
o.Create:	DeskLib:h.Window
o.Create:	DeskLib:h.Pointer
o.Create:	DeskLib:h.Core
o.Create:	DeskLib:h.Icon
o.Create:	DeskLib:h.DragASpr
o.Create:	DeskLib:h.Window
o.Create:	DeskLib:h.Screen
o.Create:	DeskLib:h.Error
o.Create:	^.h.WindowDefs
o.CreateOrig:	^.c.CreateOrig
o.CreateOrig:	DeskLib:h.LinkList
o.CreateOrig:	DeskLib:h.Core
o.CreateOrig:	C:h.stddef
o.CreateOrig:	C:DLLLib.h.dll
o.CreateOrig:	C:h.kernel
o.CreateOrig:	DeskLib:h.WimpSWIs
o.CreateOrig:	DeskLib:h.Wimp
o.CreateOrig:	DeskLib:h.Template
o.CreateOrig:	DeskLib:h.Sprite
o.CreateOrig:	DeskLib:h.Coord
o.CreateOrig:	C:h.stdarg
o.CreateOrig:	DeskLib:h.Event
o.CreateOrig:	DeskLib:h.Window
o.CreateOrig:	DeskLib:h.Pointer
o.CreateOrig:	DeskLib:h.Core
o.CreateOrig:	DeskLib:h.Icon
o.CreateOrig:	DeskLib:h.DragASpr
o.CreateOrig:	DeskLib:h.Window
o.CreateOrig:	DeskLib:h.Screen
o.CreateOrig:	DeskLib:h.Error
o.CreateOrig:	^.h.WindowDefs
o.CreateOrig:	C:h.stdlib
o.CreateOrig:	C:h.string
o.CreateShow:	^.c.CreateShow
o.CreateShow:	DeskLib:h.Window
o.CreateShow:	DeskLib:h.Wimp
o.CreateShow:	DeskLib:h.Core
o.CreateShow:	C:h.stddef
o.CreateShow:	C:DLLLib.h.dll
o.CreateShow:	C:h.kernel
o.CreateShow:	DeskLib:h.WimpSWIs
o.CreateShow:	DeskLib:h.Pointer
o.CreateShow:	DeskLib:h.Core
o.CreateShow:	DeskLib:h.Icon
o.CreateShow:	DeskLib:h.DragASpr
o.CreateShow:	DeskLib:h.Window
o.CreateShow:	DeskLib:h.Coord
o.Delete:	^.c.Delete
o.Delete:	C:h.stdlib
o.Delete:	C:h.string
o.Delete:	DeskLib:h.LinkList
o.Delete:	DeskLib:h.Core
o.Delete:	C:h.stddef
o.Delete:	C:DLLLib.h.dll
o.Delete:	C:h.kernel
o.Delete:	DeskLib:h.WimpSWIs
o.Delete:	DeskLib:h.Wimp
o.Delete:	DeskLib:h.Template
o.Delete:	DeskLib:h.Sprite
o.Delete:	DeskLib:h.Coord
o.Delete:	C:h.stdarg
o.Delete:	DeskLib:h.Event
o.Delete:	DeskLib:h.EventMsg
o.Delete:	DeskLib:h.Window
o.Delete:	DeskLib:h.Pointer
o.Delete:	DeskLib:h.Core
o.Delete:	DeskLib:h.Icon
o.Delete:	DeskLib:h.DragASpr
o.Delete:	DeskLib:h.Window
o.Delete:	DeskLib:h.Screen
o.Delete:	DeskLib:h.Error
o.Delete:	^.h.WindowDefs
o.DeleteOrig:	^.c.DeleteOrig
o.DeleteOrig:	DeskLib:h.LinkList
o.DeleteOrig:	DeskLib:h.Core
o.DeleteOrig:	C:h.stddef
o.DeleteOrig:	C:DLLLib.h.dll
o.DeleteOrig:	C:h.kernel
o.DeleteOrig:	DeskLib:h.WimpSWIs
o.DeleteOrig:	DeskLib:h.Wimp
o.DeleteOrig:	DeskLib:h.Template
o.DeleteOrig:	DeskLib:h.Sprite
o.DeleteOrig:	DeskLib:h.Coord
o.DeleteOrig:	C:h.stdarg
o.DeleteOrig:	DeskLib:h.Event
o.DeleteOrig:	DeskLib:h.EventMsg
o.DeleteOrig:	DeskLib:h.Window
o.DeleteOrig:	DeskLib:h.Pointer
o.DeleteOrig:	DeskLib:h.Core
o.DeleteOrig:	DeskLib:h.Icon
o.DeleteOrig:	DeskLib:h.DragASpr
o.DeleteOrig:	DeskLib:h.Window
o.DeleteOrig:	DeskLib:h.Screen
o.DeleteOrig:	DeskLib:h.Error
o.DeleteOrig:	DeskLib:h.Window
o.DeleteOrig:	^.h.WindowDefs
o.DeleteOrig:	C:h.stdlib
o.DeleteOrig:	C:h.string
o.ForceRedrw:	^.c.ForceRedrw
o.ForceRedrw:	DeskLib:h.WimpSWIs
o.ForceRedrw:	DeskLib:h.Core
o.ForceRedrw:	C:h.stddef
o.ForceRedrw:	C:DLLLib.h.dll
o.ForceRedrw:	C:h.kernel
o.ForceRedrw:	DeskLib:h.Wimp
o.ForceRedrw:	DeskLib:h.Window
o.ForceRedrw:	DeskLib:h.Pointer
o.ForceRedrw:	DeskLib:h.Core
o.ForceRedrw:	DeskLib:h.Icon
o.ForceRedrw:	DeskLib:h.DragASpr
o.ForceRedrw:	DeskLib:h.Window
o.ForceRedrw:	DeskLib:h.Coord
o.GainCaret:	^.c.GainCaret
o.GainCaret:	C:h.stdlib
o.GainCaret:	DeskLib:h.Window
o.GainCaret:	DeskLib:h.Wimp
o.GainCaret:	DeskLib:h.Core
o.GainCaret:	C:h.stddef
o.GainCaret:	C:DLLLib.h.dll
o.GainCaret:	C:h.kernel
o.GainCaret:	DeskLib:h.WimpSWIs
o.GainCaret:	DeskLib:h.Pointer
o.GainCaret:	DeskLib:h.Core
o.GainCaret:	DeskLib:h.Icon
o.GainCaret:	DeskLib:h.DragASpr
o.GainCaret:	DeskLib:h.Window
o.GainCaret:	DeskLib:h.Coord
o.GainCaret:	DeskLib:h.Icon
o.GainCaret:	DeskLib:h.WimpSWIs
o.GetCoords:	^.c.GetCoords
o.GetCoords:	DeskLib:h.WimpSWIs
o.GetCoords:	DeskLib:h.Core
o.GetCoords:	C:h.stddef
o.GetCoords:	C:DLLLib.h.dll
o.GetCoords:	C:h.kernel
o.GetCoords:	DeskLib:h.Wimp
o.GetCoords:	DeskLib:h.Coord
o.GetCoords:	DeskLib:h.Window
o.GetCoords:	DeskLib:h.Pointer
o.GetCoords:	DeskLib:h.Core
o.GetCoords:	DeskLib:h.Icon
o.GetCoords:	DeskLib:h.DragASpr
o.GetCoords:	DeskLib:h.Window
o.GetInfo:	^.c.GetInfo
o.GetInfo:	C:h.string
o.GetInfo:	DeskLib:h.WimpSWIs
o.GetInfo:	DeskLib:h.Core
o.GetInfo:	C:h.stddef
o.GetInfo:	C:DLLLib.h.dll
o.GetInfo:	C:h.kernel
o.GetInfo:	DeskLib:h.Wimp
o.GetInfo:	DeskLib:h.Window
o.GetInfo:	DeskLib:h.Pointer
o.GetInfo:	DeskLib:h.Core
o.GetInfo:	DeskLib:h.Icon
o.GetInfo:	DeskLib:h.DragASpr
o.GetInfo:	DeskLib:h.Window
o.GetInfo:	DeskLib:h.Coord
o.GetInfo3:	^.c.GetInfo3
o.GetInfo3:	DeskLib:h.Window
o.GetInfo3:	DeskLib:h.Wimp
o.GetInfo3:	DeskLib:h.Core
o.GetInfo3:	C:h.stddef
o.GetInfo3:	C:DLLLib.h.dll
o.GetInfo3:	C:h.kernel
o.GetInfo3:	DeskLib:h.WimpSWIs
o.GetInfo3:	DeskLib:h.Pointer
o.GetInfo3:	DeskLib:h.Core
o.GetInfo3:	DeskLib:h.Icon
o.GetInfo3:	DeskLib:h.DragASpr
o.GetInfo3:	DeskLib:h.Window
o.GetInfo3:	DeskLib:h.Coord
o.GetInfo3:	DeskLib:h.WimpSWIs
o.Help:	^.c.Help
o.Help:	C:h.stdio
o.Help:	C:h.string
o.Help:	DeskLib:h.Event
o.Help:	DeskLib:h.Core
o.Help:	C:h.stddef
o.Help:	C:DLLLib.h.dll
o.Help:	C:h.kernel
o.Help:	DeskLib:h.Wimp
o.Help:	DeskLib:h.Window
o.Help:	DeskLib:h.WimpSWIs
o.Help:	DeskLib:h.Pointer
o.Help:	DeskLib:h.Core
o.Help:	DeskLib:h.Icon
o.Help:	DeskLib:h.DragASpr
o.Help:	DeskLib:h.Window
o.Help:	DeskLib:h.Coord
o.Help:	DeskLib:h.Msgs
o.Help:	DeskLib:h.WimpSWIs
o.ModeChange:	^.c.ModeChange
o.ModeChange:	Desklib:h.Error
o.ModeChange:	Desklib:h.Core
o.ModeChange:	C:h.stddef
o.ModeChange:	C:DLLLib.h.dll
o.ModeChange:	C:h.kernel
o.ModeChange:	Desklib:h.Event
o.ModeChange:	Desklib:h.Wimp
o.ModeChange:	Desklib:h.Font
o.ModeChange:	Desklib:h.LinkList
o.ModeChange:	Desklib:h.Screen
o.ModeChange:	Desklib:h.Template
o.ModeChange:	Desklib:h.Sprite
o.ModeChange:	Desklib:h.Coord
o.ModeChange:	C:h.stdarg
o.ModeChange:	Desklib:h.Window
o.ModeChange:	Desklib:h.WimpSWIs
o.ModeChange:	Desklib:h.Pointer
o.ModeChange:	Desklib:h.Core
o.ModeChange:	Desklib:h.Icon
o.ModeChange:	Desklib:h.DragASpr
o.ModeChange:	Desklib:h.Window
o.ModeChange:	Desklib:h.WimpSWIs
o.ModeChange:	^.h.WindowDefs
o.ModeChange:	C:h.string
o.MoveWindow:	^.c.MoveWindow
o.MoveWindow:	DeskLib:h.Wimp
o.MoveWindow:	DeskLib:h.Core
o.MoveWindow:	C:h.stddef
o.MoveWindow:	C:DLLLib.h.dll
o.MoveWindow:	C:h.kernel
o.MoveWindow:	DeskLib:h.Window
o.MoveWindow:	DeskLib:h.WimpSWIs
o.MoveWindow:	DeskLib:h.Pointer
o.MoveWindow:	DeskLib:h.Core
o.MoveWindow:	DeskLib:h.Icon
o.MoveWindow:	DeskLib:h.DragASpr
o.MoveWindow:	DeskLib:h.Window
o.MoveWindow:	DeskLib:h.Coord
o.MoveWindow:	DeskLib:h.Error
o.ParentName:	^.c.ParentName
o.ParentName:	C:h.string
o.ParentName:	DeskLib:h.LinkList
o.ParentName:	DeskLib:h.Core
o.ParentName:	C:h.stddef
o.ParentName:	C:DLLLib.h.dll
o.ParentName:	C:h.kernel
o.ParentName:	DeskLib:h.Window
o.ParentName:	DeskLib:h.Wimp
o.ParentName:	DeskLib:h.WimpSWIs
o.ParentName:	DeskLib:h.Pointer
o.ParentName:	DeskLib:h.Core
o.ParentName:	DeskLib:h.Icon
o.ParentName:	DeskLib:h.DragASpr
o.ParentName:	DeskLib:h.Window
o.ParentName:	DeskLib:h.Coord
o.ParentName:	^.h.WindowDefs
o.SetExtent:	^.c.SetExtent
o.SetExtent:	DeskLib:h.WimpSWIs
o.SetExtent:	DeskLib:h.Core
o.SetExtent:	C:h.stddef
o.SetExtent:	C:DLLLib.h.dll
o.SetExtent:	C:h.kernel
o.SetExtent:	DeskLib:h.Wimp
o.SetExtent:	DeskLib:h.Window
o.SetExtent:	DeskLib:h.Pointer
o.SetExtent:	DeskLib:h.Core
o.SetExtent:	DeskLib:h.Icon
o.SetExtent:	DeskLib:h.DragASpr
o.SetExtent:	DeskLib:h.Window
o.SetExtent:	DeskLib:h.Coord
o.SetTitle:	^.c.SetTitle
o.SetTitle:	C:h.string
o.SetTitle:	DeskLib:h.Wimp
o.SetTitle:	DeskLib:h.Core
o.SetTitle:	C:h.stddef
o.SetTitle:	C:DLLLib.h.dll
o.SetTitle:	C:h.kernel
o.SetTitle:	DeskLib:h.WimpSWIs
o.SetTitle:	DeskLib:h.Window
o.SetTitle:	DeskLib:h.Pointer
o.SetTitle:	DeskLib:h.Core
o.SetTitle:	DeskLib:h.Icon
o.SetTitle:	DeskLib:h.DragASpr
o.SetTitle:	DeskLib:h.Window
o.SetTitle:	DeskLib:h.Coord
o.Show:	^.c.Show
o.Show:	DeskLib:h.WimpSWIs
o.Show:	DeskLib:h.Core
o.Show:	C:h.stddef
o.Show:	C:DLLLib.h.dll
o.Show:	C:h.kernel
o.Show:	DeskLib:h.Wimp
o.Show:	DeskLib:h.Window
o.Show:	DeskLib:h.Pointer
o.Show:	DeskLib:h.Core
o.Show:	DeskLib:h.Icon
o.Show:	DeskLib:h.DragASpr
o.Show:	DeskLib:h.Window
o.Show:	DeskLib:h.Coord
o.Show:	DeskLib:h.Screen
o.ToFront:	^.c.ToFront
o.ToFront:	DeskLib:h.WimpSWIs
o.ToFront:	DeskLib:h.Core
o.ToFront:	C:h.stddef
o.ToFront:	C:DLLLib.h.dll
o.ToFront:	C:h.kernel
o.ToFront:	DeskLib:h.Wimp
o.ToFront:	DeskLib:h.Window
o.ToFront:	DeskLib:h.Pointer
o.ToFront:	DeskLib:h.Core
o.ToFront:	DeskLib:h.Icon
o.ToFront:	DeskLib:h.DragASpr
o.ToFront:	DeskLib:h.Window
o.ToFront:	DeskLib:h.Coord
o.WholeRedrw:	^.c.WholeRedrw
o.WholeRedrw:	DeskLib:h.Wimp
o.WholeRedrw:	DeskLib:h.Core
o.WholeRedrw:	C:h.stddef
o.WholeRedrw:	C:DLLLib.h.dll
o.WholeRedrw:	C:h.kernel
o.WholeRedrw:	DeskLib:h.WimpSWIs
o.WholeRedrw:	DeskLib:h.Window
o.WholeRedrw:	DeskLib:h.Pointer
o.WholeRedrw:	DeskLib:h.Core
o.WholeRedrw:	DeskLib:h.Icon
o.WholeRedrw:	DeskLib:h.DragASpr
o.WholeRedrw:	DeskLib:h.Window
o.WholeRedrw:	DeskLib:h.Coord
