# VSD is where Microsoft Visual Studio lives within "Program Files"
#     (c:\progra~1\), often micros~3. We need to use short file names,
#     because MAKE doesn't like spaces in filenames.
#
# This makefile is for use with
##   Visual Studio .NET 2003 (a.k.a. VC++ 7.0 or VS7)
#
#VSD = micros~1.net
#MSDK= mi2578~1
#
#VCCDIR = c:\progra~1\$(VSD)\vc7
#VSCDIR = c:\progra~1\$(VSD)\Common7\tools\bin
#SDKLIB = c:\progra~1\$(MSDK)\Windows\v7.0\lib
#SDKINC = c:\progra~1\$(MSDK)\Windows\v7.0\Include

##   Visual Studio Express 2012 (a.k.a. VC++ 11.0) on Win8
#
VSD = micros~1.0
#
VCCDIR = c:\progra~2\$(VSD)\vc
VSCDIR = c:\progra~2\wi3cf2~1\8.0\bin\x86
SDKLIB = c:\progra~2\wi3cf2~1\8.0\Lib\win8\um\x86
SDKINC = c:\progra~2\wi3cf2~1\8.0\Include\um


CC   = $(VCCDIR)\bin\cl

CC   = $(VCCDIR)\bin\cl
RM   = rm
RC   = $(VSCDIR)\rc
#LINK = $(VCCDIR)\bin\link
LINK = $(VCCDIR)\bin\link
LIBS = WpDPack\Lib\wpcap.lib WpDPack\Lib\packet.lib \
       $(VCCDIR)\lib\libcmt.lib \
       $(VCCDIR)\lib\libcpmt.lib \
       $(VCCDIR)\lib\msvcrt.lib \
       $(SDKLIB)\ws2_32.lib \
       $(SDKLIB)\iphlpapi.lib \
       $(SDKLIB)\kernel32.lib \
       $(VCCDIR)\lib\oldnames.lib


CFLAGS = /W3 /DEBUG /MT -DWIN32 -I $(VCCDIR)\Include -I $(SDKINC)

.c.obj:
	$(CC) $(CFLAGS) -c $<

.cpp.obj:
	$(CC) $(CFLAGS) -c $<

.c.i:
	$(CC) -P $(CFLAGS) $<

SRCS = ucon.c afartime.c afar_pfc.c cio.c cmd_loop.cpp connect.c \
       discover.c econcmds.c \
       epacket.c econsort.c econ_trc.c parser.cpp screen.c \
       show.c util.c win32_cio.c win32_adapter.c win32_threads.c  bld_data.c \
       afarutil.c 

OBJS		= ucon.obj afartime.obj afar_pfc.obj cio.obj cmd_loop.obj \
                  connect.obj \
		  discover.obj epacket.obj econcmds.obj econsort.obj \
                  econ_trc.obj parser.obj screen.obj \
		  show.obj util.obj win32_adapter.obj win32_cio.obj \
		  win32_threads.obj bld_date.obj afarutil.obj

OBJS_OEM	= ucon.obj afartime.obj afar_pfc.obj cio.obj cmd_loop.obj \
                  connect.obj \
		  discover.obj epacket.obj econcmds.obj econsort.obj \
                  econ_trc.obj parser.obj screen.obj \
		  show.obj util_oem.obj win32_adapter.obj win32_cio.obj \
		  win32_threads.obj bld_date.obj afarutil.obj

OBJS_W2K	= ucon.obj afartime.obj afar_pfc.obj cio.obj cmd_loop.obj \
                  connect.obj \
		  discover.obj epacket.obj econcmds.obj econsort.obj \
                  econ_trc.obj parser.obj screen.obj \
		  show.obj util.obj win32_adap_w2k.obj win32_cio.obj \
		  win32_threads.obj bld_date.obj afarutil.obj

all: econ

econ: econ.exe econ_oem.exe econ_w2k.exe

econ.exe: $(OBJS) econ.res
	$(CC) $(CFLAGS) -c bld_date.c
        $(LINK) /DEBUG /INCREMENTAL:NO /OUT:econ.exe $(OBJS) $(LIBS) econ.res /NODEFAULTLIB:LIBC.LIB /MAP:econ.map

econ_oem.exe: $(OBJS_OEM)
	$(CC) $(CFLAGS) -c bld_date.c
        $(LINK) /DEBUG /INCREMENTAL:NO /OUT:econ_oem.exe $(OBJS_OEM) $(LIBS) /NODEFAULTLIB:LIBC.LIB /MAP:econ_oem.map

econ_w2k.exe: $(OBJS_W2K)
	$(CC) $(CFLAGS) -c bld_date.c
        $(LINK) /DEBUG /INCREMENTAL:NO /OUT:econ_w2k.exe $(OBJS_W2K) $(LIBS) /NODEFAULTLIB:LIBC.LIB /MAP:econ_w2k.map

econ.res: ucw.ico econ.rc
        $(RC) /v econ.rc

win32_adap_w2k.obj: win32_adapter.c adapter.h epacket.h pcap_w31b4.h ucon.h \
	 util.h windows_threads.h
	$(CC) $(CFLAGS) -DWIN2K /Fowin32_adap_w2k.obj /c win32_adapter.c

clean:
	@--$(RM) *.exe *.obj *.res

### OPUS MKMF:  Do not remove this line!  Generated dependencies follow.

ucon.obj: adapter.h afartype.h cio.h epacket.h ucon.h util.h

cmd_loop.o: cmd_loop.cpp afartype.h parser.h ucon.h

cio.obj: afartype.h cio.h cio_linux.h cio_windows.h epacket.h ucon.h util.h

connect.obj: afartype.h cio.h epacket.h linux_threads.h parser.h uciosess.h \
	 ucon.h util.h win_emul.h

discover.obj: adapter.h afartype.h epacket.h eprotocol.h parser.h uciosess.h \
	 ucon.h util.h

econcmds.obj: afartype.h parser.h uciosess.h

epacket.obj: adapter.h afartype.h cio.h epacket.h eprotocol.h ucon.h util.h \
	 win_emul.h

util.obj: adapter.h afartype.h cio.h epacket.h eprotocol.h ucon.h util.h \
	 win_emul.h

util_oem.obj: util.c adapter.h afartype.h cio.h epacket.h eprotocol.h ucon.h \
	 util.h win_emul.h
        copy util.c util_oem.c
	$(CC) $(CFLAGS) -DOEM -c util_oem.c

win32_adapter.obj: adapter.h epacket.h pcap_w31b4.h ucon.h \
	 util.h windows_threads.h

parser.obj: parser.cpp afartype.h parser.h uciosess.h

screen.obj: afartype.h parser.h uciosess.h
