######################## Public Options ##########################

EXCHANGE_TIMEOUT = 600000 # 10 Minutes before automatic key exchange, 0=no auto key exchange
EXCHANGE_PACKETS = 10000  # Key Exchange every 1000 packets, 0=no auto key exchange
EXCHANGE_EARLY   = 1      # Start with initial key exchange attempt, 0=don't


############# Private Options (Modify at your own risk) ###########
CCOPTIONS = -D_WIN32_WINNT=0x0400
CCOPTIONS = $(CCOPTIONS) -DKEY_EXCHANGE_EARLY=$(EXCHANGE_EARLY)
CCOPTIONS = $(CCOPTIONS) -DKEY_EXCHANGE_TIMEOUT=$(EXCHANGE_TIMEOUT)
CCOPTIONS = $(CCOPTIONS) -DKEY_EXCHANGE_PACKETS=$(EXCHANGE_PACKETS)

!IFDEF CIPE_DRIVER_MAJOR_VERSION
CCOPTIONS = $(CCOPTIONS) -DCIPE_DRIVER_MAJOR_VERSION=$(CIPE_DRIVER_MAJOR_VERSION)
!ENDIF

!IFDEF CIPE_DRIVER_MINOR_VERSION
CCOPTIONS = $(CCOPTIONS) -DCIPE_DRIVER_MINOR_VERSION=$(CIPE_DRIVER_MINOR_VERSION)
!ENDIF

CP    	= copy # xcopy /r /i
MAKE	= nmake -nologo
BSCMAKE = bscmake
DEL     = del /F /Q
CC      = cl.exe
LD      = link
LDFLAGS = /DEBUG /DEBUGTYPE:CV -nologo -release -machine:x86
LIBC    = msvcrt.lib
LIB_EXT = .lib
OBJ_EXT = .obj
EXE_EXT = .exe
INC     = -I. -I..\cipdrvr

.SUFFIXES: .c .C .cpp .cxx .cc $(OBJ_EXT)

CCSPECIAL = -DWIN32 -D_CONSOLE
CCFLAGS = -GR -GX -Zi -Zp1 -MD -Fd -DDEBUG $(CCOPTIONS) $(CCSPECIAL) # /Fr
LDLOADLIBS = $(LIBC) $(CIPELIBS) oldnames.lib kernel32.lib comdlg32.lib winspool.lib
LDLOADLIBS = $(LDLOADLIBS) gdi32.lib advapi32.lib user32.lib shell32.lib
LDLOADLIBS = $(LDLOADLIBS) netapi32.lib ole32.lib oleaut32.lib uuid.lib
LDLOADLIBS = $(LDLOADLIBS) ws2_32.lib mpr.lib winmm.lib version.lib
LDLOADLIBS = $(LDLOADLIBS) odbc32.lib odbccp32.lib

OBJECTS = main.obj CipeBase.obj CipeEngine.obj CipeServiceBase.obj CipeServiceMgr.obj
OBJECTS = $(OBJECTS) CipeAdapter.obj CipePeer.obj
OBJECTS = $(OBJECTS) CipeGenericIO.obj CipeTapIO.obj CipeSocketIO.obj CipeTaskIO.obj
OBJECTS = $(OBJECTS) CipeEncryptor.obj CipeNullEncryptor.obj CipeBlowfishEncryptor.obj CipeIdeaEncryptor.obj
OBJECTS = $(OBJECTS) blowfish.obj idea.obj crc32.obj

CC = $(CC) -c $(INC) $(CCFLAGS) 

PASTHRU = -nologo

.c$(OBJ_EXT):
	$(CC) $(CCFLAGS) $(DEFINE) $*.c

.cpp$(OBJ_EXT):
	$(CC) $(CCFLAGS) $(DEFINE) $*.cpp

.cxx$(OBJ_EXT):
	$(CC) $(CCFLAGS) $(DEFINE) $*.cxx

.cc$(OBJ_EXT):
	$(CC) $(CCFLAGS) $(DEFINE) $*.cc

all: cipsrvr.exe
	@$(NOOP)

cipsrvr.exe: $(OBJECTS)
	$(LD) $(OBJECTS) $(LDFLAGS) $(LDLOADLIBS) /out:cipsrvr.exe

testing:: all
	-@cipsrvr stop
	-@$(CP) cipsrvr.exe $(MAKEDIR)\..\..\disk1\cipsrvr.exe
	-@$(CP) cipsrvr.exe $(WINDIR)\system32\cipsrvr.exe

realclean:: clean
	-@$(DEL) $(WINDIR)\system32\cipsrvr.exe

clean::
	-@$(DEL) *.obj
	-@$(DEL) *.pdb
	-@$(DEL) *.exe
	-@$(DEL) *.opt
	-@$(DEL) *.tmp
	-@$(DEL) *.log
