CC       = g++
SDIR     = ../src
IDIR     = ../../libscl/gpp
LDIR     = ../../libscl/gpp
CFLAGS   = -O2 -Wall -c -I$(SDIR) -I$(IDIR)

HEADERS = libgsm.h libgsm_base.h $(IDIR)/libscl.h

OBJECTS = libgsm_base.o proposal.o implied_map.o assess_prior.o mcmc.o
		
libgsm.a	: $(OBJECTS) $(HEADERS)
	rm -f libgsm.a
	ar -rsv libgsm.a $(OBJECTS)

libgsm.h : $(SDIR)/libgsm.h
	cp $(SDIR)/libgsm.h libgsm.h

libgsm_base.h : $(SDIR)/libgsm_base.h
	cp $(SDIR)/libgsm_base.h libgsm_base.h
	
libgsm_base.o : $(SDIR)/libgsm_base.cpp $(HEADERS)
	$(CC) $(CFLAGS) $(SDIR)/libgsm_base.cpp

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

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

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

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

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

veryclean	:
	rm -f *.o core core.* 
	rm -f *.h
	rm -f libgsm.a
