HOME = c:\project\ezbc\mc_ezbc_v1\MC_EZBC
TSUB = $(HOME)\TempSub
DEBUG = $(HOME)\TempSub
VPATH = $(TSUB) $(DEBUG)

#BIN = z:\MC_EZBC\bin
BIN = $(HOME)\bin


CC = "CL" 
LIB = "c:\Program Files\Microsoft Visual Studio\VC98\Bin\LIB"
LINK = "LINK"
Inc32 = "c:\Program Files\Microsoft Visual Studio\VC98\Include"
Lib = "c:\Program Files\Microsoft Visual Studio\VC98\Lib" 
#DLL = "c:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin"

OPT_DEBUG   = -DEBUG      -Od -Zi -Gm
OPT_RELEASE = -D "NDEBUG" -Og -O2

OPT =  $(OPT_DEBUG) /TP  -MLd -W3 -GX     -D "WIN32" \
          -D "_CONSOLE" -D "_MT" -D "_DLL" -D "_X86" 


#OPT =  /TP  -MLd -W3 -Gm -GX -Zi -Od   -D "WIN32" \
#       -D "_DEBUG"   -D "_CONSOLE" -D "_MT" -D "_DLL" -D "_X86" 


INC = -I$(HOME)\TempSub -I$(HOME)\Utils -I$(HOME)\EZBC0a -I$(Inc32)


CCFLAGS = $(OPT) $(INC)


linkflags= \
 /WARN:3  /subsystem:console  /incremental:yes \
  /machine:I386 /pdbtype:sept  /debug 







LDIR =    msvcrt.lib /nodefaultlib:libcd.lib 
#LDIR =  msvcrtd.lib  /nodefaultlib:libcd.lib 


#-LIBPATH:$(Lib) gdi32.lib winspool.lib comdlg32.lib advapi32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib shell32.lib user32.lib kernel32.lib



.cpp.obj:
	$(CC) -c $(CCFLAGS)  $*.cpp

.c.obj:
	$(CC) -c $(CCFLAGS)  $*.c

##################################################
all : 3DSBCen 3DSBCde PULL 



3DSBCen = $(DEBUG)\encoderN.obj    $(DEBUG)\init_encN.obj  $(DEBUG)\initN.obj    $(DEBUG)\memoryN.obj   $(DEBUG)\bmeN.obj   $(DEBUG)\bme_pruneN.obj\
          $(DEBUG)\bme_pruneN2.obj $(DEBUG)\FME.obj        $(DEBUG)\arcodemv.obj $(DEBUG)\ioN.obj       $(DEBUG)\dpxio.obj  $(DEBUG)\chrom.obj\
   	    $(DEBUG)\miscN.obj         $(DEBUG)\mctfN.obj      $(DEBUG)\lifting.obj  $(DEBUG)\pstatN.obj   $(DEBUG)\mvcodingN.obj $(DEBUG)\dataio.obj $(DEBUG)\showtime.obj\
 	    $(DEBUG)\cnv_data_4_1.obj $(DEBUG)\ras_util.obj    $(DEBUG)\unix_pc.obj    $(DEBUG)\subband.obj  $(DEBUG)\util_filtering.obj $(DEBUG)\spatial.obj $(DEBUG)\display.obj  \
          $(HOME)\lib\3d_ezbc0a.lib 

3DSBCde = $(DEBUG)\decoderN.obj    $(DEBUG)\init_decN.obj  $(DEBUG)\initN.obj      $(DEBUG)\memoryN.obj   $(DEBUG)\bmeN.obj   $(DEBUG)\bme_pruneN.obj \
          $(DEBUG)\bme_pruneN2.obj $(DEBUG)\FME.obj        $(DEBUG)\ioN.obj        $(DEBUG)\dpxio.obj     $(DEBUG)\miscN.obj\
	      $(DEBUG)\mctfN.obj       $(DEBUG)\lifting.obj    $(DEBUG)\pstatN.obj     $(DEBUG)\mvcodingN.obj  $(DEBUG)\dataio.obj    $(DEBUG)\showtime.obj\
      	  $(DEBUG)\cnv_data_4_1.obj $(DEBUG)\ras_util.obj    $(DEBUG)\unix_pc.obj    $(DEBUG)\subband.obj    $(DEBUG)\util_filtering.obj $(DEBUG)\spatial.obj \
		  $(DEBUG)\arcodemv.obj    $(DEBUG)\display.obj    $(DEBUG)\chrom.obj  \
          $(HOME)\lib\3d_ezbc_dec0a.lib

PULL = $(DEBUG)\pull.obj     $(DEBUG)\dataio.obj   $(DEBUG)\ioN.obj       $(DEBUG)\miscN.obj      $(DEBUG)\dpxio.obj $(DEBUG)\unix_pc.obj \
       $(DEBUG)\cnv_data_4_1.obj $(DEBUG)\ras_util.obj $(DEBUG)\chrom.obj    $(DEBUG)\memoryN.obj   $(DEBUG)\mvcodingN.obj \
	   $(DEBUG)\arcodemv.obj $(DEBUG)\bitalloc.obj $(DEBUG)\util_filtering.obj

YVU2YUV	= $(DEBUG)\yvu2yuv.obj  
#-----------------------------------------------------------------------------
3DSBCde: $(3DSBCde)
	$(LINK) $(3DSBCde) -out:$(BIN)\3DSBCde.exe $(LDIR) /pdb:"$(DEBUG)\3DSBCde.pdb" $(linkflags) 


3DSBCen:$(3DSBCen)
	$(LINK) $(3DSBCen) -out:$(BIN)\3DSBCen.exe $(LDIR) /pdb:"$(DEBUG)\3DSBCen.pdb" $(linkflags)

pull: $(PULL)
	$(LINK) $(PULL) -out:$(BIN)\pull.exe $(LDIR) /pdb:"$(DEBUG)\pull.pdb" $(linkflags) 


# ----------------------------------------------------------------------
clean:
	rm -f $(DEBUG)\*.obj
clear:
	rm -f $(DEBUG)\*.obj

