URLHOME = http://www.ii.uib.no/~ketil/bioinformatics
DATA    = $(URLHOME)/downloads/data
VERSION = 0.7
RBR     = ../rbr -k 15 -s 1.5 -t 6.0
WGET    = wget -U RBR/test-$(VERSION)
RESULTS = results

# tests - download necessary files over the 'net

# Retrieving files with 'wget'

# Keep downloaded files
.SECONDARY: b10k.seq b1k.seq

%.seq:
	$(WGET) $(DATA)/$@.gz -O- | gunzip -c > $@

%-$(VERSION).md5:
	$(WGET) $(DATA)/$@

# Running RBR

%.n: %.seq
	time $(RBR) -v -n $< -o $@

%.ng: %.seq
	time $(RBR) -v -n -g 30 $< -o $@

%.l: %.seq
	time $(RBR) -v -L $< -o $@

%.lg: %.seq
	time $(RBR) -v -L -g 30 $< -o $@

%.cov: %.seq
	time $(RBR) -v -D $< -o $@

%.kl: %.seq
	time $(RBR) -k 18 -v -L $< -o $@

%.in: %.seq
	time $(RBR) -v -L < $< -o $@

# Sparse tests (coverage, masking, and long keys)
%.csp: %.seq
	time $(RBR) -v -L -D --sparse=1 $< -o $@

%.msp: %.seq
	time $(RBR) -v -L --sparse=1 $< -o $@

%.lsp: %.seq
	time $(RBR) -k 18 -v -L --sparse=1 $< -o $@

# Calculating checksums

%.md5: %
	md5sum $* > $@

# Running tests

test_%: b1k.%-$(VERSION).md5 b1k.%.md5
	@cmp b1k.$*-$(VERSION).md5 b1k.$*.md5 && echo $@ '  	' Passed >> $(RESULTS) || echo $@ '  	' FAILED >> $(RESULTS)

.PHONY: start
start:
	@echo -n > $(RESULTS)

.PHONY: print
print: 
	@cat $(RESULTS)

.PHONY: test
test: start test_l test_lg test_n test_ng test_cov test_kl test_in test_csp test_msp test_lsp print

bigtest_%: b10k.%-$(VERSION).md5 b10k.%.md5
	@cmp b10k.$*-$(VERSION).md5 b10k.$*.md5 && echo $@ '  	' Passed >> $(RESULTS) || echo $@ '  	' FAILED >> $(RESULTS)

.PHONY: bigtest
bigtest: start bigtest_l bigtest_lg bigtest_n bigtest_ng bigtest_cov bigtest_kl print

