PROGRAM = ../omm.exe

OMPOPT = /openmp
AVX    = /wd4752

OBJS    =          \
Main.obj           \
input.obj          \
monitor.obj        \
wiregrid.obj       \
allocfree.obj      \
solve.obj          \
zmatrix.obj        \
rhsvector.obj      \
planewave.obj      \
cholesky.obj       \
cdot.obj           \
zfeed.obj          \
writeout.obj       \
readout.obj        \
outputlog.obj      \
plot3dGeom.obj     \
post.obj           \
nearfield.obj      \
farfield.obj       \
outputFar0d.obj    \
outputFar1d.obj    \
outputFar2d.obj    \
outputNear1d.obj   \
outputNear2d.obj   \
calcFar1d.obj      \
calcFar2d.obj      \
calcNear1d.obj     \
calcNear2d.obj     \
logNear1d.obj      \
logNear2d.obj      \
plot2dCurrent.obj  \
plot3dCurrent.obj  \
plot2dFreq.obj     \
plot2dFreq0.obj    \
plot2dFar0d0.obj   \
plot2dFar1d0.obj   \
plot3dFar2d.obj    \
plot3dFar2d0.obj   \
plot2dNear1d.obj   \
plot2dNear1d0.obj  \
plot2d3dNear2d.obj \
plot2dNear2d0.obj  \
plot3dNear2d0.obj  \
cputime.obj        \
ev2dlib.obj        \
ev2d.obj           \
ev3d.obj

CC      = cl.exe
CFLAGS  = /O2 /nologo /I../include /W4 /wd4996
#CFLAGS  = $(CFLAGS) /D_DOUBLE
LDFLAGS = /O2 /nologo
LIBS    =

$(PROGRAM): $(OBJS)
	@echo "Loading $(PROGRAM) ... "
	@$(CC) $(LDFLAGS) /Fe$(PROGRAM) $(OBJS) $(LIBS)

Main.obj:
	$(CC) /c $(CFLAGS) $(OMPOPT) $?
zmatrix.obj:
	$(CC) /c $(CFLAGS) $(OMPOPT) $?
cholesky.obj:
	$(CC) /c $(CFLAGS) $(OMPOPT) $?
calcFar1d.obj:
	$(CC) /c $(CFLAGS) $(OMPOPT) $?
calcFar2d.obj:
	$(CC) /c $(CFLAGS) $(OMPOPT) $?
calcNear1d.obj:
	$(CC) /c $(CFLAGS) $(OMPOPT) $?
calcNear2d.obj:
	$(CC) /c $(CFLAGS) $(OMPOPT) $?
allocfree.obj:
	$(CC) /c $(CFLAGS) $(AVX) /D_SIMD $?
cdot.obj:
	$(CC) /c $(CFLAGS) $(AVX) /D_SIMD $?

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

clean:
	del *.obj
