##############################################################################
# The following variables must be define in the environment for
#  a make to work.
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

!IFNDEF EFI_SOURCE
    error Need to have EFI_SOURCE set to the root of the EFI source tree
!ENDIF

!IFNDEF EFI_MSVCTOOLPATH
    error Need to have EFI_MSVCTOOLPATH set to the root of the EFI source tree
!ENDIF

!IFNDEF EFI_MASMPATH
    error Need to have EFI_MASMPATH set to the path of MASM 6.11
!ENDIF

!IFNDEF INCLUDE
    error NT build needs to have INCLUDE set to standard include files
!ENDIF

!IFNDEF EFI_LIBPATH
    %error NT build needs to have EFI_LIBPATH set to standard lib files
!ENDIF

#
#
#

PROCESSOR=Ia32
BUILD_TOOL=..\tools\bin
BIN_DIR=bin

#
#
#



C_STD_INCLUDE=/X
C_PROJ_FLAGS=/D EFI32 
!IF "$(EFI_DEBUG)" == "YES"
C_PROJ_FLAGS= $(C_PROJ_FLAGS) /D EFI_DEBUG 
!ENDIF
!IF "$(EFI_DEBUG_CLEAR_MEMORY)" == "YES"
C_PROJ_FLAGS= $(C_PROJ_FLAGS) /D EFI_DEBUG_CLEAR_MEMORY
!ENDIF
!IF "$(EFI_BOOTSHELL)" == "YES"
C_PROJ_FLAGS= $(C_PROJ_FLAGS) /D EFI_BOOTSHELL 
!ENDIF
!IF "$(EFI_SPLIT_CONSOLES)" == "YES"
C_PROJ_FLAGS= $(C_PROJ_FLAGS) /D EFI_SPLIT_CONSOLES
!ENDIF

C_BUILD_FLAGS=/nologo /W3 /WX /Gm /GX /Zi /Od /Gf /Gy /FAcs /Fa$*.cod
L_BUILD_FLAGS=/nologo /MACHINE:IX86 /subsystem:console /NODEFAULTLIB /INCREMENTAL:NO /MAP /DEBUG 
LIB_BUILD_FLAGS=/nologo

#
# Ia32 tools
#

CC=cl
LINK=link
LIB=lib
MAKE=nmake -nologo
FWIMAGE=$(BUILD_TOOL)\fwimage
BSCMAKE=bscmake
MASM=$(EFI_MASMPATH)\bin\ml
MASMLINK=$(EFI_MASMPATH)\binr\link
MASM_FLAGS=/c /Fl$*.lst

#
#
#

L_FLAGS=$(L_BUILD_FLAGS) /DLL $(L_PROJ_FLAGS)
C_FLAGS=$(C_BUILD_FLAGS) $(C_STD_INCLUDE) $(C_PROJ_FLAGS) $(INC)
LIB_FLAGS=$(LIB_BUILD_FLAGS) $(LIB_PROJ_FLAGS)

#
# tool path
#

PATH=$(PATH);$(EFI_SOURCE)\tools\bin