#################################################################################
#                                                                               #
# Makefile for OS/2 MMPM/2 Audio Device Driver Excersicer                       #
#                                                                               #
#   Generates one executables:                                                  #
#         ADDE.exe      - Multimedia Device Driver Exceriser                    #
#                                                                               #
#                                                                               #
#                                                                               #
# Copyright (c) IBM Corporation  1993                                           #
#################################################################################

#
# Set the environmental variables for compiling
#
!if  [SET LIB=..\..\lib;%LIB%]                                || \
     [SET INCLUDE=%INCLUDE%;..\..\h;..\..\inc;]

!endif

.SUFFIXES: .com .sys .exe .obj .mbj .def .lrf .rc .ref \
           .lst .sym .map .c .h .lib .msg .ipf .res

NAMEEXE=PMADDE

#################################
# Target Descriptions
#################################
all: PMADDE.exe PMADDE.HLP PMADDE.RES

reses: PMADDE.res
###########################################################
# Definitions for C Compiler
# Compiler flags:
#    /C+  Compile only
#    /Gd- Static link run time library
#    /Ge- Build a .DLL file
#    /Gm+ Link with multi-threaded version of library
#    /Gs- Remove stack probes
#    /Re  Generate code for C Set/2 run-time environment
#    /J-  Set unspecified char variables to signed char
#    /Kb- Suppress basic diagnostics messages
#    /Ki- Suppress messages about uninitialized variables
#    /Ms  Use SYSTEM linkage for functions
#    /Sm  Allow migration extensions
#    /Sn  Do not allow DBCS
#    /Ss+ Allow double slash format for comments
#    /D   preprocessor macro name INCL_32
###########################################################

CC=icc

###########################################################################
# Definitions for linker
# LIBS:
#    DDE4MBS.LIB - C Set/2 Multi-threaded Standard Library function calls
#    OS2386.LIB  - OS.2 function calls
#    MMPM2.LIB   - MMPM2 function calls
###########################################################################
!ifdef DEBUG
LINK_DEBUG=/CO /DEBUG
C_DEBUG= /Ti+ /O- /Gh
!endif
LINK=link386
MAP = mapsym $(NAMEEXE)
CFLAGS = $(C_DEBUG) /Ss /Ms /Ge+ /Re /Q /G3 /C /Gm+ /DINCL_32
LFLAGS= $(LINK_DEBUG)/nod /map /noe  /PM:PM /packcode /packdata /exepack
LIBS= DDE4MBS.LIB OS2386.lib MMPM2.LIB

#################################
# Object file lists
#################################

OBJS=pmadde.obj \
     pmadspi.obj \
     pmadsubs.obj \
     pmadlex.obj

#################################
# Inference Rules
#################################
.ipf.hlp:
    IPFC .\$*.ipf > $*.err

.c.obj:
        $(CC) $(CFLAGS) $*.C > PMADDE.ERR

###############################
# Resource File
###############################

PMADDE.res: pmadde.rc pmadde.dlg pmadde.h
   rc -r PMADDE.rc >> PMADDE.err

##################################
# pmadde.exe Target Descriptions
##################################
exe: $(NAMEEXE).exe

$(NAMEEXE).exe: $(OBJS) PMADDE.RES makefile $(NAMEEXE).lrf $(NAMEEXE).def
 $(LINK) $(LFLAGS) $(OBJS), pmadde.exe, pmadde, $(LIBS), PMADDE.DEF   >> PMADDE.ERR
 rc pmadde.res  pmadde.exe >> PMADDE.err
 $(MAP)


$(NAMEEXE).lrf: makefile
        @echo Make $(NAMEEXE).LRF file
        @echo $(OBJS)                                    > $(NAMEEXE).lrf
        @echo $(NAMEEXE).exe                             >> $(NAMEEXE).lrf
        @echo $(NAMEEXE).map $(LFLAGS)                   >> $(NAMEEXE).lrf
        @echo $(LIBS)                                    >> $(NAMEEXE).lrf
        @echo $(NAMEEXE).def;                            >> $(NAMEEXE).lrf

$(NAMEEXE).def: makefile
        @echo Make $(NAMEEXE).DEF file
        @echo NAME PMADDE WINDOWAPI                        >  $(NAMEEXE).def
        @echo DESCRIPTION 'Audio Device Driver Excerciser' >> $(NAMEEXE).def
        @echo STUB  'os2stub.exe'                          >> $(NAMEEXE).def
        @echo DATA MULTIPLE NONSHARED                      >> $(NAMEEXE).def
        @echo STACKSIZE 40000                              >> $(NAMEEXE).def
        @echo HEAPSIZE  40000                              >> $(NAMEEXE).def
        @echo PROTMODE                                     >> $(NAMEEXE).def

