Update and clean makefiles
[nofib.git] / gc / Makefile
1 TOP = ..
2 include $(TOP)/mk/boilerplate.mk
3
4 SUBDIRS= circsim constraints fibheaps fulsom gc_bench happy hash lcss \
5 mutstore1 mutstore2 power spellcheck
6
7 # Discount treejoin: runs too quickly to see any speedup beyond a few procs
8 # Discount linear: heap is too small
9 # Discount cacheprof: heap is too small, runs too quickly, too much variation in the results
10 OTHER_SUBDIRS = treejoin linear cacheprof
11
12 date=$(shell date +%F)
13 # set 'tag' from the cmdline to add an extra tag to each logfile
14 logid=$(date)$(tag)
15
16 .DUMMY: allways threaded-1 threaded-2
17
18 HEAD ::
19 $(MAKE) clean boot
20 $(MAKE) -k EXTRA_HC_OPTS=-L$$HOME/builds/ghc/rts 2>&1 | tee log-$(logid)-HEAD
21
22 allways ::
23 $(MAKE) clean boot
24 $(MAKE) baseline
25 $(MAKE) parways
26 $(MAKE) analyse
27
28 parways ::
29 $(MAKE) clean boot
30 $(MAKE) threaded THREADS=1
31 $(MAKE) threaded THREADS=2
32 $(MAKE) threaded THREADS=3
33 $(MAKE) threaded THREADS=4
34 $(MAKE) threaded THREADS=5
35 $(MAKE) threaded THREADS=6
36 $(MAKE) threaded THREADS=7
37 $(MAKE) threaded THREADS=8
38
39 # HEAP=OLD
40 HEAP=LARGE
41
42 # default
43 THREADS=1
44
45 # baseline with the old heap settings (-H10m)
46 baseline ::
47 $(MAKE) -k HEAP=$(HEAP) 2>&1 | tee log-$(logid)-baseline
48
49 threaded ::
50 $(MAKE) -k HEAP=$(HEAP) EXTRA_HC_OPTS=-threaded EXTRA_RUNTEST_OPTS="+RTS -qg1 -N$(THREADS) -RTS" 2>&1 | tee log-$(logid)-threaded-$(THREADS)
51
52 analyse ::
53 ../../utils/nofib-analyse/nofib-analyse log-$(logid)-baseline log-$(logid)-threaded-* >nofib-analyse-$(logid)
54
55 include $(TOP)/mk/target.mk
56