EXES=\
averages	\
statistics	\
gsl_statistics_distributions	\
gsl_running_statistics_distributions	\

CPPFLAGS_FOR_INTERNAL_VALUE_TYPE=-DUSE_LONG_DOUBLE_AS_INTERNAL_VALUE_TYPE
#CPPFLAGS_FOR_INTERNAL_VALUE_TYPE=-UUSE_LONG_DOUBLE_AS_INTERNAL_VALUE_TYPE

CPPFLAGS=-I/opt/local/include $(CPPFLAGS_FOR_INTERNAL_VALUE_TYPE)
CXXFLAGS=-W -Wall -O3

all: $(EXES)

gsl_running_statistics_distributions: CPPFLAGS=-I/opt/local/x86/include $(CPPFLAGS_FOR_INTERNAL_VALUE_TYPE)
gsl_running_statistics_distributions: LDFLAGS=-L/opt/local/x86/lib
gsl_running_statistics_distributions: LDLIBS=-lgsl

gsl_statistics_distributions: LDFLAGS=-L/opt/local/lib
gsl_statistics_distributions: LDLIBS=-lgsl

clean:
	rm -f $(EXES)

check: all
	./statistics | tee outs/statistics$(CPPFLAGS_FOR_INTERNAL_VALUE_TYPE).out
	./averages | tee outs/averages$(CPPFLAGS_FOR_INTERNAL_VALUE_TYPE).out
	./gsl_running_statistics_distributions | tee outs/gsl_running_statistics_distributions.out && diff -u outs/gsl_running_statistics_distributions$(CPPFLAGS_FOR_INTERNAL_VALUE_TYPE).out outs/gsl_running_statistics_distributions.out > /dev/null
	./gsl_statistics_distributions | tee outs/gsl_statistics_distributions.out && diff -u outs/gsl_statistics_distributions$(CPPFLAGS_FOR_INTERNAL_VALUE_TYPE).out outs/gsl_statistics_distributions.out > /dev/null

update:
	./gsl_running_statistics_distributions | tee outs/gsl_running_statistics_distributions$(CPPFLAGS_FOR_INTERNAL_VALUE_TYPE).out > /dev/null
	./gsl_statistics_distributions | tee outs/gsl_statistics_distributions$(CPPFLAGS_FOR_INTERNAL_VALUE_TYPE).out > /dev/null
