Blame examples/performance/Makefile

Packit 5b08af
PKGFLAGS	=
Packit 5b08af
GHCFLAGS	= -Wall -O2
Packit 5b08af
GHC		= ghc $(GHCFLAGS) $(PKGFLAGS)
Packit 5b08af
Packit 5b08af
CNT		= 3
Packit 5b08af
Packit 5b08af
ropts		= +RTS -s -RTS
Packit 5b08af
Packit 5b08af
prog		= ./REtest
Packit 5b08af
prog2		= ./Lines
Packit 5b08af
prog3		= ./RElines
Packit 5b08af
prog3a		= ./SElines
Packit 5b08af
prog4		= ./Words
Packit 5b08af
prog5		= ./REwords
Packit 5b08af
prog5a		= ./SEwords
Packit 5b08af
prog0		= ./Copy
Packit 5b08af
Packit 5b08af
progs		= $(prog) $(prog0) $(prog2) $(prog3) $(prog3a) $(prog4) $(prog5) $(prog5a)
Packit 5b08af
Packit 5b08af
all		: $(progs)
Packit 5b08af
Packit 5b08af
$(prog)		: $(prog).hs
Packit 5b08af
		$(GHC) --make -o $@ $<
Packit 5b08af
Packit 5b08af
local		:
Packit 5b08af
		$(GHC) --make -o $(prog) -fglasgow-exts $(prog).hs
Packit 5b08af
Packit 5b08af
$(prog2)	: $(prog)
Packit 5b08af
		ln -f $(prog) $(prog2)
Packit 5b08af
Packit 5b08af
$(prog3)	: $(prog)
Packit 5b08af
		ln -f $(prog) $(prog3)
Packit 5b08af
Packit 5b08af
$(prog3a)	: $(prog)
Packit 5b08af
		ln -f $(prog) $(prog3a)
Packit 5b08af
Packit 5b08af
$(prog4)	: $(prog)
Packit 5b08af
		ln -f $(prog) $(prog4)
Packit 5b08af
Packit 5b08af
$(prog5)	: $(prog)
Packit 5b08af
		ln -f $(prog) $(prog5)
Packit 5b08af
Packit 5b08af
$(prog5a)	: $(prog)
Packit 5b08af
		ln -f $(prog) $(prog5a)
Packit 5b08af
Packit 5b08af
$(prog0)	: $(prog)
Packit 5b08af
		ln -f $(prog) $(prog0)
Packit 5b08af
Packit 5b08af
# generate and read documents containing text
Packit 5b08af
# with 2^i characters
Packit 5b08af
Packit 5b08af
tests		= 25
Packit 5b08af
Packit 5b08af
test		: $(prog)
Packit 5b08af
		$(MAKE) genfiles   tests="$(tests)"
Packit 5b08af
		$(MAKE) copy       tests="$(tests)"
Packit 5b08af
		$(MAKE) lines      tests="$(tests)"
Packit 5b08af
		$(MAKE) relines    tests="$(tests)"
Packit 5b08af
		$(MAKE) selines    tests="$(tests)"
Packit 5b08af
		$(MAKE) words      tests="$(tests)"
Packit 5b08af
		$(MAKE) rewords    tests="$(tests)"
Packit 5b08af
		$(MAKE) sewords    tests="$(tests)"
Packit 5b08af
Packit 5b08af
perftest	: $(prog)
Packit 5b08af
		$(MAKE) test tests="2 3 10 11 12 13 14 15 16 17 18 19 20"
Packit 5b08af
Packit 5b08af
genfiles	:
Packit 5b08af
		@for i in $(tests) ; \
Packit 5b08af
		do \
Packit 5b08af
		echo time $(prog) $(ropts) $$i ; \
Packit 5b08af
		time $(prog) $(ropts) $$i ; \
Packit 5b08af
		ls -l lines-*$$i.txt ; \
Packit 5b08af
		echo ; \
Packit 5b08af
		done
Packit 5b08af
Packit 5b08af
copy	:
Packit 5b08af
		@for i in $(tests) ; \
Packit 5b08af
		do \
Packit 5b08af
		echo time $(prog0) $(ropts) $$i ; \
Packit 5b08af
		time $(prog0) $(ropts) $$i ; \
Packit 5b08af
		ls -l lines-*$$i.txt.copy ; \
Packit 5b08af
		echo ; \
Packit 5b08af
		done
Packit 5b08af
Packit 5b08af
lines	:
Packit 5b08af
		@for i in $(tests) ; \
Packit 5b08af
		do \
Packit 5b08af
		echo time $(prog2) $(ropts) $$i ; \
Packit 5b08af
		time $(prog2) $(ropts) $$i ; \
Packit 5b08af
		ls -l lines-*$$i.txt.lines ; \
Packit 5b08af
		echo ; \
Packit 5b08af
		done
Packit 5b08af
Packit 5b08af
relines	:
Packit 5b08af
		@for i in $(tests) ; \
Packit 5b08af
		do \
Packit 5b08af
		echo time $(prog3) $(ropts) $$i ; \
Packit 5b08af
		time $(prog3) $(ropts) $$i ; \
Packit 5b08af
		ls -l lines-*$$i.txt.relines ; \
Packit 5b08af
		echo ; \
Packit 5b08af
		done
Packit 5b08af
Packit 5b08af
selines	:
Packit 5b08af
		@for i in $(tests) ; \
Packit 5b08af
		do \
Packit 5b08af
		echo time $(prog3a) $(ropts) $$i ; \
Packit 5b08af
		time $(prog3a) $(ropts) $$i ; \
Packit 5b08af
		ls -l lines-*$$i.txt.selines ; \
Packit 5b08af
		echo ; \
Packit 5b08af
		done
Packit 5b08af
Packit 5b08af
words	:
Packit 5b08af
		@for i in $(tests) ; \
Packit 5b08af
		do \
Packit 5b08af
		echo time $(prog4) $(ropts) $$i ; \
Packit 5b08af
		time $(prog4) $(ropts) $$i ; \
Packit 5b08af
		ls -l lines-*$$i.txt.words ; \
Packit 5b08af
		echo ; \
Packit 5b08af
		done
Packit 5b08af
Packit 5b08af
rewords	:
Packit 5b08af
		@for i in $(tests) ; \
Packit 5b08af
		do \
Packit 5b08af
		echo time $(prog5) $$i ; \
Packit 5b08af
		time $(prog5) $(ropts) $$i ; \
Packit 5b08af
		ls -l lines-*$$i.txt.rewords ; \
Packit 5b08af
		echo ; \
Packit 5b08af
		done
Packit 5b08af
Packit 5b08af
sewords	:
Packit 5b08af
		@for i in $(tests) ; \
Packit 5b08af
		do \
Packit 5b08af
		echo time $(prog5a) $$i ; \
Packit 5b08af
		time $(prog5a) $(ropts) $$i ; \
Packit 5b08af
		ls -l lines-*$$i.txt.sewords ; \
Packit 5b08af
		echo ; \
Packit 5b08af
		done
Packit 5b08af
Packit 5b08af
distclean	: clean
Packit 5b08af
Packit 5b08af
clean		:
Packit 5b08af
		rm -f $(progs) *.o *.hi *.txt *.txt.*
Packit 5b08af
Packit 5b08af
.PHONY		: clean distclean test perftest all local words rewords sewords lines relines selines copy genfiles
Packit 5b08af