#* ***************************** MODULE HEADER **************************** *#
#*                                                                          *#
#*                                                                          *#
#* MACHINE: B20      MAKEFILE                 OS: BTOS                      *#
#*                                                                          *#
#* DESCRIPTION:  This module builds all the end products, libraries, etc.   *#
#*               based on the necessary source files.                       *#
#*                                                                          *#
#*                                                                          *#
#* HISTORY:                                                                 *#
#*                                                                          *#
#* MM/DD/YY VVVV/MM PROGRAMMER   / DESCRIPTION OF CHANGE (Most recent first)*#
#*                                                                          *#
#* 07/06/90 121A.16 G. Sinha     / Added more ENLS.Lib for all Links        *#
#* 04/18/90 121A.15 T. Shimizu   / Changed for the ENLS, remove FieldEdit   *#
#*                      (NUL)                                               *#
#* 03/08/90 120H.14 M. Emmerich  / Disable TURNOVER stuff until 13.0 builds *#
#* 09/22/89 120C.13 V. Muppidi   / Removed Histogram Statistics etc.        *#
#* 09/01/89 120C.12 T. Ball      / Added FieldEdit module to SystemMgr      *#
#* 08/21/89 120C.11 T. Ball      / Added turnover logic                     *#
#* 08/17/89 120C.10 P. Campbell  / Assemble to list errors only             *#
#* 08/03/89 120C.09 T. Ball      / Added Cross Reference support (xrf),     *#
#*                                 removed Statistics.plm                   *#
#* 07/10/89 120C.08 P. Campbell  / changed y to yes and n to no             *#
#* 06/14/89 120B/07 T. Ball      / Removed DisplayConfigText entries        *#
#* 06/13/89 120B/06 V. Muppidi   / Changed pstatsMsg.Mtxt to PsMsg.mtxt     *#
#* 05/31/89 120B/05 M. McLaughlin/ Updated.                                 *#
#* 05/04/89 120B/04 M. McLaughlin/ Removed Cam's Histogrammer.run added     *#
#*                                 San Jose's Histogram.run and merged      *#
#*                                 Request.Stats.txt w/Request.Vm.txt.      *#
#* 05/04/89 120B/03 M. McLaughlin/ Added <Stats> source to environment.     *#
#* 04/07/89 120A/02 V. Muppidi   / Added and renamed msg file to .mtxt      *#
#* 04/07/89 120A/01 V. Muppidi   / Added SystemMgr.edf creation.            *#
#* 03/22/89 120A/00 R. Tratner   / Created.                                 *#
#*                                                                          *#
#* TITLE:  BTOS SYSTEM SOFTWARE                                             *#
#*                                                                          *#
#*          PROPRIETARY PROGRAM MATERIAL                                    *#
#*                                                                          *#
#* THIS MATERIAL IS PROPRIETARY TO UNISYS CORPORATION AND IS NOT TO BE      *#
#* REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE  *#
#* OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS           *#
#* CORPORATION, DETROIT, MICHIGAN 48232, USA.                               *#
#*                                                                          *#
#*                                                                          *#
#* COPYRIGHT (C) 1980, 1989 CONVERGENT INCORPORATED. ALL RIGHTS RESERVED    *#
#* COPYRIGHT (C) 1980, 1989 UNISYS CORPORATION. ALL RIGHTS RESERVED         *#
#* ************************************************************************ *#
#*                                                                          *#
#* UNISYS BELIEVES THAT THE SOFTWARE FURNISHED HEREWITH IS ACCURATE AND     *#
#* RELIABLE, AND MUCH CARE HAS BEEN TAKEN IN ITS PREPARATION.  HOWEVER,     *#
#* NO RESPONSIBILITY, FINANCIAL OR OTHERWISE, CAN BE ACCEPTED FOR ANY       *#
#* CONSEQUENCES ARISING OUT OF THE USE OF THIS MATERIAL, INCLUDING LOSS OF  *#
#* PROFIT, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES, THERE ARE NO        *#
#* WARRANTIES WHICH EXTEND BEYOND THE PROGRAM SPECIFICATION.                *#
#*                                                                          *#
#* THE CUSTOMER SHOULD EXERCISE CARE TO ASSURE THAT USE OF THE SOFTWARE     *#
#* WILL BE IN FULL COMPLIANCE WITH LAWS, RULES AND REGULATIONS OF THE       *#
#* JURISDICTIONS WITH RESPECT TO WHICH IT IS USED.                          *#
#*                                                                          *#
#*                                                                          *#
#* ************************* END OF MODULE HEADER ************************* *#
# Include  macros used by this makefile.

include [Sys]<Edf>makefile.inc

# Source file names are stored in variables named xxxFLS where xxx is the
# languages file name suffix.
#	EXAMPLE: OhBoy.plm would be listed under the variable PLMFLS.

ASMFLS=	ICon.asm\
	NmiIntHandler.asm\
	SmString.asm\
	SoftKey.asm

PLMFLS=	Chain.plm\
	DetermineConfig.plm\
	Display.plm\
	DisplayConfig.plm\
	FormEdit.plm\
	IconStatus.plm\
	Keyboard.plm\
	ProcessSoftKey.plm\
	PsDetail.plm\
	PsKbdVid.plm\
	PsMain.plm\
	PsMaps.plm\
	PsUtil.plm\
	ReadConfig.plm\
	RemoteMgr.plm\
	SmClock.plm\
	SrpUtil.plm\
	SystemMgr.plm\
	SysUtil.plm\
	VidStatus.plm\
	Vlpb.plm\
	Zoom.plm

# TURNOVER is used to automatically copy changed source files to the <turnover>
# directory kept on San Jose's master.  If building from anywhere else, either 
# comment out this value or invoke make with "TURNOVER=".

#TURNOVER = LCopy\n $<\n\n <turnover>SystemMgr>\n\n yes\g
#TURNOVERMSG = LCopy\n $?\n\n <turnover>SystemMgr>\n\n yes\g
TURNOVER =
TURNOVERMSG =

# .SUFFIXES is the list of recognized file suffixes followed by descriptions
# of how to make files with those desciptions.

.SUFFIXES: .plm .asm

.asm.obj:
	$(TURNOVER)
	assemble\n$<\nyes\g

.plm.obj:
	$(TURNOVER)
	v2.3plm86\n$<\g


# OBJFLS is the sum of all source files (with the suffix changed to .obj).
# This variable is used by rebuild to force a complete rebuild by deleting all
# the object modules upon which every thing depends.  OBJFLS is used by
# rebuild.

OBJFLS=	SystemMgr.edf\
	$(ASMFLS:.asm=.obj)\
	$(PLMFLS:.plm=.obj)

# RUNFLS is the list of all run files (or other "end products") generated by
# this make file.  RUNFLS is used by update and relink.

RUNFLS=	SystemMgr.lib\
	DisplayConfig.run\
	SystemMgr.run\
	SystemMgrMsg.bin

## These two lines were taken out because they are not part of the source.
##	DisplayConfigJpn.run
##	SystemMgrJpn.run

# LIBFLS if the lists of libraries required for the generation of the various
# "end products."  LIBFLS is used by relib.

LIBFLS=	SystemMgr.lib
# XRFFLS is the list of cross reference files

XRFFLS= DisplayConfig.xrf\
	SystemMgr.xrf

# update "depends" upon on the "end products" generated by this make file.
# Each "end product" must be listed with its dependencies.

update: LEGALIZE $(RUNFLS)
version = x12.1.A-%D|!*o!/!*d!-!*t!:!0m!|

# xrf creates a cross reference of each run file's object files

xrf: $(XRFFLS)

# describe each run files prerequisites and how to build it.

DISPLAYCONFIGOBJS= DisplayConfig.obj\
		Display.obj\
		Icon.obj\
		DetermineConfig.obj\
		SrpUtil.obj\
		SysUtil.obj\
		NmiIntHandler.obj\
		SmString.obj

DisplayConfig.run: $(DISPLAYCONFIGOBJS)\
		[Sys]<Sys>Ctos.lib\
		[Sys]<Sys>CtosToolKit.lib\
		[Sys]<Sys>ENLS.lib\
		LinkDisplayConfig.sub\
		LinkDisplayConfig.fls
	Submit\nLinkDisplayConfig.sub\n$(version)\g

DisplayConfigJpn.run: $(DISPLAYCONFIGOBJS)\
		[Sys]<Sys>Ctos.lib\
		[Sys]<Sys>CtosToolKit.lib\
		[Sys]<Sys>ENLS.lib\
		LinkDisplayConfig.sub\
		LinkDisplayConfig.fls
	Submit\nLinkDisplayConfigJpn.sub\n$(version)\g

SYSTEMMGROBJS=  SystemMgr.obj\
		RemoteMgr.obj\
		SysUtil.obj\
		Display.obj\
		Icon.obj\
		DetermineConfig.obj\
		SrpUtil.obj\
		NmiIntHandler.obj\
		Zoom.obj\
		SoftKey.obj\
		ProcessSoftKey.obj\
		Chain.obj\
		ReadConfig.obj\
		IconStatus.obj\
		Keyboard.obj\
		FormEdit.obj\
		SmString.obj\
		PsKbdVid.obj\
		PsUtil.obj\
		PsMain.obj\
		PsMaps.obj\
		PsDetail.obj\
		SmClock.obj\
		VidStatus.obj\
		Vlpb.obj
SystemMgr.run:	$(SYSTEMMGROBJS)\
		[!Sys]<Sys>Mouse.lib\
		[Sys]<Sys>Ctos.lib\
		[Sys]<Sys>CtosToolKit.lib\
		[Sys]<Sys>ENLS.lib\
		LinkSystemMgr.sub\
		LinkSystemMgr.fls
	Submit\nLinkSystemMgr.sub\n$(version)\g

SystemMgrJpn.run:	$(SYSTEMMGROBJS)\
		[!Sys]<Sys>Mouse.lib\
		[Sys]<Sys>Ctos.lib\
		[Sys]<Sys>CtosToolKit.lib\
		[Sys]<Sys>ENLS.lib\
		LinkSystemMgr.sub\
		LinkSystemMgr.fls
	Submit\nLinkSystemMgrJpn.sub\n$(version)\g

SystemMgrMsg.bin: SystemMgrMsg.mtxt
	$(TURNOVERMSG)
	Create Message File\n$?\n$@\g

# create variables which contain the list of needed .obj and .coed files.

SYSTEMMGRLIB =	ICon.Obj\
	NmiIntHandler.Obj\
	SmString.Obj\
	SoftKey.obj\
	Chain.Obj\
	DetermineConfig.Obj\
	Display.Obj\
	DisplayConfig.Obj\
	FormEdit.Obj\
	IconStatus.Obj\
	Keyboard.Obj\
	ProcessSoftKey.Obj\
	PsDetail.Obj\
	PsKbdVid.Obj\
	PsMain.Obj\
	PsMaps.Obj\
	PsUtil.Obj\
	ReadConfig.Obj\
	RemoteMgr.Obj\
	SmClock.Obj\
	SrpUtil.Obj\
	SystemMgr.Obj\
	SysUtil.Obj\
	VidStatus.Obj\
	Vlpb.Obj\
	Zoom.Obj

# describe each library using the appropriate variables.
# LIBMACRO must be specified after every library definition.

SystemMgr.Lib: $(SYSTEMMGRLIB)
	$(LIBMACRO)

# xrf file dependencies

DisplayConfig.xrf: $(DISPLAYCONFIGOBJS)
	Copy\n [kbd]\n [scr]<$$>objs\n yes\g $(DISPLAYCONFIGOBJS)\f
	Cross Reference\n @[scr]<$$>objs\n $@\g

SystemMgr.xrf: $(SYSTEMMGROBJS)
	Copy\n [kbd]\n [scr]<$$>objs\n yes\g $(SYSTEMMGROBJS)\f
	Cross Reference\n @[scr]<$$>objs\n $@\g

# List all object files and their prerequisites.

SystemMgr.edf:	SystemMgrEdf.fls
	Make edf\n@SystemMgrEdf.fls\n$@\g

PsUtil.obj:	PsUtil.plm\
	[Sys]<Edf>ctosstructures.edf\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>hardware.edf\
	fadstypes.edf\
	[Sys]<Edf>erc.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.edf\
	systemmgr.idf\
	psglobals.idf

DetermineConfig.obj:	DetermineConfig.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>hardware.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.idf\
	systemmgr.edf

Chain.obj:	Chain.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>erc.edf\
	systemmgr.idf\
	systemmgr.edf

PsMaps.obj:	PsMaps.plm\
	[Sys]<Edf>ctosstructures.edf\
	[Sys]<Edf>ctostypes.edf\
	fadstypes.edf\
	[Sys]<Edf>erc.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.idf\
	systemmgr.edf\
	psglobals.idf

Vlpb.obj:	Vlpb.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>hardware.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.idf\
	systemmgr.edf\
	formedit.edf

SmClock.obj:	SmClock.plm\
	[Sys]<Edf>ctosstructures.edf\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.idf

Display.obj:	Display.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>hardware.edf\
	systemmgr.idf\
	systemmgr.edf

VidStatus.obj:	VidStatus.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.edf\
	systemmgr.idf

Keyboard.obj:	Keyboard.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>mouse.edf\
	[Sys]<Edf>chrlit.edf\
	[Sys]<Edf>erc.edf\
	systemmgr.idf\
	systemmgr.edf\
	psglobals.idf

PsDetail.obj:	PsDetail.plm\
	[Sys]<Edf>ctosstructures.edf\
	[Sys]<Edf>ctostypes.edf\
	fadstypes.edf\
	[Sys]<Edf>erc.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.idf\
	psglobals.idf\
	systemmgr.edf

PsKbdVid.obj:	PsKbdVid.plm\
	[Sys]<Edf>ctosstructures.edf\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.idf\
	psglobals.idf

FormEdit.obj:	FormEdit.plm\
	formedit.edf\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>erc.edf

RemoteMgr.obj:	RemoteMgr.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>erc.edf\
	[Sys]<Edf>serverhw.edf\
	systemmgr.idf\
	systemmgr.edf

ReadConfig.obj:	ReadConfig.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>erc.edf\
	systemmgr.idf\
	systemmgr.edf

SrpUtil.obj:	SrpUtil.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>hardware.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>erc.edf\
	systemmgr.idf\
	[Sys]<Edf>serverhw.edf\
	systemmgr.edf\
	psglobals.idf

DisplayConfig.obj:	DisplayConfig.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>hardware.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>erc.edf\
	systemmgr.idf\
	systemmgr.edf

ProcessSoftKey.obj:	ProcessSoftKey.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>hardware.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>mouse.edf\
	systemmgr.idf\
	systemmgr.edf\
	psglobals.idf

SysUtil.obj:	SysUtil.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>erc.edf\
	systemmgr.idf\
	systemmgr.edf

PsMain.obj:	PsMain.plm\
	[Sys]<Edf>ctosstructures.edf\
	[Sys]<Edf>ctostypes.edf\
	fadstypes.edf\
	[Sys]<Edf>erc.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.edf\
	systemmgr.idf\
	psglobals.idf

SystemMgr.obj:	SystemMgr.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>hardware.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>erc.edf\
	systemmgr.idf\
	systemmgr.edf\
	psglobals.idf

Zoom.obj:	Zoom.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	[Sys]<Edf>erc.edf\
	[Sys]<Edf>mouse.edf\
	systemmgr.idf\
	systemmgr.edf

IconStatus.obj:	IconStatus.plm\
	[Sys]<Edf>ctostypes.edf\
	[Sys]<Edf>ctoslib.edf\
	systemmgr.idf\
	systemmgr.edf

SmString.obj:	SmString.asm\
	[Sys]<Edf>string.mdf

Icon.obj:	Icon.asm\
	parse.mdf\
	icon.mdf

NmiIntHandler.obj:	NmiIntHandler.asm\
	[Sys]<Edf>cdtequ.edf\
	[Sys]<Edf>serverhwequ.edf\
	[Sys]<Edf>real186equ.edf

SoftKey.obj:	SoftKey.asm\
	softkey.mdf
