.SUFFIXES: .c .f .o .a  .def .exp .dll .exe 

CFLAGS=-O3 -fPIE -flto -fopenmp
CC=gcc

FFLAGS=-O3 -fPIE -std=legacy -fopenmp
F77=gfortran

SOURCES=$(wildcard -f *.c *.f)
OBJS=$(foreach i,$(SOURCES),$(basename $i).o)

all: gfmixf treecns rert charfreq-taxa an_freq

gfmixf: gfmixf.o gfmixff.o lbfgsb.o linesearch.o \
	linpack.o miniCBLAS.o print.o subalgorithms.o timer.o 
	$(CC) $(CFLAGS) -o gfmix_lnl_align gfmixf.o gfmixff.o lbfgsb.o \
	linesearch.o \
	linpack.o miniCBLAS.o print.o subalgorithms.o timer.o -lm

an_freq: an_freq.o gfmixff.o an_freqf.o
	$(CC) $(CFLAGS) -o an_freq an_freq.o an_freqf.o gfmixff.o -lm

treecns: treecns.o treecnsf.o
	$(CC) $(CFLAGS) -o treecns treecns.o treecnsf.o -lm

rert: rert.o rertf.o
	$(CC) $(CFLAGS) -o rert rert.o rertf.o -lm

charfreq-taxa: charfreq-taxa.o gfmixff.o
	$(CC) $(CFLAGS) -o charfreq-taxa charfreq-taxa.o gfmixff.o -lm

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

.f.o:
	$(F77) $(FFLAGS) $($*-FFLAGS) -c $< -o $@
