PROGRAM = ../oth_mpi.exe

MPIOPT  = /D_MPI
OMPOPT  = /openmp

OBJS    =          \
Main.obj           \
setupIndex_mpi.obj \
setupBg_mpi.obj    \
bicgstab.obj       \
copyV.obj          \
copyE.obj          \
comm.obj           \
comm2.obj          \
../sol/input_data.obj     \
../sol/input2.obj         \
../sol/monitor.obj        \
../sol/memory.obj         \
../sol/setup.obj          \
../sol/arrayIndex.obj     \
../sol/setupMaterial.obj  \
../sol/setup2.obj         \
../sol/solve.obj          \
../sol/rhs.obj            \
../sol/planewaveEx.obj    \
../sol/planewaveEy.obj    \
../sol/planewaveEz.obj    \
../sol/planewave.obj      \
../sol/pbcX.obj           \
../sol/pbcY.obj           \
../sol/pbcZ.obj           \
../sol/prodmv.obj         \
../sol/matrixEx.obj       \
../sol/matrixEy.obj       \
../sol/matrixEz.obj       \
../sol/prodmvEx.obj       \
../sol/prodmvEy.obj       \
../sol/prodmvEz.obj       \
../sol/blas1c.obj         \
../sol/eyee.obj           \
../sol/hyee.obj           \
../sol/cyee.obj           \
../sol/outputChars.obj    \
../sol/outputZin.obj      \
../sol/outputSpara.obj    \
../sol/outputCross.obj    \
../sol/outputCoupling.obj \
../sol/outputPloss.obj    \
../sol/ingeometry.obj     \
../sol/geomlines.obj      \
../sol/farfield.obj       \
../sol/writeout.obj       \
../sol/utils.obj          \
../sol/cputime.obj        \
../sol/plot3dGeom.obj     \
../sol/ev3d.obj

CC      = cl.exe
CFLAGS  = /O2 /nologo /I../include /W4 /wd4996
LDFLAGS = /O2 /nologo
LIBS    = msmpi.lib

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

Main.obj:
	$(CC) /c $(CFLAGS) $(OMPOPT) $?
comm.obj:
	$(CC) /c $(CFLAGS) $(MPIOPT) $?
comm2.obj:
	$(CC) /c $(CFLAGS) $(MPIOPT) $?

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

clean:
	del *.obj
