File: Makefile

package info (click to toggle)
haskell-hxt-regex-xmlschema 9.2.0.7-3
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 268 kB
  • sloc: haskell: 3,182; makefile: 216
file content (145 lines) | stat: -rw-r--r-- 2,737 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
PKGFLAGS	=
GHCFLAGS	= -Wall -O2
GHC		= ghc $(GHCFLAGS) $(PKGFLAGS)

CNT		= 3

ropts		= +RTS -s -RTS

prog		= ./REtest
prog2		= ./Lines
prog3		= ./RElines
prog3a		= ./SElines
prog4		= ./Words
prog5		= ./REwords
prog5a		= ./SEwords
prog0		= ./Copy

progs		= $(prog) $(prog0) $(prog2) $(prog3) $(prog3a) $(prog4) $(prog5) $(prog5a)

all		: $(progs)

$(prog)		: $(prog).hs
		$(GHC) --make -o $@ $<

local		:
		$(GHC) --make -o $(prog) -fglasgow-exts $(prog).hs

$(prog2)	: $(prog)
		ln -f $(prog) $(prog2)

$(prog3)	: $(prog)
		ln -f $(prog) $(prog3)

$(prog3a)	: $(prog)
		ln -f $(prog) $(prog3a)

$(prog4)	: $(prog)
		ln -f $(prog) $(prog4)

$(prog5)	: $(prog)
		ln -f $(prog) $(prog5)

$(prog5a)	: $(prog)
		ln -f $(prog) $(prog5a)

$(prog0)	: $(prog)
		ln -f $(prog) $(prog0)

# generate and read documents containing text
# with 2^i characters

tests		= 25

test		: $(prog)
		$(MAKE) genfiles   tests="$(tests)"
		$(MAKE) copy       tests="$(tests)"
		$(MAKE) lines      tests="$(tests)"
		$(MAKE) relines    tests="$(tests)"
		$(MAKE) selines    tests="$(tests)"
		$(MAKE) words      tests="$(tests)"
		$(MAKE) rewords    tests="$(tests)"
		$(MAKE) sewords    tests="$(tests)"

perftest	: $(prog)
		$(MAKE) test tests="2 3 10 11 12 13 14 15 16 17 18 19 20"

genfiles	:
		@for i in $(tests) ; \
		do \
		echo time $(prog) $(ropts) $$i ; \
		time $(prog) $(ropts) $$i ; \
		ls -l lines-*$$i.txt ; \
		echo ; \
		done

copy	:
		@for i in $(tests) ; \
		do \
		echo time $(prog0) $(ropts) $$i ; \
		time $(prog0) $(ropts) $$i ; \
		ls -l lines-*$$i.txt.copy ; \
		echo ; \
		done

lines	:
		@for i in $(tests) ; \
		do \
		echo time $(prog2) $(ropts) $$i ; \
		time $(prog2) $(ropts) $$i ; \
		ls -l lines-*$$i.txt.lines ; \
		echo ; \
		done

relines	:
		@for i in $(tests) ; \
		do \
		echo time $(prog3) $(ropts) $$i ; \
		time $(prog3) $(ropts) $$i ; \
		ls -l lines-*$$i.txt.relines ; \
		echo ; \
		done

selines	:
		@for i in $(tests) ; \
		do \
		echo time $(prog3a) $(ropts) $$i ; \
		time $(prog3a) $(ropts) $$i ; \
		ls -l lines-*$$i.txt.selines ; \
		echo ; \
		done

words	:
		@for i in $(tests) ; \
		do \
		echo time $(prog4) $(ropts) $$i ; \
		time $(prog4) $(ropts) $$i ; \
		ls -l lines-*$$i.txt.words ; \
		echo ; \
		done

rewords	:
		@for i in $(tests) ; \
		do \
		echo time $(prog5) $$i ; \
		time $(prog5) $(ropts) $$i ; \
		ls -l lines-*$$i.txt.rewords ; \
		echo ; \
		done

sewords	:
		@for i in $(tests) ; \
		do \
		echo time $(prog5a) $$i ; \
		time $(prog5a) $(ropts) $$i ; \
		ls -l lines-*$$i.txt.sewords ; \
		echo ; \
		done

distclean	: clean

clean		:
		rm -f $(progs) *.o *.hi *.txt *.txt.*

.PHONY		: clean distclean test perftest all local words rewords sewords lines relines selines copy genfiles