home *** CD-ROM | disk | FTP | other *** search
- # SCCSID = src/dev/dasd/os2aspi/makefile, aspi, r206 92/06/26
- #/***********************************************************************/
- #/* */
- #/* Driver Name: OS2ASPI.DMD - OS/2 ASPI Device Manager */
- #/* -------------------------------------- */
- #/* */
- #/* Source File Name: MAKEFILE */
- #/* */
- #/* Descriptive Name: MAKEFILE for OS2ASPI.DMD */
- #/* */
- #/* 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 2.0 ASPI Device Manager
- #
- # You can optionally generate the listing files for the device driver.
- #
- # make [option]
- #
- # option: list -> create listings
- # OS2ASPI.DMD -> create OS2ASPI Device Mgr
- #
- # default: create OS2ASPI.DMD
- #
- # ****** 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 .add .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
- #
-
- #INC = ..\..\..\..\inc
- #H = ..\..\..\..\h
- #LIB = ..\..\..\..\lib
- #TOOLSPATH = ..\..\..\..\..\tools
- #DISKH = ..\..\diskh
- #DHLIB = ..\..\devhelp
- #ADDLIB = ..\..\addcalls
- INC = ..\..\..\..\inc
- H = ..\..\..\..\h
- LIB = ..\..\..\..\lib
- TOOLSPATH = ..\..\..\..\tools
- DISKH = ..\diskh
- DISKINC = ..\diskinc
- DHLIB = ..\devhelp
- ADDLIB = ..\addcalls
-
- HFLAGS= -d -f -w -s
-
- #
- # 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);$(DHLIB);$(ADDLIB)] || [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$(DISKINC) -I$(INC)
- CINC = -I. -I$(H) -I$(DISKH)
- CFLAGS = /c /Zp /Oe /Og /Oc /Ol /Ot /Gs /Oa /Oz /G2s /Answ $(ENV)
- DFLAGS = /c /Zp /G2s /Answ /W3 $(ENV) -DDEBUG
- LFLAGS = /map /nod /exepack /packd /a:16 /far
- RFLAGS = -r
-
- LIBS = $(DHLIB)\dhcalls.lib $(ADDLIB)\addcalls.lib
-
- #****************************************************************************
- # Set up Macros that will contain all the different dependencies for the
- # executables and dlls etc. that are generated.
- #****************************************************************************
-
- #
- # OBJ files
- #
- #OBJ1 = ASPISEGS.OBJ ASPIDATA.OBJ ASPISTR1.OBJ aspiasub.OBJ
- OBJ1 = ASPISEGS.OBJ ASPIDATA.OBJ ASPISTR1.OBJ aspisrb.obj
- OBJ2 = ASPIASUB.OBJ ASPIVIRT.OBJ ASPIINIT.OBJ CMDPARSE.OBJ
- OBJ3 =
- #
- # Debug files
- #
- DBJ1 =
- DBJ2 =
- DBJ3 =
- #
- # LIST Files
- #
- #LST1= ASPISEGS.LST ASPIDATA.COD ASPISTR1.COD ASPISRB.COD
- LST1= ASPISEGS.LST ASPIDATA.LST ASPISTR1.LST ASPISRB.LST
- LST2= aspiasub.LST ASPIVIRT.LST aspiinit.lst CMDPARSE.LST
- LIST= $(LST1) $(LST2) $(LST3)
- OBJS = $(OBJ1) $(OBJ2) $(OBJ3)
- DBJS = $(DBJ1) $(DBJ2) $(DBJ3)
-
- #****************************************************************************
- # Setup the inference rules for compiling and assembling source code to
- # obejct 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.dbj:
- $(CC) $(DFLAGS) $(CINC) $*.c
-
- .c.lst:
- $(CC) $(CFLAGS) /Fc $(CINC) $*.c
- copy $*.cod $*.lst
- del $*.cod
-
- .h.inc:
- H2INC $(HFLAGS) $*.h -o $*.inc
-
-
- #****************************************************************************
- # 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
- #
-
- !include "$(H)\version.mak"
-
- #
- # Should be the default tag for all general processing
- #
-
- all: os2aspi.dmd
-
- inc:
-
- 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 *.tff del *.tff
- if exist *.cod del *.cod
- if exist *.add del *.add
-
-
- #****************************************************************************
- # OBJ dependant rules for compiling and assembling source code
- #****************************************************************************
-
-
- #*****************************************************************************
- # 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.
- #
-
- os2aspi.dmd: $(OBJS) $(LIBS) makefile
- Rem Create DEF file <<$*.def
- LIBRARY OS2ASPI
-
- DESCRIPTION "$(FILEVER) OS/2 ASPI Device Manager"
-
- PROTMODE
-
- SEGMENTS
- AspiHeader CLASS 'DATA'
- CONST CLASS 'CONST'
- _BSS CLASS 'BSS'
- LIBDATA CLASS 'DATA'
- _DATA CLASS 'DATA'
- 'CODE' CLASS 'CODE' IOPL
- _TEXT CLASS 'CODE' IOPL
- LIBCODE CLASS 'CODE' IOPL
-
-
- <<keep
- $(LINK) $(LFLAGS) @<<$(@B).lnk
- $(OBJ1) +
- $(OBJ2) +
- $(OBJ3)
- $*.dmd
- $*.map
- $(LIBS)
- $*.def
- <<keep
- $(MAPSYM) $*.map
-
-
-
- #****************************************************************************
-