#******************************************************************************
#  Makefile for the FONTS directory
#
#       SCCSID = @(#)makefile   6.7 92/02/25
#
#       IBM/Microsoft Confidential
#
#       Copyright (c) IBM Corporation 1987, 1989
#       Copyright (c) Microsoft Corporation 1987, 1989
#
#       All Rights Reserved
#
#******************************************************************************

# This is a makefile template to be used for an OS/2 Component makefile.
# The purpose of this template is to outline all the areas and items
# that need to be covered. The following are some of those items
#
#     Handle Non Specific Machine Layouts - This will make the makefile
#     -----------------------------------   more generic and portable
#                                           regardless of the development
#                                           tree. Macros should have
#                                           relative paths to information
#                                           in order for the makefiles to be
#                                           more portable.
#
#
#     National Language Support          -  The makefile will have to
#     -------------------------             support all national language
#                                           versions.  This applies to all
#                                           modules that will contain trans-
#                                           lations even if that translation
#                                           is not the result of specific MRI
#                                           which is part of the component.
#
#     Environment Setup                   - The makefile will setup the
#     -----------------                     environment (ie. paths to tools,
#                                           etc). This will insure that
#                                           people involved can use the
#                                           makefile without worrying
#                                           about their local environment.
#
#     Use of Inline Response Files        - The makefile will dynamically
#     ----------------------------          generate linker response files,
#                                           def files etc. to support NLS,
#                                           MMIO and other build variations.
#
# The following is a list of the order in which the makefile should be written.
#
#     Dot Directives - ie.
#        .SUFFIXES:
#        .SILENT:
#        .IGNORE:
#        .PRECIOUS:
#
#     Environment Setup
#        Conditional setup and user defined macros
#        Compiler Location w/ includes, libs and tools etc.
#        Compiler/tools Macros
#        Compiler/tools Options
#        Additional user defined macros
#
#      Rules for Compiling and assembling
#        .c.obj
#        .asm.obj
#        .exe.com
#
#      Common target information "common.mak" for dependency generation and
#      nls processing
#
#      User Target Information
#         all
#         debug
#
#      Specific Description Blocks
#
#      Description block for dynamic dependencies generation "depend.mak"
#
#      Indirect Dependencies for SOURCE "depend.mak"
#         .obj:   .c .h .inc
#
# It is very important to have the makefile in the above order to make both
# the developers job and the build departments job that much easier.
#
# ******  NOTE  ******
#
#   Please make sure that the MAKEFILE is documented. There have been many
#   occasions that someone other then people working on your component have
#   had a chance to inquire about what the dependencies are and what files
#   are created as a result.
#
#   The makefile should be a document in itself. It will discribe how to
#   to create the component. It is VERY inportant that any special
#   consideration be documented. The following is an example of a problem
#   and its documentation.
#
#        If you are using a SED command with TAB characters, many editors
#        will expand tabs causing unpredictable results in other programs.
#
#        Documentation:
#
#        Using SED command with TABS. Besure to invoke set tab save option
#        on your editor. If you don't, the program 'xyz' will not work
#        correctly.
#

#****************************************************************************
#  Dot directive definition area (usually just suffixes)
#****************************************************************************

.SUFFIXES: .obj .exe .c .asm .h .inc .rc .res .lnk .fon

#
# Compiler Location w/ includes, libs and tools
#


INC = ..\..\inc
LIB =..\..\..\lib
H = ..\..\h
TOOLSPATH = ..\..\tools

#
# Since the compiler/linker and other tools use environment
# variables ( INCLUDE, LIB, etc ) in order to get the location of files,
# the following line will check the environment for the LIFE of the
# makefile and will be specific to this set of instructions. All MAKEFILES
# are requested to use this format to insure that they are using the correct
# level of files and tools.
#

!if [set INCLUDE=$(H);$(INC)] || [set LIB=$(LIB)] || [set PATH=$(TOOLSPATH)]
!endif

#
# Compiler/tools Macros
#

AS = masm
LINK = link386
RC = rc

#****************************************************************************
# Set up Macros that will contain all the different dependencies for the
# executables and dlls etc. that are generated.
#****************************************************************************

COUR096  = COU08VGC.FNT COU09VGC.FNT COU10VGC.FNT COU12VGC.FNT

COUR120  = COU08BGC.FNT COU10BGC.FNT COU12BGC.FNT

HELV096  = HEL08VGC.FNT HEL09VGC.FNT HEL10VGC.FNT HEL12VGC.FNT \
           HEL14VGC.FNT HEL18VGC.FNT HEL24VGC.FNT

HELV096B = HEL08VGC.FNT HEL09VGC.FNT HEL10BXC.FNT HEL12BXC.FNT \
           HEL14BXC.FNT HEL18VGC.FNT HEL24VGC.FNT

HELV120  = HEL08BGC.FNT HEL09BGC.FNT HEL10BGC.FNT HEL12BGC.FNT \
           HEL14BGC.FNT HEL18BGC.FNT HEL24BGC.FNT

TMS096   = TMS08VGC.FNT TMS09VGC.FNT TMS10VGC.FNT TMS12VGC.FNT \
           TMS14VGC.FNT TMS18VGC.FNT TMS24VGC.FNT

TMS120   = TMS08BGC.FNT TMS10BGC.FNT TMS12BGC.FNT TMS14BGC.FNT \
           TMS18BGC.FNT TMS24BGC.FNT

SYSMONO  = MON10VGC.FNT MON10BGC.FNT SYS09VGC.FNT

HELVI    = $(HELV096) $(HELV120)

COURIERI = $(COUR096) $(COUR120)

TIMESI   = $(TMS096) $(TMS120)

#DSPRES   = SYS10VGO.FNT SYS10BGO.FNT SYS12BGO.FNT \
#           SYS10VGC.FNT SYS10BGC.FNT SYS12BGC.FNT VIO0512C.FNT \
DSPRES   = SYS10VGO.FNT SYS10BGO.FNT SYS12BGO.FNT SYS10VGC.FNT \
           SYS10BGC.FNT SYS12BGS.FNT SYS14BGS.FNT VIO0512C.FNT \
           VIO0516C.FNT VIO0610C.FNT VIO0614C.FNT VIO0715C.FNT \
           VIO0725C.FNT VIO0808C.FNT VIO0810C.FNT VIO0812C.FNT \
           VIO0814C.FNT VIO0816C.FNT VIO0818C.FNT VIO1018C.FNT \
           VIO1216C.FNT VIO1220C.FNT VIO1222C.FNT VIO1230C.FNT 


ALLFONTS = HELVI.FON COURIERI.FON TIMESI.FON SYSMONO.FON \
           HELV096B.FON  DSPRES.DLL

#****************************************************************************
#   Setup the inference rules for compiling and assembling source code to
#   obejct code.
#****************************************************************************

.asm.obj:
        $(AS) $*;

.lnk.fon:
        $(LINK) @$*.lnk
        $(RC) -x -p $*.rc $*.fon

.lnk.dll:
        $(LINK) @$*.lnk
        $(RC) -x -p $*.rc $*.dll

#****************************************************************************
#   Target Information
#****************************************************************************
#
# This is a very important step. The following small amount of code MUST
# NOT be removed from the program. The following directive will do
# dependency checking every time this component is built UNLESS the
# following is performed:
#                    A specific tag is used -- ie. all
#
# This allows the developer as well as the B & I group to perform incremental
# build with a degree of accuracy that has not been used before.
# There are some instances where certain types of INCLUDE files must be
# created first. This type of format will allow the developer to require
# that file to be created first. In order to achive that, all that has to
# be done is to make the DEPEND.MAK tag have your required target. Below is
# an example:
#
#    depend.mak:   { your file(s) } dephold
#
# Please DON'T remove the following line
#



#
# Should be the default tag for all general processing
#
all: $(ALLFONTS)

#
# Specific Process Tag
#
clean:
    del *.obj > nul 2>&1
    del *.fon > nul 2>&1
    del *.res > nul 2>&1

#*****************************************************************************
#   Specific Description Block Information
#*****************************************************************************

# This section would only be for specific direction as to how to create
# unique elements that are necessary to the build process. This could
# be compiling or assembling, creation of DEF files and other unique
# files.
# If all compiler and assembly rules are the same, use an inference rule to
# perform the compilation.
#

FONTS.OBJ: FONTS.ASM

COURIERI.FON:  $*.RC $*.LNK $*.DEF $(COURIERI) FONTS.OBJ

HELVI.FON:     $*.RC $*.LNK $*.DEF $(HELVI)    FONTS.OBJ

TIMESI.FON:    $*.RC $*.LNK $*.DEF $(TIMESI)   FONTS.OBJ

HELV096B.FON:  $*.RC $*.LNK $*.DEF $(HELV096B) FONTS.OBJ

SYSMONO.FON:   $*.RC $*.LNK $*.DEF $(SYSMONO)  FONTS.OBJ

DSPRES.DLL:    $*.RC $*.LNK $*.DEF $(DSPRES)   FONTS.OBJ


#****************************************************************************
