ghc-dup: e7335dfdfb730d53b5ed20132c004b3e525bd5c6
1: TOP = ..
2:
3: # If we're cleaning then we don't want to do all the GHC detection hardwork,
4: # and we certainly don't want to fail if GHC etc can't be found!
5: # However, we can't just put this conditional in boilerplate.mk, as
6: # some of the tests have a "clean" makefile target that relies on GHC_PKG
7: # being defined.
8: ifneq "$(MAKECMDGOALS)" "clean"
9: ifneq "$(MAKECMDGOALS)" "distclean"
10: ifneq "$(MAKECMDGOALS)" "maintainer-clean"
11:
12: include $(TOP)/mk/boilerplate.mk
13:
14: TIMEOUT_PROGRAM = install-inplace/bin/timeout$(exeext)
15:
16: PREFIX := $(abspath install-inplace)
17: $(eval $(call canonicalise,PREFIX))
18:
19: ifneq "$(GCC)" ""
20: WITH_GCC = --with-gcc='$(GCC)'
21: endif
22:
23: ifeq "$(WINDOWS)" "NO"
24: # Use a python timeout program, so that we don't have to worry about
25: # whether or not the compiler we're testing has built the timeout
26: # program correctly
27: $(TIMEOUT_PROGRAM): timeout.py
28: rm -rf install-inplace
29: mkdir install-inplace
30: mkdir install-inplace/bin
31: cp $< $@.py
32: echo '#!/bin/sh' > $@
33: echo 'exec "${PYTHON}" $$0.py "$$@"' >> $@
34: chmod +x $@
35: else
36: # The python timeout program doesn't work on mingw, so we still use the
37: # Haskell program on Windows
38: $(TIMEOUT_PROGRAM): timeout.hs
39: rm -rf install-inplace
40: '$(TEST_HC)' --make Setup
41: ./Setup configure --with-compiler='$(TEST_HC)' \
42: --with-hc-pkg='$(GHC_PKG)' \
43: --with-hsc2hs='$(HSC2HS)' \
44: $(WITH_GCC) \
45: --ghc-option=-threaded --prefix='$(PREFIX)'
46: ./Setup build
47: ./Setup install
48: endif
49:
50: boot all :: calibrate.out $(TIMEOUT_PROGRAM)
51:
52: calibrate.out:
53: $(RM) -f TimeMe.o TimeMe.hi TimeMe TimeMe.exe
54: $(PYTHON) calibrate '$(GHC_STAGE1)' > $@
55: # We use stage 1 to do the calibration, as stage 2 may not exist.
56: # This isn't necessarily the compiler we'll be running the testsuite
57: # with, but it's really the performance of the machine that we're
58: # interested in
59:
60: endif
61: endif
62: endif
63:
64: clean distclean maintainer-clean:
65: -./Setup clean
66: $(RM) -rf install-inplace
67: $(RM) -f calibrate.out
68: $(RM) -f Setup Setup.exe Setup.hi Setup.o
69:
Generated by git2html.