!UNDEF _CRTDBG_MAP_ALLOC
!ENDIF
+# Limit default include and library directories to those specified for build.
+
+!IFNDEF AFSDEV_INCLUDE
+!ERROR Must define AFSDEV_INCLUDE to be the default include directories.
+!ENDIF
+
+!IF ((!DEFINED(INCLUDE)) && ([set INCLUDE=$(AFSDEV_INCLUDE)] != 0))
+# If env. var. INCLUDE not defined then macro assignment won't set it.
+!ERROR Failed setting environment variable INCLUDE.
+!ENDIF
+INCLUDE = $(AFSDEV_INCLUDE)
+
+
+!IFNDEF AFSDEV_LIB
+!ERROR Must define AFSDEV_LIB to be the default library directories.
+!ENDIF
+
+!IF ((!DEFINED(LIB)) && ([set LIB=$(AFSDEV_LIB)] != 0))
+# If env. var. LIB not defined then macro assignment won't set it.
+!ERROR Failed setting environment variable LIB.
+!ENDIF
+LIB = $(AFSDEV_LIB)
+
#define used in WinNT/2000 installation and program version display
-AFSPRODUCT_VERSION=1.2.11
-AFSPRODUCT_FILE_VERSION=1,2,1100,0
+AFSPRODUCT_VERSION=1.3.51
+AFSPRODUCT_FILE_VERSION=1,3,5100,0
CELLNAME_DEFAULT=Your Cell Name
CELLSERVDB_INSTALL=CellServDB.GrandCentral
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
!IF ("$(AFS_OBJDIR)"=="")
######### AFS_OBJDIR is NOT used use default locations
! IF ("$(AFSDEV_BUILDTYPE)" == "CHECKED")
-DESTDIR=$(AFSROOT)\$(OBJ)\$(DEST)\checked
-OJT=$(MAKEDIR:src=obj\checked)
+DESTDIR=$(AFSROOT)\$(DEST)\checked
+OJT=$(AFSROOT)\$(OBJ)\checked
! ELSE
-DESTDIR=$(AFSROOT)\$(OBJ)\$(DEST)\free
-OJT=$(MAKEDIR:src=obj\free)
+DESTDIR=$(AFSROOT)\$(DEST)\free
+OJT=$(AFSROOT)\$(OBJ)\free
! ENDIF
UTIL_CR = $(DESTDIR)\bin\util_cr.exe
!ELSE
! ENDIF
!ENDIF #AFS_OBJDIR
-!MESSAGE Directory assignments: OJT=[$(OJT)] DESTDIR=[$(DESTDIR)]
+!IF ("$(RELDIR)"=="")
+OUT=$(OJT)
+!ELSE
+OUT=$(OJT)\$(RELDIR)
+!ENDIF
+
+!MESSAGE Directory assignments:
+!MESSAGE OJT=[$(OJT)]
+!MESSAGE OUT=[$(OUT)]
+!MESSAGE DESTDIR=[$(DESTDIR)]
# Definitions provided here are based on WIN32.MAK, a common nmake
# file included with the MS SDK and MS VC distributions.
# WIN32.MAK, and this nmake file, are targeted to the MSVC compiler;
# port this nmake file if additional compiler support is required.
-!IF ("$(AFSVER)"=="1300")
+!IF ("$(AFSVER_CL)"=="1300")
afslflags = $(afslflags) /DEBUG
!ENDIF
APPVER=4.0
!ENDIF
-!UNDEF NODEBUG
+
!INCLUDE <WIN32.MAK>
# Common clean target.
clean::
- $(DEL) /q $(OJT)\*.obj $(OJT)\*.lib $(OJT)\*.dll $(OJT)\*.exe $(OJT)\*.pdb
- $(DEL) /q $(OJT)\*_component_version_number.* *_component_version_number.*
+ $(DEL) /q $(OUT)\*.obj $(OUT)\*.lib $(OUT)\*.dll $(OUT)\*.exe $(OUT)\*.pdb
+ $(DEL) /q $(OUT)\*_component_version_number.* *_component_version_number.*
# Common lang target.
lang::
-DWIN32_LEAN_AND_MEAN \
-DSTRICT \
-D_WIN32_IE=0x0400 \
+ -D_WIN32_WINNT=0x0400 \
-DAFS_AFSDB_ENV \
-DAFS_FREELANCE_CLIENT \
-DAFS_64BIT_ENV \
afscflags = $(afscflags) /Ox
cdebug = $(cdebug:-Od=) # avoid annoying override warning (D4025)
cvarsdll = $(cvarsdll:-MDd=-MD)
+NODEBUG=1
!ELSE # CHECKED BUILD
afscflags = $(afscflags) -D_DEBUG -D_CRTDBG_MAP_ALLOC
!ENDIF
+!UNDEF NODEBUG
!ENDIF
# Set compiler warning level
C2OBJ = $(cc) /Fo$@ /Fd$*.pdb $(cflags) $(cdebug) $(cvarsdll) $(afscflags) $(afscdefs) /c
CPP2OBJ = $(C2OBJ)
# Inference rules for building and installing targets
-# Compile .c files, from current directory to defined by OJT
+# Compile .c files, from current directory to defined by OUT
.SUFFIXES: .c .rc
-.c{$(OJT)\}.obj:
+.c{$(OUT)\}.obj:
$(C2OBJ) $<
.c.obj:
$(C2OBJ) $<
-.cpp{$(OJT)\}.obj:
+.cpp{$(OUT)\}.obj:
$(CPP2OBJ) $<
-.rc{$(OJT)\}.res:
- $(RC) /fo$(OJT)\$(<B).res $<
+.rc{$(OUT)\}.res:
+ $(RC) /fo$(OUT)\$(<B).res $<
# Compile .rc (resource) files
#.rc.res:
afscflags = $(afscflags) /Od /Zi
!IFDEF VADUMP
+!IF ("AFSVER_CL"=="1200")
ldebug = $(ldebug) -debugtype:both
ldebug = $(ldebug:-debugtype:cv=)
!ENDIF
+!ENDIF
!IFNDEF _CRTDBG_MAP_ALLOC
mfclflags = $(mfclflags) /NODEFAULTLIB:msvcrtd.lib
mfcdlllflags = $(mfcdlllflags) /NODEFAULTLIB:msvcrtd.lib
-#v6.0 doesn't work using msvcrtd.lib unless _CRTDBG_MAP_ALLOC is defined, v7.0 requires it
+#v6.0 doesn't work using msvcrtd.lib unless _CRTDBG_MAP_ALLOC is defined, v7.0 requires it
!IF ("$(AFSVER_CL)"=="1200")
EXEMFCLINK=$(EXEMFCLINK:/NODEFAULTLIB:msvcrtd.lib=)
DLLMFCLINK=$(DLLMFCLINK:/NODEFAULTLIB:msvcrtd.lib=)
!ENDIF
!ELSE
-mfclflags = $(mfclflags) /NODEFAULTLIB:msvcrt.lib
-mfcdlllflags = $(mfcdlllflags) /NODEFAULTLIB:msvcrt.lib
+mfclflags = $(mfclflags) /NODEFAULTLIB:msvcrtd.lib
+mfcdlllflags = $(mfcdlllflags) /NODEFAULTLIB:msvcrtd.lib
conlibsdll = $(conlibsdll:msvcrt.lib=msvcrtd.lib)
guilibsdll = $(guilibsdll:msvcrt.lib=msvcrtd.lib)
!ENDIF
# EXE link macro for console applications
-EXECONLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(conlflags) $(afslflags) $(conlibsdll) Advapi32.lib user32.lib version.lib $**
+EXECONLINK = $(link) /OUT:$@ /DEBUG /PDB:$*.pdb $(ldebug) $(conlflags) $(afslflags) $(conlibsdll) Advapi32.lib user32.lib version.lib $**
# EXE link macro for GUI applications
-EXEGUILINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(guilflags) $(afslflags) $(guilibsdll) $**
+EXEGUILINK = $(link) /OUT:$@ /DEBUG /PDB:$*.pdb $(ldebug) $(guilflags) $(afslflags) $(guilibsdll) $**
# EXE link macro for MFC applications
-EXEMFCLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(mfclflags) $(afslflags) $(mfclibsdll) $**
+EXEMFCLINK = $(link) /OUT:$@ /DEBUG /PDB:$*.pdb $(ldebug) $(mfclflags) $(afslflags) $(mfclibsdll) $**
# DLL link macro for console applications
-DLLCONLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(dlllflags) $(afslflags) $(conlibsdll) $**
+DLLCONLINK = $(link) /OUT:$@ /DEBUG /PDB:$*.pdb $(ldebug) $(dlllflags) $(afslflags) $(conlibsdll) $**
# DLL link macro for GUI applications
-DLLGUILINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(dlllflags) $(afslflags) $(guilibsdll) $**
-EXECONLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(conlflags) $(afslflags) $(conlibsdll) Advapi32.lib user32.lib version.lib $**
-DLLMFCLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(mfcdlllflags) $(afslflags) $(mfclibsdll) $**
+DLLGUILINK = $(link) /OUT:$@ /DEBUG /PDB:$*.pdb $(ldebug) $(dlllflags) $(afslflags) $(guilibsdll) $**
+EXECONLINK = $(link) /OUT:$@ /DEBUG /PDB:$*.pdb $(ldebug) $(conlflags) $(afslflags) $(conlibsdll) Advapi32.lib user32.lib version.lib $**
+DLLMFCLINK = $(link) /OUT:$@ /DEBUG /PDB:$*.pdb $(ldebug) $(mfcdlllflags) $(afslflags) $(mfclibsdll) $**
# DLL link macro for resource-only DLLs
!ENDIF
# Lex/Yacc macros
-LEX =1.2.2 a
+LEX = flex -l
YACC = bison