CXX      = g++
SDIR     = src
IDIRS    = -I. -I$(SDIR) -I/$(HOME)/lib/libscl/gpp
LDIRS    = -L/$(HOME)/lib/libscl/gpp
CXXFLAGS = -O -Wall -c  $(IDIRS)
LDFLAGS  = $(LDIRS) -lm -lscl                

OBJECTS = mcmc.o proposal.o likehood.o \
		edf_objfun.o gmm_objfun.o \
		asymptotics.o 
		
HEADERS = $(SDIR)/libmcmc.h $(SDIR)/libmcmc_base.h\
		$(SDIR)/mcmc.h $(SDIR)/proposal.h $(SDIR)/likehood.h \
		$(SDIR)/edf_objfun.h  $(SDIR)/gmm_objfun.h\
		$(SDIR)/asymptotics.h 

libmcmc.a	: $(OBJECTS) $(HEADERS)
	rm -f libmcmc.a
	cp -p $(SDIR)/*.h .
	ar -rsv libmcmc.a $(OBJECTS)

mcmc.o : $(SDIR)/mcmc.cpp $(HEADERS)
	$(CXX) $(CXXFLAGS) $(SDIR)/mcmc.cpp

proposal.o : $(SDIR)/proposal.cpp $(HEADERS)
	$(CXX) $(CXXFLAGS) $(SDIR)/proposal.cpp

likehood.o : $(SDIR)/likehood.cpp $(HEADERS)
	$(CXX) $(CXXFLAGS) $(SDIR)/likehood.cpp

edf_objfun.o : $(SDIR)/edf_objfun.cpp $(HEADERS)
	$(CXX) $(CXXFLAGS) $(SDIR)/edf_objfun.cpp

gmm_objfun.o : $(SDIR)/gmm_objfun.cpp $(HEADERS)
	$(CXX) $(CXXFLAGS) $(SDIR)/gmm_objfun.cpp

asymptotics.o : $(SDIR)/asymptotics.cpp $(HEADERS)
	$(CXX) $(CXXFLAGS) $(SDIR)/asymptotics.cpp

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

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