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

HEADERS = libsmm.h libsmm_base.h $(IDIR)/libscl.h

OBJECTS = mcmc.o proposal.o cachemgr.o asymptotics.o 
		
libsmm.a	: $(OBJECTS) $(HEADERS)
	rm -f libsmm.a
	ar -rsv libsmm.a $(OBJECTS)

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

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

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

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

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

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

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