2025-04-27 07:49:33 -04:00

148 lines
3.4 KiB
Makefile

# RATDefs.mak - Sets default build options for RATS modules.
#
# RATS definitions makefile to be used with ratbuild.mak
# See \\dc\rats\src\rats.15\testsrc\template for usage example.
#
# rossw
#
# Copyright 1993. Microsoft Corporation.
#
############### INPUT MACROS
# TARGETTYPE type of module, can be exe, or dll (exe)
# O_CC_USER C Compliler options to add to standard
# O_L_USER Linker options to add to standard
# O_RC_USER Resource compiler options to add to standard
# LIB_USER Additional non-standard libraries to use
# DEBUG Define this to build debug version
# BROWSE Define this as a file name to generate browse info into that name
# MODEL Memory model (S=small, M=medium)
############# Output macros
# COMPILE command to compile a .c file
# TARGETEXT extension of module (dll or exe)
!IFNDEF MODULENAME
!ERROR MODULENAME must be defined
!ENDIF
!IFNDEF WINVER
WINVER=31
!ENDIF
!IFNDEF RATSROOT
RATSROOT=\awrats\rats
!ENDIF
#first set defaults, overide with environment variables
!if "$(DEBUG)" != "0"
DEBUG=YES
!endif
!IF "$(TargetEnvironment)" == "WINPROC"
BD = .^\winproc
!ELSE
BD = .^\ifaxos
!ENDIF
!ifndef MemModel
!if "$(MODEL)" == ""
MemModel=M
!else
MemModel=$(MODEL)
!endif
!endif
DEF_FILE=$(MODULENAME).def
RC_FILE=$(MODULENAME).rc
SRCS=$(MODULENAME).c
MASM510=YES
#*** target for determining existence of build directory
!IFDEF BD
BD_EXIST=INITBD
#BD_EXIST=$(BD)^\com1
BD_EXIST2=
#BD_EXIST2= .\com1
!ENDIF
!IFNDEF IAM_RATSUTIL
TARGETDIR = .\BIN\W16V$(WINVER)
!ELSE
TARGETDIR = ..\..\bin\w16v$(WINVER)
!ENDIF
#resource dependencies
#RES_DEPEND=$(MODULENAME).h
RESOURCES= $(RC_FILE) $(RES_DEPEND)
!IFNDEF TARGETTYPE
TARGETTYPE=DYNLINK
!ENDIF
!IFDEF WINPROC
LIB_RATS= rasta xcalls ratsutil rats_eng timerwin
!ELSE
LIB_RATS= rasta xcalls ratsutil rats_eng timerwin
!ENDIF
######### now set up command switches
!IFDEF BROWSE ## optionally add compiler switch to generate browse info
O_CC_Browse=/FR$(BrowseDir)\$(<B)
BROWSE_TARGET=$(BROWSE)
BRFLAGS = /o $(BROWSE_TARGET) /Es
BrowseDir=$(BD)
InitBrowseDir=$(BrowseDir)\com1
BROWSEES=$(OBJECTS:.obj=.sbr)
!ENDIF
RC_FILE=$(MODULENAME).rc
!IF ("$(TARGETTYPE)"=="DYNLINK")
TARGETEXT=dll
!ELSE
TARGETEXT=exe
!ENDIF
!IF "$(TARGETEXT)" == "exe"
O_CC_GEN= /nologo /BATCH -DWIN16 -DWIN$(WINVER)
LIBS= $(LIB_USER) LIBW.LIB $(MemModel)LIBCEW
!ELSE
O_CC_GEN= /nologo /BATCH -DWIN16 -DWIN$(WINVER)
LIBS= $(LIB_USER) LIBW.LIB $(MemModel)DLLCEW
!ENDIF
##############################################
# to mainatane comaptibility with masm pre6.00
# use the compatibility driver masm.exe
# This is how you redfine the default nmake macros so
# that it will compile it the way you want it to
#
# 19-Dec-1991 Jonle
#
AS = masm
AFLGS = -Mx -W2 -DWIN16 -DWIN$(WINVER)
MASM_BUILD=$(AS) $(@B) -Zi -W2 ,$@;
O_CC_DEBUG= /FPc
O_CC_RETAIL=/Ow /FPc
O_L_GEN= /BATCH /MAP /NOD /NOE /align:16
O_L_DEBUG= /CO
!IF "$(DEBUG)" != "0"
#COMPFLGS= $(O_CC_GEN) $(O_CC_DEBUG) $(O_CC_USER) /NT $(*F)_TEXT $(O_CC_Browse)
COMPFLGS= $(O_CC_GEN) $(O_CC_DEBUG) /NT $(*F)_TEXT $(O_CC_Browse)
O_L_GEN= $(O_L_GEN) $(O_L_DEBUG) $(O_L_USER)
!ELSE
#COMPFLGS= $(O_CC_GEN) $(O_CC_RETAIL) $(O_CC_USER) /NT $(*F)_TEXT $(O_CC_Browse)
COMPFLGS= $(O_CC_GEN) $(O_CC_RETAIL) /NT $(*F)_TEXT $(O_CC_Browse)
O_L_GEN= $(O_L_GEN) $(O_L_USER)
!ENDIF