# $Id: Makefile 197 2011-02-15 12:49:21Z fhrouet $
## Using GNU compilers
FC   = gfortran
CC   = gcc
##Debug options
OPTF = -g -fbounds-check -fno-underscoring
FOPTL= -g
##Performance options
#OPTF = -O3 -fno-underscoring
#FOPTL= -O3

##Using Intel compilers
#FC   = ifort
#CC   = icc
#Debug options
#OPTF = -g -nus -check bounds -traceback
#FOPTL= -g
##Performance options
#OPTF = -O3 -nus
#FOPTL= -O3

LIB  = lib/libamd.a
OBJ  = utils_mod.o graph_mod.o graph_facto_mod.o icfacto_mod.o pcg_mod.o main.o

all: main

run:
	./main

clean:
	-rm -f $(OBJ) *.mod main; cd lib; make clean

libamd:
	cd lib;make

main: libamd $(OBJ)
	$(FC) $(FOPTL) -o main  $(OBJ) $(LIB)


.SUFFIXES: .F .f90 .mod .o


# Modules depedencies
main.o : utils_mod.o graph_mod.o graph_facto_mod.o icfacto_mod.o pcg_mod.o $(LIB)

# Compilation
%.o: %.F
	$(FC) $(OPTF) -c $<
%.o: %.f90
	$(FC) $(OPTF) -c $<
%.mod: %.f90
	$(FC)  -c $<
%.o : %.c
	gcc -c $<


