# Makefile - generated by mkmk, Version 1.3
# Author = Seongjai Kim, skim@ms.uky.edu
# Sat Nov 04, 1900  05:28:25 PM
#----------------------------------------------
# Define macros used for compiling and linking 
#----------------------------------------------

CC  = gcc
CPP = g++
F77 = f77
F90 = f90

#OSTYPE=linux
#---------------
OPTC  = -O2
OPTCPP= -O2
OPTF  = -O2
OPTF90= -O2

BLASDEF =
#BLASDEF = -DUSE_VENDOR_BLAS

INC_CPP = 
INC_C   = 
INC_F90 = 
INC_F   = 
LNK_LIB = -lg2c -lm -lgcc -lc

#C preprocessor defs (-DNoChange, -DAdd_, or -DUpCase)
CDEFS =
#CDEFS = -DNoChange

PREFLAGS= $(CDEFS) $(BLASDEF)
CFLAGS  = $(OPTC) $(PREFLAGS)
CPPFLAGS= $(OPTCPP) $(PREFLAGS)
FFLAGS  = $(OPTF) $(PREFLAGS)
F90FLAGS= $(OPTF90) $(PREFLAGS)

#Main=C++
#---------------
COMP = $(CPP)
FLAG = $(CPPFLAGS)

MYINC =
MYLIB =
#MYINC = -I$(HOME)/c++/include
#MYLIB = -L$(HOME)/c++/lib

#----------------------------------------------

SRCS = Main.cpp dot_prod.c eval_Ax.c getSRC.c heat_trans.c ilu0.c ilu0_subst.c IOset.c numeranal.c pcg_ilu0.c ReadDATA.c sol_ADI2.c sol_ADI.c sol_ADI_ELL.c sol_ADI_II.c sol_ADI_II_SOR.c sol_LU.c sol_PCGILU.c etimef77.f extrapol.f getrhs.f gs8.f initial.f inputs.f lu_fac.f matrix3.f mtxvec.f numeranalf.f rk4step.f setcommons.f ssor.f substit.f

OBJS = Main.o dot_prod.o eval_Ax.o getSRC.o heat_trans.o ilu0.o ilu0_subst.o IOset.o numeranal.o pcg_ilu0.o ReadDATA.o sol_ADI2.o sol_ADI.o sol_ADI_ELL.o sol_ADI_II.o sol_ADI_II_SOR.o sol_LU.o sol_PCGILU.o etimef77.o extrapol.o getrhs.o gs8.o initial.o inputs.o lu_fac.o matrix3.o mtxvec.o numeranalf.o rk4step.o setcommons.o ssor.o substit.o

HDRS = A.h B.h commons.h

#----------------------------------------------
# Things to make                               
#----------------------------------------------

xx yy zz: $(OBJS) $(SRCS) Makefile
	$(COMP) -o $@ $(FLAG) $(OBJS) $(MYLIB) $(LNK_LIB)

debug:
	$(COMP) -g -c $(SRCS)
	$(COMP) -g -o xx $(OBJS) $(MYLIB) $(LNK_LIB)

clean clear:
	/bin/rm -f core *.trace *.bak *.o a.out xx yy zz
sep ps numerical out:
	/bin/rm -f core *.trace *.bak *.sep* *.ps fort.*
bak rmbak:
	/bin/rm -f *.bak

#-------------------------------------------------

.SUFFIXES : .o .a .c .C .cc .cpp .cxx .f .F .f90 

.C.o .cc.o .cpp.o .cxx.o: 
	$(CPP) -c $(INC_CPP) $(CPPFLAGS) $(MYINC) $< 
.c.o: 
	$(CC) -c $(INC_C) $(CFLAGS) $(MYINC) $< 
.F.o .f90.o: 
	$(F90) -c $(INC_F90) $(F90FLAGS) $< 
.f.o: 
	$(F77) -c $(INC_F) $(FFLAGS) $< 


Main.o: Main.cpp A.h B.h
	$(CPP) -c $(INC_CPP) $(CPPFLAGS) $(MYINC) Main.cpp

inputs.o: inputs.f commons.h
	$(F77) -c $(INC_F) $(FFLAGS) inputs.f

matrix3.o: matrix3.f commons.h
	$(F77) -c $(INC_F) $(FFLAGS) matrix3.f

setcommons.o: setcommons.f commons.h
	$(F77) -c $(INC_F) $(FFLAGS) setcommons.f
