CXX      = g++
SDIR     = .
ISCL     = $(HOME)/lib/libscl/gpp
LSCL     = $(HOME)/lib/libscl/gpp
CXXFLAGS = -O2 -Wall -c -I$(SDIR) -I$(ISCL)
LDFLAGS  = -lm -L$(LSCL) -lscl             

OBJECTS  = emitted_code.o 

PROGRAMS = regr sdev

HEADERS = emitted_code.h

all: $(PROGRAMS)

regr : regr.o 
	$(CXX) -o regr regr.o $(LDFLAGS) 

regr.o : $(SDIR)/regr.cpp 
	$(CXX) $(CXXFLAGS) $(SDIR)/regr.cpp

sdev : sdev.o $(OBJECTS)
	$(CXX) -o sdev sdev.o $(OBJECTS) $(LDFLAGS) 

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

emitted_code.o : $(SDIR)/emitted_code.cpp
	$(CXX) $(CXXFLAGS) $(SDIR)/emitted_code.cpp

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

dirclean :
	rm -f *.o
	rm -f core core.*
	rm -f $(PROGRAMS)

veryclean :
	rm -f *.o
	rm -f core core.*
	rm -f $(PROGRAMS)
