# SCCSID = @(#)makefile 6.6 92/05/04

#/***********************************************************************/
#/*                                                                     */
#/* Driver Name: MITFX001.ADD - Mitsumi CD-ROM Adapter Driver           */
#/*              -----------------------------------------              */
#/*                                                                     */
#/* Source File Name: MAKEFILE                                          */
#/*                                                                     */
#/* Descriptive Name: MAKEFILE for the Mitsumi CD-ROM Adapter Driver    */
#/*                                                                     */
#/* Function:                                                           */
#/*                                                                     */
#/*                                                                     */
#/*---------------------------------------------------------------------*/
#/*                                                                     */
#/* Copyright (C) 1992 IBM Corporation                                  */
#/*                                                                     */
#/* DISCLAIMER OF WARRANTIES.  The following [enclosed] code is         */
#/* provided to you solely for the purpose of assisting you in          */
#/* the development of your applications. The code is provided          */
#/* "AS IS", without warranty of any kind. IBM shall not be liable      */
#/* for any damages arising out of your use of this code, even if       */
#/* they have been advised of the possibility of such damages.          */
#/*                                                                     */
#/*---------------------------------------------------------------------*/
#/*                                                                     */
#/* Change Log                                                          */
#/*                                                                     */
#/* Mark    Date      Programmer  Comment                               */
#/* ----    ----      ----------  -------                               */
#/* @nnnn   mm/dd/yy  NNN                                               */
#/*                                                                     */
#/*                                                                     */
#/***********************************************************************/

#
#       makefile for OS/2 Mitsumi Adapter Device Driver
#
#       You can optionally generate the listing files for the device driver.
#
#          make  [option]
#
#            option:     list         -> create listings
#                        mitfx001.add -> create retail driver
#
#            default:  create mitfx001.add
#
# ******  NOTE  ******
#
#        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:
.SUFFIXES: .com .sys .exe .obj .mbj .asm .inc .def .lnk .lrf .crf .ref
.SUFFIXES: .lst .sym .map .c .h .lib

#****************************************************************************
#  Environment Setup for the component(s).
#****************************************************************************

#
# Conditional Setup Area and User Defined Macros
#

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

DOSINC = ..\..\..\..\dos\dosinc
INIT   = ..\..\..\..\dos\init
TASK   = ..\..\..\..\dos\task
INC    = ..\..\..\..\..\inc
H      = ..\..\..\..\..\h
RMH    = ..\..\..\resource\rsm_h 
LIB    = ..\..\..\..\..\lib
RMLIB  = ..\..\..\resource\rmcalls
TOOLSPATH = ..\..\..\..\..\tools
DISKH  = ..\..\diskh
DASDH  = ..\..\os2dasd
DHLIB  = ..\..\devhelp
CDROMH = ..\..\cdrom\os2cdrom

#
# 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=$(DOSINC);$(INIT);$(TASK);$(INC)] || \
   [set LIB=$(LIB);$(DHLIB)] || [set PATH=$(TOOLSPATH);$(DK_TOOLS)]
!endif


#
# Compiler/tools Macros
#

AS=masm
CC=cl
IMPLIB=implib
IPF=ipfc
LIBUTIL=lib
LINK=link
MAPSYM=mapsym
RC=rc

#
# Compiler and Linker Options
#

AFLAGS = -MX -T -Z $(ENV)
AINC   = -I. -I$(DOSINC) -I$(INIT) -I$(TASK) -I$(INC)
CINC   = -I$(DASDH) -I$(H) -I$(DASDH) -I$(CDROMH) -I$(DISKH) -I$(MAKEDIR) -I$(RMH)
#CFLAGS = /c /Zp /G2s /Answ  $(ENV)
CFLAGS  = /c /Asfw /Zpl /Oti /W2 /G2s /I. /DTRACE /nologo
#LFLAGS = /map /nod /exepack /packd /a:16 /far
LFLAGS = /A:16 /M:FULL /NOD /NOL
RFLAGS = -r

LIBS  =  $(LIB)\clibcep.lib $(RMLIB)\rmcalls.lib
DEF02 =  mitfx001.def

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

#
#
#

OBJ1 =  devhelp.obj
OBJ2 =  cdinit.obj drvcmd.obj cdready.obj proccdb.obj cdasic.obj
#OBJ3 =  ..\..\libobj\afuldiv.obj ..\..\libobj\afulrem.obj \
#OBJ3 =  ..\..\libobj\anlmul.obj  ..\..\libobj\anuldiv.obj \
#        ..\..\libobj\anulrem.obj


#
#       LIST Files
#
LIST=   devhelp.lst \
        cdinit.lst drvcmd.lst cdready.lst proccdb.lst


#OBJS = $(OBJ1) $(OBJ2) $(OBJ3)
OBJS = $(OBJ1) $(OBJ2)

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


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

.asm.mbj:
        $(AS) $(AFLAGS) -DMMIOPH $(AINC) $*.asm $*.mbj;

.asm.lst:
        $(AS) -l -n $(AFLAGS) $(AINC) $*.asm;

.c.obj:
        $(CC) $(CFLAGS) $(CINC) $*.c

.c.lst:
        $(CC) $(CFLAGS) /Fc $(CINC) $*.c
        copy $*.cod $*.lst
        del $*.cod


#****************************************************************************
#   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:    mitfx001.add

list: $(LIST)

clean:
        if exist *.lnk  del *.lnk
        if exist *.obj  del *.obj
        if exist *.mbj  del *.mbj
        if exist *.map  del *.map
        if exist *.old  del *.old
        if exist *.lst  del *.lst
        if exist *.lsd  del *.lsd
        if exist *.sym  del *.sym
        if exist *.sys  del *.sys
        if exist *.dmd  del *.dmd
        if exist *.tff  del *.tff


#*****************************************************************************
#   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.
#

mitfx001.add:  $(OBJS) $(DEF02) $(LIBS)  makefile
        $(LINK) $(LFLAGS) @<<$(@B).lnk
$(OBJ1) +
$(OBJ2)
$*.add
$*.map
$(LIBS)
$(DEF02)
<<keep
             $(MAPSYM) $*.map
#            trcust $*.tsf



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