[project @ 2001-06-11 13:31:49 by dsyme]
[ghc-hetmet.git] / ghc / compiler / ilxGen / tests / Makefile
1
2 TOP = ../../..
3 include $(TOP)/mk/boilerplate.mk
4
5 WAYS=$(GhcLibWays)
6
7 #-----------------------------------------------------------------------------
8 #       Setting the standard variables
9 #
10
11 HC = $(GHC_INPLACE)
12 SRC_HC_OPTS+=-cpp -fglasgow-exts
13
14 #-----------------------------------------------------------------------------
15
16 CORENV_DEBUG=
17 CORENV_RETAIL=
18 LOCALRUN=./
19 ifeq ($(HOSTNAME),MSRC-HILDA)
20 CORENV_DEBUG="call devcorb2gen.bat checked"
21 CORENV_RETAIL="call devcorb2gen.bat free"
22 LOCALRUN=.\\
23 endif    
24
25 ghc:
26         $(MAKE) -C ../.. 
27
28 ilx:
29         $(MAKE) -C $(ILX2IL_HOME) ilxdefault
30
31 prel: ilx
32         $(MAKE) -C ../../../lib/std std.$(ilx_way).dll std.$(ilx_way).vlb
33
34 #========================================================================
35 # 1. From Haskell to ILX and then to IL - see build.mk 
36
37 #------------------------------------------------------------------------
38 # 2. From IL to .EXE
39
40 %.$(ilx_way).exe : %.$(ilx_way).il ../Entry.$(ilx_way).il 
41         cat $*.$(ilx_way).il ../Entry.$(ilx_way).il > $@.tmp
42         echo "call devcorb2gen free" > tmp.bat
43         echo "ilasm /DEBUG /QUIET /OUT=$@ $@.tmp" >> tmp.bat
44         cmd /c tmp.bat
45
46 ../Entry.$(hs2ilx_suffix)_o: ../Entry.ilx
47         sed -e "s|ilx std|ilx std.$(hs2ilx_suffix)|g" ../Entry.ilx > $@.tmp
48         mv $@.tmp $@
49
50
51 %.$(ilx_way).mvl:  %.$(ilx_way).il
52         (ILVALID_HOME=c:\\devel\\fcom\\src\\ ILVALID_MSCORLIB=mscorlib.vlb $(ILVALID) c:\\devel\\fcom\\src\\bin\\msilxlib$(ilx2il_suffix).vlb $(TOP)/lib/std/std.$(ilx_way).vlb $<) 2>&1
53
54
55 #------------------------------------------------------------------------
56 # From .HS to .EXE without using ILX
57 # Used to run performance comparisons against native code GHC
58
59 %.Onot.exe: %.hs
60         ghc -Onot -o $@ $<
61
62 %.O.exe: %.hs
63         ghc -O -o $@ $<
64
65 %.run: %.exe
66         time -p $<
67
68 #------------------------------------------------------------------------
69 # Running:
70
71 HSstd_cbits.dll: ../../../lib/std/cbits/HSstd_cbits.dll
72         cp $< $@
73
74 %.cordbg.run: HSstd_cbits.dll %.exe
75         cp $(TOP)/lib/std/*.$(ilx_way).dll .
76         cp $(ILX2IL_HOME)/bin/msilxlib$(ilx2il_suffix).dll .
77         cp $(TOP)/lib/std/*.$(ilx_way).pdb .
78         cp $(ILX2IL_HOME)/bin/msilxlib$(ilx2il_suffix).pdb .
79         echo "call devcorb2gen fastchecked" > $@.bat
80         echo "$(LOCALRUN)$(subst /,\\,$*).exe 2>&1" >> $@.bat
81         time -p cmd /c $(subst /,\\,$@).bat
82         rm $@.bat
83
84 %.debug.run: HSstd_cbits.dll %.exe
85         cp $(TOP)/lib/std/*.$(ilx_way).dll .
86         cp $(ILX2IL_HOME)/bin/msilxlib$(ilx2il_suffix).dll .
87         echo "call devcorb2gen fastchecked" > $@.bat
88         echo "$(LOCALRUN)$(subst /,\\,$*).exe 2>&1" >> $@.bat
89         time -p cmd /c $(subst /,\\,$@).bat
90         rm $@.bat
91
92 %.retail.run: HSstd_cbits.dll %.exe
93         cp $(TOP)/lib/std/*.$(ilx_way).dll .
94         cp $(ILX2IL_HOME)/bin/msilxlib$(ilx2il_suffix).dll .
95         echo "call devcorb2gen free" > $@.bat
96         echo "$(LOCALRUN)$(subst /,\\,$*).exe 2>&1" >> $@.bat
97         time -p cmd /c $(subst /,\\,$@).bat
98         rm $@.bat
99
100
101 %.run: %.exe
102         time -p $<
103
104
105 #--------------------
106
107 %.mvl: %.nolib.il
108         ILVALID_HOME=$(ILX2IL_HOME) $(ILVALID) $*.nolib.il
109
110 ci:
111         (cd $(ILX2IL_HOME); $(CVS) ci -m "")
112         (cd ../..; cvs ci -m "")
113         (cd ../../../lib/std; $(CVS) ci -m "")
114
115 upd:
116         (cd $(ILX2IL_HOME); $(CVS) up)
117         (cd ../..; $(CVS) up)
118         (cd ../../../lib/std; $(CVS) up)
119
120
121 .PHONY: %.run
122
123 include $(TOP)/mk/target.mk