CC       = g++
SDIR     = ../snpsrc
ISCL     = ../lib/libscl/blas
LSCL     = ../lib/libscl/blas
ISNP     = ../lib/libsnp/gpp
LSNP     = ../lib/libsnp/gpp
IATLAS   = /usr/local/lib/atlas/include
LATLAS   = /usr/local/lib/atlas/lib
CFLAGS   = -O -Wall -c -I$(SDIR) -I$(ISNP) -I$(ISCL)
LFLAGS   = -L$(LSNP) -lsnp -L$(LSCL) -lsclcb -lm \
           -L/usr/local/lib/atlas/lib -lcblas -latlas

HEADERS  = $(LSNP)/libsnp.h \
	$(SDIR)/snp_base.h $(SDIR)/snp.h $(SDIR)/snpusr.h \
	$(LSCL)/libscl.h

OBJECTS = snp.o snpcode1.o snpcode2.o snpcode3.o snpusr.o

snp :  $(HEADERS) $(OBJECTS)
	$(CC) -o snp $(OBJECTS) $(LFLAGS)

snp.o : $(SDIR)/snp.cpp $(HEADERS)
	$(CC) $(CFLAGS) $(SDIR)/snp.cpp

snpcode1.o : $(SDIR)/snpcode1.cpp $(HEADERS)
	$(CC) $(CFLAGS) $(SDIR)/snpcode1.cpp

snpcode2.o : $(SDIR)/snpcode2.cpp $(HEADERS)
	$(CC) $(CFLAGS) $(SDIR)/snpcode2.cpp

snpcode3.o : $(SDIR)/snpcode3.cpp $(HEADERS)
	$(CC) $(CFLAGS) $(SDIR)/snpcode3.cpp

snpusr.o : $(SDIR)/snpusr.cpp $(HEADERS)
	$(CC) $(CFLAGS) $(SDIR)/snpusr.cpp

clean	:
	rm -f *.o core core.*

veryclean	:
	rm -f *.o core core.*
	rm -f snp snp_gsl
