PREFIX = /usr/local/satellite

SETUP_SL            = $(PREFIX)/lib/satellite/rc/setup.sl
STATISTICS_BASE_DIR = $(PREFIX)/libexec/satellite/statistics
STATISTICS_DATA_DIR = $(STATISTICS_BASE_DIR)/data

SED          = sed
RM           = rm -f
RM_RF        = rm -rf
TAR          = tar
INSTALL      = ./install-sh
INSTALL_DATA = $(INSTALL) -c -m 644
MKINSTALLDIRS = ./mkinstalldirs

SCRIPT_DIR = ../script
DATA_DIR   = ../script/data

SHELL = /bin/sh

TEMP_DIST_DIR = .dist
DIST_PACKAGE  = statistics_for_29x.tar.gz

SCRIPT_FILES = $(SCRIPT_SETUP_FILES) $(SCRIPT_COMMAND_FILES)

DATA_FILES = \
	$(DATA_DIR)/dunnet1.dat \
	$(DATA_DIR)/dunnet3.dat \
	$(DATA_DIR)/dunnet5.dat \
	$(DATA_DIR)/dunnet7.dat \
	$(DATA_DIR)/dunnet9.dat \
	$(DATA_DIR)/dunnet01.dat \
	$(DATA_DIR)/dunnet03.dat \
	$(DATA_DIR)/dunnet05.dat \
	$(DATA_DIR)/dunnet07.dat \
	$(DATA_DIR)/dunnet09.dat \
	$(DATA_DIR)/adata.dat \
	$(DATA_DIR)/ramda.dat \
	$(DATA_DIR)/ramdaq.dat \
	$(DATA_DIR)/udata.dat

SCRIPT_SETUP_FILES = \
	alias.sl datafile.sl statistics.sl \
	COMMAND.STAT MESSAGE.STAT ERROR.STAT

SCRIPT_COMMAND_FILES = \
	$(SCRIPT_DIR)/anova1.sl \
	$(SCRIPT_DIR)/anova2.sl \
	$(SCRIPT_DIR)/ansaribradley.sl \
	$(SCRIPT_DIR)/ave.sl \
	$(SCRIPT_DIR)/checkerr.sl \
	$(SCRIPT_DIR)/chi2cdf.sl \
	$(SCRIPT_DIR)/chi2inv.sl \
	$(SCRIPT_DIR)/chi2pdf.sl \
	$(SCRIPT_DIR)/corrcoef.sl \
	$(SCRIPT_DIR)/corrcoefmat.sl \
	$(SCRIPT_DIR)/cov.sl \
	$(SCRIPT_DIR)/fcdf.sl \
	$(SCRIPT_DIR)/finv.sl \
	$(SCRIPT_DIR)/fpdf.sl \
	$(SCRIPT_DIR)/gamma.sl \
	$(SCRIPT_DIR)/homogeneity.sl \
	$(SCRIPT_DIR)/lepage.sl \
	$(SCRIPT_DIR)/mreg.sl \
	$(SCRIPT_DIR)/normal.sl \
	$(SCRIPT_DIR)/normcdf.sl \
	$(SCRIPT_DIR)/norminv.sl \
	$(SCRIPT_DIR)/normpdf.sl \
	$(SCRIPT_DIR)/pca.sl \
	$(SCRIPT_DIR)/pearson.sl \
	$(SCRIPT_DIR)/posthoc.sl \
	$(SCRIPT_DIR)/round.sl \
	$(SCRIPT_DIR)/sort.sl \
	$(SCRIPT_DIR)/stddev.sl \
	$(SCRIPT_DIR)/stderr.sl \
	$(SCRIPT_DIR)/stdprob.sl \
	$(SCRIPT_DIR)/tcdf.sl \
	$(SCRIPT_DIR)/tinv.sl \
	$(SCRIPT_DIR)/tpdf.sl \
	$(SCRIPT_DIR)/ttest.sl \
	$(SCRIPT_DIR)/var.sl \
	$(SCRIPT_DIR)/varcovmat.sl \
	$(SCRIPT_DIR)/welch.sl \
	$(SCRIPT_DIR)/wilcoxon.sl

all: datafile.sl statistics.sl

datafile.sl : datafile.sl.in
	rm -f $@
	$(SED) -e 's!%STATISTICS_DATA_DIR%!$(STATISTICS_DATA_DIR)!g ' \
	 datafile.sl.in > $@

statistics.sl : statistics.sl.in
	rm -f $@
	$(SED) -e 's!%STATISTICS_BASE_DIR%!$(STATISTICS_BASE_DIR)!g ' \
	 statistics.sl.in > $@

install : $(SCRIPT_SETUP_FILES)
	$(MKINSTALLDIRS) $(STATISTICS_BASE_DIR)
	@for i in $(SCRIPT_FILES); do \
	  echo "$(INSTALL_DATA) $$i $(STATISTICS_BASE_DIR)"; \
	  $(INSTALL_DATA) $$i $(STATISTICS_BASE_DIR); \
	done
	$(MKINSTALLDIRS) $(STATISTICS_DATA_DIR)
	@for i in $(DATA_FILES); do \
	  echo "$(INSTALL_DATA) $$i $(STATISTICS_DATA_DIR)"; \
	  $(INSTALL_DATA) $$i $(STATISTICS_DATA_DIR); \
	done
	@echo "" >> $(SETUP_SL);
	@echo "## " >> $(SETUP_SL);
	@echo "## STATISTICS MODULE" >> $(SETUP_SL);
	@echo "## " >> $(SETUP_SL);
	@echo "## If you would like to use statistics module, uncomment the following comments." >> $(SETUP_SL);
	@echo "" >> $(SETUP_SL);
	@echo "#inline(\"$(STATISTICS_BASE_DIR)/statistics.sl\");" >> $(SETUP_SL)

clean :
	$(RM) statistics.sl datafile.sl $(DIST_PACKAGE)

dist: $(DIST_PACKAGE)

$(DIST_PACKAGE): $(SCRIPT_FILES) $(DATA_FILES)
	$(MKINSTALLDIRS) $(TEMP_DIST_DIR)/statistics
	@for i in $(SCRIPT_FILES); do \
	  echo "$(INSTALL_DATA) $$i $(TEMP_DIST_DIR)/statistics"; \
	  $(INSTALL_DATA) $$i $(TEMP_DIST_DIR)/statistics; \
	done
	$(MKINSTALLDIRS) $(TEMP_DIST_DIR)/statistics/data
	@for i in $(DATA_FILES); do \
	  echo "$(INSTALL_DATA) $$i $(TEMP_DIST_DIR)/statistics/data"; \
	  $(INSTALL_DATA) $$i $(TEMP_DIST_DIR)/statistics/data; \
	done
	(cd $(TEMP_DIST_DIR) && $(TAR) zcf ../$@ statistics)
	rm -rf $(TEMP_DIST_DIR)
