PROGRAM = ../omm_ncc
#PROGRAM = ../omm_ncc_double

OMPOPT = -fopenmp

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

CC      = ncc
CFLAGS  = -O2 -I../include -Wall
CFLAGS  += -fdiag-vector=0 -fdiag-parallel=0
#CFLAGS  += -D_DOUBLE
LDFLAGS = -O2
LDFLAGS += $(OMPOPT)
LIBS    =

$(PROGRAM): $(OBJS)
	@echo "Loading $(PROGRAM) ... "
	@$(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)

Main.o: Main.c
	$(CC) -c $(CFLAGS) $(OMPOPT) $?
wiregrid.o: wiregrid.c
	$(CC) -c $(CFLAGS) -finline-functions $?
zmatrix.o: zmatrix.c
	$(CC) -c $(CFLAGS) $(OMPOPT) -finline-functions $?
cholesky.o: cholesky.c
	$(CC) -c $(CFLAGS) $(OMPOPT) $?
calcFar1d.o: calcFar1d.c
	$(CC) -c $(CFLAGS) $(OMPOPT) $?
calcFar2d.o: calcFar2d.c
	$(CC) -c $(CFLAGS) $(OMPOPT) $?
calcNear1d.o: calcNear1d.c
	$(CC) -c $(CFLAGS) $(OMPOPT) $?
calcNear2d.o: calcNear2d.c
	$(CC) -c $(CFLAGS) $(OMPOPT) $?

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

clean:
	rm -f *.o
