FC=ifort
CC=icc
FFLAGS=-O -vec-report0 
CFLAGS=-O -vec-report0
LD=ifort
LDFLAGS=-nofor_main
EXECUTABLE=ga_molecular
###############################################################
#       No alterar para baixo, no deve ser necessrio ;)    #
###############################################################
default: $(EXECUTABLE)
OBJECTS:=crossover.o evaluation.o ga.o mutation.o rand.o selection.o stats.o utils.o eval.o lbfgs.o sdrive.o fg_value.o
%.o:%.f90
	$(FC) $(FFLAGS) $<  -c

%.o:%.f
	$(FC) $(FFLAGS) $<  -c

%.o:%.c
	$(CC) $(CFLAGS) $<  -c
crossover.o: crossover.c  
evaluation.o: evaluation.c  
ga.o: ga.c  
mutation.o: mutation.c  
rand.o: rand.c  
selection.o: selection.c  
stats.o: stats.c  
utils.o: utils.c

eval.o: eval.f90 

sdrive.o: sdrive.f
fg_value.o: fg_value.f
lbfgs.o: lbfgs.f

.PHONY: clean
clean:
	rm -f core $(OBJECTS) $(EXECUTABLE) *.mod

$(EXECUTABLE): $(OBJECTS)
	$(LD) $(LDFLAGS) $(OBJECTS) -o $(EXECUTABLE)
