Add test for #7130
[ghc.git] / testsuite / tests / driver / Makefile
1 TOP=../..
2 include $(TOP)/mk/boilerplate.mk
3 include $(TOP)/mk/test.mk
4
5 # A set of driver tests
6
7 # Things to test:
8 #
9 # - one-shot vs. --make
10 # - hierarchical vs. flat
11 # - -odir vs. no -odir
12 # - -hidir vs. no -hidir
13 # - root module vs. found modules
14
15 OBJSUFFIX = .o
16
17 # -fforce-recomp makes lots of driver tests trivially pass, so we
18 # filter it out from $(TEST_HC_OPTS).
19 TEST_HC_OPTS_NO_RECOMP = $(filter-out -fforce-recomp,$(TEST_HC_OPTS))
20
21 # -----------------------------------------------------------------------------
22 # One-shot compilations, non-hierarchical modules
23
24 test011:
25 $(RM) A011.hi
26 $(RM) A011$(OBJSUFFIX)
27 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c A011.hs
28 test -f A011.hi
29 test -f A011$(OBJSUFFIX)
30
31 # test -o
32 test012:
33 $(RM) A012.hi
34 $(RM) A012$(OBJSUFFIX)oo
35 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c A012.hs -o A012$(OBJSUFFIX)oo
36 test -f A012$(OBJSUFFIX)oo
37
38 # test -ohi
39 test013:
40 $(RM) A013.xhi
41 $(RM) A013$(OBJSUFFIX)
42 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c A013.hs -ohi A013.xhi
43 test -f A013.xhi
44
45 # test -odir
46 test014:
47 $(RM) -f A014.hi
48 $(RM) -rf obj014
49 mkdir obj014
50 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c A014.hs -odir obj014
51 test -f obj014/A014$(OBJSUFFIX)
52 test -f A014.hi
53
54 # test -hidir
55 test015:
56 $(RM) -f A015$(OBJSUFFIX)
57 $(RM) -rf hi015
58 mkdir hi015
59 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c A015.hs -hidir hi015
60 test -f A015$(OBJSUFFIX)
61 test -f hi015/A015.hi
62
63 # test stub generation
64 test016:
65 $(RM) F016.hi F016$(OBJSUFFIX) F016_stub.h
66 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c F016.hs
67 test -f F016_stub.h
68
69 # test -stubdir (filename differs from module name)
70 test017:
71 $(RM) F017.hi F017$(OBJSUFFIX)
72 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c F017.hs -stubdir stub017
73 test -f stub017/TestStub017_stub.h
74
75 # test -odir with stubs (filename differs from module name)
76 test018:
77 $(RM) -f F018.hi F018$(OBJSUFFIX) F018_stub.h
78 $(RM) -rf obj018
79 mkdir obj018
80 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c F018.hs -odir obj018
81
82 # test for bug #3093
83 test018a:
84 $(RM) -f F018a.hi F018a_stub.h *.obj.018
85 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c F018a.hs -osuf obj.018
86 test -f F018a.obj.018
87
88 # test -outputdir
89 test019:
90 $(RM) -rf out019
91 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c F019.hs -outputdir out019
92 test -f out019/TestStub019.hi
93 test -f out019/TestStub019_stub.h
94
95 # -----------------------------------------------------------------------------
96 # One-shot compilation, hierarchical modules
97
98 test021:
99 $(RM) B021/C.hi
100 $(RM) B021/C$(OBJSUFFIX)
101 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c B021/C.hs
102 test -f B021/C.hi
103 test -f B021/C$(OBJSUFFIX)
104
105 # test -o
106 test022:
107 $(RM) B022/C.hi
108 $(RM) B022/C$(OBJSUFFIX)oo
109 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c B022/C.hs -o B022/C$(OBJSUFFIX)oo
110 test -f B022/C$(OBJSUFFIX)oo
111
112 # test -ohi
113 test023:
114 $(RM) B023/C.xhi
115 $(RM) B023/C$(OBJSUFFIX)
116 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c B023/C.hs -ohi B023/C.xhi
117 test -f B023/C.xhi
118
119 # test -odir
120 test024:
121 $(RM) -f B024/C.hi
122 $(RM) -rf obj024
123 mkdir obj024
124 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c B024/C.hs -odir obj024
125 test -f obj024/B024/C$(OBJSUFFIX)
126
127 # test -odir with non-Haskell compilation
128 test024a:
129 $(RM) -rf B024a
130 $(RM) -rf obj024a
131 mkdir B024a
132 mkdir obj024a
133 echo >B024a/stub.c
134 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c B024a/stub.c -odir obj024a
135 test -f obj024a/B024a/stub$(OBJSUFFIX)
136
137 # test -hidir
138 test025:
139 $(RM) -rf hi025
140 mkdir hi025
141 $(RM) B025/C$(OBJSUFFIX)
142 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c B025/C.hs -hidir hi025
143 test -f hi025/B025/C.hi
144
145 # This is a hierarchical module that lives in a subdirectory.
146 test026:
147 $(RM) d026/P/Q.hi
148 $(RM) d026/P/Q$(OBJSUFFIX)
149 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c d026/P/Q.hs
150 test -f d026/P/Q.hi
151 test -f d026/P/Q$(OBJSUFFIX)
152
153 # test stub generation
154 # -fvia-C, because we want to check that the .hc file can #include the stub.h
155 test027:
156 $(RM) B027/F.hi B027/F$(OBJSUFFIX) B027/F_stub.h
157 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c B027/F.hs -fno-warn-deprecated-flags -fvia-C
158 test -f B027/F_stub.h
159
160 # test -stubdir
161 # -fvia-C, because we want to check that the .hc file can #include the stub.h
162 test028:
163 $(RM) B028/F.hi B028/F$(OBJSUFFIX)
164 $(RM) stub028/B028/F_stub.h
165 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c B028/F.hs -stubdir stub028 -fno-warn-deprecated-flags -fvia-C
166 test -f stub028/B028/F_stub.h
167
168 # -----------------------------------------------------------------------------
169 # Compilation-manager compilations, flat modules
170
171 test031:
172 $(RM) A031.hi
173 $(RM) A031$(OBJSUFFIX)
174 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make A031.hs
175 test -f A031.hi
176 test -f A031$(OBJSUFFIX)
177
178 # test -odir
179 test032:
180 $(RM) A032.hi
181 $(RM) -rf obj032
182 mkdir obj032
183 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make A032.hs -odir obj032
184 test -f obj032/A032$(OBJSUFFIX)
185
186 # test -hidir
187 test033:
188 $(RM) -rf hi033
189 $(RM) A033$(OBJSUFFIX)
190 mkdir hi033
191 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make A033.hs -hidir hi033
192 test -f hi033/A033.hi
193
194 # test stub generation
195 test034:
196 $(RM) F034.hi F034$(OBJSUFFIX) F034_stub.h
197 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make F034.hs
198 test -f F034_stub.h
199
200 # test -stubdir (filename differs from module name)
201 test035:
202 $(RM) F035.hi F$(OBJSUFFIX) stub035/Stubs_stub.h
203 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make F035.hs -stubdir stub035
204 test -f stub035/TestStub035_stub.h
205
206 # -----------------------------------------------------------------------------
207 # Compilation-manager compilations, hierarchical modules
208
209 test041:
210 $(RM) B041/C.hi
211 $(RM) B041/C$(OBJSUFFIX)
212 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make B041/C.hs
213 test -f B041/C.hi
214 test -f B041/C$(OBJSUFFIX)
215
216 # test -odir
217 test042:
218 $(RM) -rf obj042
219 mkdir obj042
220 $(RM) B042/C.hi
221 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make B042/C.hs -odir obj042
222 test -f obj042/B042/C$(OBJSUFFIX)
223
224 # test -hidir
225 test043:
226 $(RM) -f B043/C$(OBJSUFFIX)
227 $(RM) -rf hi043
228 mkdir hi043
229 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make B043/C.hs -hidir hi043
230 test -f hi043/B043/C.hi
231
232 # test stub generation
233 test044:
234 $(RM) B044/F.hi B044/F$(OBJSUFFIX) B044/F_stub.h
235 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make B044/F.hs
236 test -f B044/F_stub.h
237
238 # test -stubdir
239 test045:
240 $(RM) B045/F.hi B045/F$(OBJSUFFIX)
241 $(RM) stub045/B045/F_stub.h
242 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make B045/F.hs -stubdir stub045
243 test -f stub045/B045/F_stub.h
244
245 # -----------------------------------------------------------------------------
246 # Compilation-manager compilations, hierarchical modules, non-root modules
247
248 test051:
249 $(RM) d051_2/R/S.hi
250 $(RM) d051_2/R/S$(OBJSUFFIX)
251 $(RM) d051_1/P/Q.hi
252 $(RM) d051_1/P/Q$(OBJSUFFIX)
253 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -id051_1 -id051_2 R.S
254 test -f d051_2/R/S.hi
255 test -f d051_2/R/S$(OBJSUFFIX)
256 test -f d051_1/P/Q.hi
257 test -f d051_1/P/Q$(OBJSUFFIX)
258
259 # test -odir
260 test052:
261 $(RM) d052_2/R/S.hi
262 $(RM) d052_1/P/Q.hi
263 $(RM) -rf obj052
264 mkdir obj052
265 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -id052_1 -id052_2 -odir obj052 R.S
266 test -f d052_2/R/S.hi
267 test -f obj052/R/S$(OBJSUFFIX)
268 test -f d052_1/P/Q.hi
269 test -f obj052/P/Q$(OBJSUFFIX)
270
271 # test -hidir
272 test053:
273 $(RM) hi053/R/S.hi
274 $(RM) d053_2/R/S$(OBJSUFFIX)
275 $(RM) hi053/P/Q.hi
276 $(RM) d053_1/P/Q$(OBJSUFFIX)
277 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -id053_1 -id053_2 -hidir hi053 R.S
278 test -f hi053/R/S.hi
279 test -f d053_2/R/S$(OBJSUFFIX)
280 test -f hi053/P/Q.hi
281 test -f d053_1/P/Q$(OBJSUFFIX)
282
283 # -----------------------------------------------------------------------------
284 # Other tests
285
286 # Test that -keep-s-files works with --make and -fvia-C
287 test061a:
288 $(RM) A061a.hi A061a$(OBJSUFFIX) A061a.s
289 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -keep-s-files -fno-warn-deprecated-flags -fvia-C A061a.hs
290 test -f A061a.s
291
292 # Test that -keep-s-files works without --make
293 test061b:
294 $(RM) A061b.hi A061b$(OBJSUFFIX) A061b.s
295 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c -keep-s-files -fno-warn-deprecated-flags -fvia-C A061b.hs
296 test -f A061b.s
297
298 # Test that -main-is works with --make
299 test062a:
300 $(RM) Hello062a.hs Hello062a.hi Hello062a$(OBJSUFFIX) Hello062a.hc hello062a
301 echo "module Hello062a where { hello062a = putStrLn \"ok\" }" >Hello062a.hs
302 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -main-is Hello062a.hello062a Hello062a -o hello062a
303 ./hello062a
304 test062b:
305 $(RM) Hello062b.hs Hello062b.hi Hello062b$(OBJSUFFIX) Hello062b.hc hello062b
306 echo "module Hello062b where { main = putStrLn \"ok\" }" >Hello062b.hs
307 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -main-is Hello062b Hello062b -o hello062b
308 ./hello062b
309 test062c:
310 $(RM) Hello062c.hs Hello062c.hi Hello062c$(OBJSUFFIX) Hello062c.hc hello062c
311 echo "module Main (hello062c) where { hello062c = putStrLn \"ok\" }" >Hello062c.hs
312 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -main-is hello062c Hello062c.hs -o hello062c
313 ./hello062c
314 test062d:
315 $(RM) -rf B062d
316 $(RM) hello062d
317 mkdir B062d
318 echo "module B062d.Hello062d (hello062d) where { hello062d = putStrLn \"ok\" }" >B062d/Hello062d.hs
319 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -main-is B062d.Hello062d.hello062d B062d/Hello062d.hs -o hello062d
320 ./hello062d
321 test062e:
322 $(RM) -rf B062e
323 $(RM) Hello062e.hc hello062e
324 mkdir B062e
325 echo "module B062e.Hello062e (main) where { main = putStrLn \"ok\" }" >B062e/Hello062e.hs
326 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -main-is B062e.Hello062e B062e/Hello062e.hs -o hello062e
327 ./hello062e
328
329 # Test that -i deletes the list of search paths.
330 # The compilation will fail, but we ignore the failure and just
331 # compare the output, because make might give us a different exit code.
332 test063:
333 $(RM) A063.hi A063$(OBJSUFFIX) A063.hc D063.hi D063$(OBJSUFFIX) D063.hc
334 -"$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --make -i -v0 D063.hs
335
336 # Test -E
337 test064:
338 $(RM) A064.hi A064.hspp
339 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -E A064.hs
340 test -f A064.hspp
341
342 # Test -E/-cpp
343 test065:
344 $(RM) A065.hi A065.hspp
345 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -E -cpp A065.hs
346 test -f A065.hspp
347
348 # Test -E/-o
349 test066:
350 $(RM) A066.hi A066.tmp
351 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -E A066.hs -o A066.tmp
352 test -f A066.tmp
353
354 # Test -E/-cpp/-o
355 test067:
356 $(RM) A067.hi A067.tmp
357 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -cpp -E A067.hs -o A067.tmp
358 test -f A067.tmp
359
360 # Test -S
361 test070:
362 $(RM) A070.hi A070.s
363 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -S A070.hs
364 test -f A070.s
365
366 # Test -S/-o
367 test071:
368 $(RM) A071.hi A071.tmp
369 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -S A071.hs -o A071.tmp
370 test -f A071.tmp
371
372
373 # Tests for #2248, -o and .exe
374
375 define test081
376 $(RM) $(1).hs $(1).hi $(1)$(OBJSUFFIX) $(1).hc $(1)$(exeext)
377 echo "module Main where { main = putStrLn \"ok\" }" >$(1).hs
378 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --make -v0 $(1).hs
379 test -f $(1)$(exeext)
380 endef
381
382 test081a:
383 $(call test081, Test_081a)
384 test081b:
385 $(call test081, Test.081b)
386
387 # -----------------------------------------------------------------------------
388 # --make tests
389
390 # Test for overlap between home module and package module
391 test100:
392 $(RM) overlap/List.hi overlap/List.o
393 $(RM) overlap/Overlap.hi overlap/Overlap.o
394 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -ioverlap Overlap
395
396 # -----------------------------------------------------------------------------
397 # dependency-generation tests
398
399 DEPFILE200 = depend200
400
401 # Test that we can create a dependency file, and that we can
402 # modify an existing dependency file.
403 test200:
404 $(RM) $(DEPFILE200)
405 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -M -dep-makefile $(DEPFILE200) D200
406 test -f $(DEPFILE200)
407 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -M -dep-makefile $(DEPFILE200) D200 B200.C A200
408 test -f $(DEPFILE200)
409 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -M -dep-makefile $(DEPFILE200) D200.hs B200/C.hs A200.hs
410 test -f $(DEPFILE200)
411
412 # -----------------------------------------------------------------------------
413
414 2566::
415 if "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c foo2566.bar; then false else true; fi
416
417 .PHONY: mode001
418 # We use
419 # sed '2,$$d'
420 # rather than
421 # head -1
422 # as the latter gives
423 # ghc: <stdout>: hFlush: resource vanished (Broken pipe)
424 # on OS X
425 mode001:
426 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --make --help | sed '2,$$d'
427 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --help --make | sed '2,$$d'
428 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --interactive --help | sed '2,$$d'
429 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --help --interactive | sed '2,$$d'
430 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --version --help | sed "s/, version.*//"
431 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --help --version | sed '2,$$d'
432 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --interactive --version | sed "s/, version.*//"
433 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --version --interactive | sed "s/, version.*//"
434
435 # Test for building DLLs with ghc -shared, see #2745
436 shared001:
437 $(RM) Shared001.hi Shared001.o HSdll.dll.a HSdll.dll Shared001_stub.*
438 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 -shared Shared001.hs
439
440 # -----------------------------------------------------------------------------
441
442 3674:
443 $(RM) 3674*.o 3674*.hi 3674_pre
444 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --make 3674_pre.hs
445 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --make 3674.hs
446
447 .PHONY: rtsopts001
448 rtsopts001:
449 $(RM) rtsOpts$(exeext) rtsOpts.hi rtsOpts.o
450 "$(TEST_HC)" $(filter-out -rtsopts,$(TEST_HC_OPTS_NO_RECOMP)) -v0 --make rtsOpts -rtsopts
451 echo "Normal"
452 -./rtsOpts +RTS -C0 2>&1
453 $(RM) rtsOpts$(exeext) rtsOpts.hi rtsOpts.o
454 "$(TEST_HC)" $(filter-out -rtsopts,$(TEST_HC_OPTS_NO_RECOMP)) -v0 --make rtsOpts
455 echo "No RTS opts"
456 -./rtsOpts +RTS -C0 2>&1
457
458 .PHONY: rtsopts002
459 rtsopts002:
460 $(RM) rtsopts002$(exeext) rtsopts002.hi rtsopts002.o
461 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make rtsopts002 -rtsopts=some
462 ./rtsopts002
463 ./rtsopts002 +RTS --info >/dev/null
464 if ./rtsopts002 +RTS -C0; then exit 1; else exit 0; fi
465 GHCRTS= ./rtsopts002
466 GHCRTS=--info ./rtsopts002 >/dev/null
467 if GHCRTS=-C0 ./rtsopts002; then exit 1; else exit 0; fi
468
469 .PHONY: withRtsOpts
470 withRtsOpts:
471 $(RM) withRtsOpts$(exeext) withRtsOpts.hi withRtsOpts.o withRtsOpts.out
472 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make withRtsOpts -with-rtsopts=--info
473 ./withRtsOpts | head -1
474 # Also test for non-safe RTS opts, these should be allowed too,
475 # since the author has explicitly requested them. (#5114)
476 $(RM) withRtsOpts$(exeext) withRtsOpts.hi withRtsOpts.o withRtsOpts.out
477 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make withRtsOpts -with-rtsopts=-twithRtsOpts.out
478 ./withRtsOpts | head -1
479 test -f withRtsOpts.out
480
481 .PHONY: T3364
482 T3364:
483 -"$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -H
484
485 .PHONY: T706
486 T706:
487 cp T706a.hs T706.hs
488 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c T706.hs
489 cp T706b.hs T706.hs
490 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c T706.hs
491 echo "test" | "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --interactive -ignore-dot-ghci -v0 T706
492
493 .PHONY: T5584
494 T5584:
495 $(RM) -rf T5584_out
496 mkdir T5584_out
497 "$(TEST_HC)" -odir T5584_out -c T5584/A.hs-boot
498
499 .PHONY: T5198
500 T5198:
501 $(RM) -rf T5198dump
502 [ ! -d T5198dump ]
503 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c T5198.hs -dumpdir T5198dump -ddump-to-file -ddump-simpl
504 [ -f T5198dump/T5198.dump-simpl ]
505
506 .PHONY: T7060a
507 T7060a:
508 $(RM) -rf T7060dump
509 [ ! -d T7060dump ]
510 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -O -c T7060.hs -dumpdir T7060dump -ddump-to-file -ddump-rules
511 [ -f T7060dump/T7060.dump-rules ]
512
513 .PHONY: T7060b
514 T7060b:
515 $(RM) -rf T7060dump
516 [ ! -d T7060dump ]
517 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -O -c T7060.hs -dumpdir T7060dump -ddump-to-file -ddump-rule-firings
518 [ -f T7060dump/T7060.dump-rule-firings ]
519
520 .PHONY: T7060c
521 T7060c:
522 $(RM) -rf T7060dump
523 [ ! -d T7060dump ]
524 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -O -c T7060.hs -dumpdir T7060dump -ddump-to-file -ddump-rule-rewrites
525 [ -f T7060dump/T7060.dump-rule-rewrites ]
526
527 .PHONY: T7060
528 T7060: T7060a T7060b T7060c
529
530 .PHONY: T7130
531 T7130:
532 "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -fflul-laziness