#======================================================================
#
# Generic NT Driver Makefile
#
# Created by Mark Russinovich
#
#===================================================================== 
!IF "$(USERNAME)" == "Bryce"
DDK=E:\DDK
MSVC=E:\MSVC20\INCLUDE
NTICE=E:\NTICE
!ELSE
DDK=d:\ntddk
MSVC=k:\compiler\vc41\msdev\include
NTICE=c:\NTICE
!ENDIF

DEBUG=0
DRIVERNAME=filemon
OBJECTS=filemon.obj

all:    $(DRIVERNAME).sys
	copy filemon.sys ..\gui\windebug\.
	copy filemon.sys ..\gui\winrel\.
	copy filemon.sys ..\gui\.
	$(NTICE)\dbg2map $(DRIVERNAME).sys
	$(NTICE)\msym $(DRIVERNAME).map
	$(NTICE)\dldr $(DRIVERNAME).sym

#----------------------------------------------------------------------
#
# Include paths and compiler flags
#
#----------------------------------------------------------------------
INCLUDE=-I. -Ii386\ -I$(DDK)\inc -I$(DDK)\inc\crt -I$(MSVC)
FLAGS=-nologo -DWINVER=0x30A
DEFINES1=-D_X86_=1 -Di386=1 -DSTD_CALL -DCONDITION_HANDLING=1 -DWIN32_LEAN_AND_MEAN=1 -DNT_UP=1 -DNT_INST=0 -DWIN32=100 -D_NT1X_=100
DEFINES2=-Dtry=__try -Dleave=__leave -Dexcept=__except -Dfinally=__finally -D_CRTAPI1=__cdecl -D_CRTAPI2=__cdecl
DEFINES3=-DDBG=$(DEBUG) -Ditoa=_itoa -Dstrcmpi=_strcmpi -Dstricmp=_stricmp -Dwcsicmp=_wcsicmp -Dwcsnicmp=_wcsnicmp
COMPILEFLAGS=/c /Zel /Zp8 /Gy  /W3 /Gz /G4  /Od /Oi /Gf /Oy /W3 /WX /Z7
# debug /Z7

#----------------------------------------------------------------------
#
# Link rule
#
#----------------------------------------------------------------------
$(DRIVERNAME).sys:      $(OBJECTS) 
	link @<<
-OUT:$(DRIVERNAME).SYS
-MACHINE:i386
-MERGE:_PAGE=PAGE 
-MERGE:_TEXT=.text 
-SECTION:INIT,d 
-OPT:REF 
-RELEASE 
-INCREMENTAL:NO 
-FULLBUILD 
-FORCE:MULTIPLE 
-IGNORE:4001,4037,4039,4065,4070,4078,4087,4089 
-PDB:NONE 
-version:3.51 
-debug:notmapped,FULL 
-debugtype:both 
-osversion:3.51 
-MERGE:.rdata=.text 
-align:0x20 
-subsystem:native,3.51 
-base:0x10000 
-entry:DriverEntry@8 
$(OBJECTS)
$(DDK)\lib\i386\checked\ntoskrnl.lib 
$(DDK)\lib\i386\checked\hal.lib 
$(DDK)\lib\i386\checked\int64.lib 
<<

# debug flags
#-debug:notmapped,FULL 
#-debugtype:both 

#----------------------------------------------------------------------
#
# Compile rule
#
#----------------------------------------------------------------------
.c.obj:
	cl $(INCLUDE) $(FLAGS) $(DEFINES1) $(DEFINES2) $(DEFINES3) $(COMPILEFLAGS) $<

#$*.obj 

#----------------------------------------------------------------------
#
# Dependencies
#
#----------------------------------------------------------------------
filemon.obj:    filemon.c filemon.h ioctlcmd.h

