3 include $(TOP)/mk/boilerplate.mk
7 #-----------------------------------------------------------------------------
8 # Setting the standard variables
12 SRC_HC_OPTS+=-cpp -fglasgow-exts
14 #-----------------------------------------------------------------------------
19 ifeq ($(HOSTNAME),MSRC-HILDA)
20 CORENV_DEBUG="call devcorb2gen.bat checked"
21 CORENV_RETAIL="call devcorb2gen.bat free"
29 $(MAKE) -C $(ILX2IL_HOME) ilxdefault
32 $(MAKE) -C ../../../lib/std std.$(ilx_way).dll std.$(ilx_way).vlb
34 #========================================================================
35 # 1. From Haskell to ILX and then to IL - see build.mk
37 #------------------------------------------------------------------------
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
46 ../Entry.$(hs2ilx_suffix)_o: ../Entry.ilx
47 sed -e "s|ilx std|ilx std.$(hs2ilx_suffix)|g" ../Entry.ilx > $@.tmp
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
55 #------------------------------------------------------------------------
56 # From .HS to .EXE without using ILX
57 # Used to run performance comparisons against native code GHC
60 $(GHC_INPLACE) -Onot -o $@ $<
63 $(GHC_INPLACE) -O -o $@ $<
65 WIN_TOP_ABS = $(subst /,\,$(FPTOOLS_TOP_ABS))
66 WIN_ILX2IL_HOME = $(subst /,\,$(ILX2IL_HOME))
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>" >> $@
77 %.run: %.exe app.config
80 #------------------------------------------------------------------------
83 HSstd_cbits.dll: $(DLL_PEN)/HSstd_cbits.dll
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
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
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
112 #--------------------
115 ILVALID_HOME=$(ILX2IL_HOME) $(ILVALID) $*.nolib.il
118 (cd $(ILX2IL_HOME); $(CVS) ci -m "")
119 (cd ../..; cvs ci -m "")
120 (cd ../../../lib/std; $(CVS) ci -m "")
123 (cd $(ILX2IL_HOME); $(CVS) up)
124 (cd ../..; $(CVS) up)
125 (cd ../../../lib/std; $(CVS) up)
130 include $(TOP)/mk/target.mk