remove empty dir
[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_INPLACE) -Onot -o $@ $<
61
62 %.O.exe: %.hs
63         $(GHC_INPLACE) -O -o $@ $<
64
65 WIN_TOP_ABS = $(subst /,\,$(FPTOOLS_TOP_ABS))
66 WIN_ILX2IL_HOME = $(subst /,\,$(ILX2IL_HOME))
67
68 app.config:
69         echo "<configuration>" > $@
70         echo "<runtime>" >> $@
71         echo "<assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">" >> $@
72         echo "<probing privatePath=\"$(WIN_TOP_ABS)\\ghc\\lib\\std;$(WIN_ILX2IL_HOME)\\bin\"/>" >> $@
73         echo "</assemblyBinding>" >> $@
74         echo "</runtime>" >> $@
75         echo "</configuration>" >> $@
76
77 %.run: %.exe app.config
78         time -p $<
79
80 #------------------------------------------------------------------------
81 # Running:
82
83 HSstd_cbits.dll: $(DLL_PEN)/HSstd_cbits.dll
84         cp $< $@
85
86 %.cordbg.run: HSstd_cbits.dll %.exe
87         cp app.config $@.config
88 #       echo "call devcorb2gen fastchecked" > $@.bat
89         echo "$(LOCALRUN)$(subst /,\\,$*).exe 2>&1" >> $@.bat
90         time -p cmd /c $(subst /,\\,$@).bat
91         rm $@.bat
92
93 %.debug.run: HSstd_cbits.dll %.exe
94         cp app.config $@.config
95 #       echo "call devcorb2gen fastchecked" > $@.bat
96         echo "$(LOCALRUN)$(subst /,\\,$*).exe 2>&1" >> $@.bat
97         time -p cmd /c $(subst /,\\,$@).bat
98         rm $@.bat
99
100 %.retail.run: HSstd_cbits.dll %.exe
101         cp app.config $@.config
102 #       echo "call devcorb2gen free" > $@.bat
103         echo "$(LOCALRUN)$(subst /,\\,$*).exe 2>&1" >> $@.bat
104         time -p cmd /c $(subst /,\\,$@).bat
105         rm $@.bat
106
107
108 %.run: %.exe
109         time -p $<
110
111
112 #--------------------
113
114 %.mvl: %.nolib.il
115         ILVALID_HOME=$(ILX2IL_HOME) $(ILVALID) $*.nolib.il
116
117 ci:
118         (cd $(ILX2IL_HOME); $(CVS) ci -m "")
119         (cd ../..; cvs ci -m "")
120         (cd ../../../lib/std; $(CVS) ci -m "")
121
122 upd:
123         (cd $(ILX2IL_HOME); $(CVS) up)
124         (cd ../..; $(CVS) up)
125         (cd ../../../lib/std; $(CVS) up)
126
127
128 .PHONY: %.run
129
130 include $(TOP)/mk/target.mk