Tweaks to make it work a bit better.
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
-# $Id: Makefile,v 1.149 2001/03/27 10:32:42 simonmar Exp $
+# $Id: Makefile,v 1.150 2001/03/27 16:32:46 rrt Exp $
TOP = ..
include $(TOP)/mk/boilerplate.mk
TOP = ..
include $(TOP)/mk/boilerplate.mk
DIRS += nativeGen
else
SRC_HC_OPTS += -DOMIT_NATIVE_CODEGEN
DIRS += nativeGen
else
SRC_HC_OPTS += -DOMIT_NATIVE_CODEGEN
ifeq ($(GhcWithIlx),YES)
DIRS += ilxGen
SRC_HC_OPTS += -DILX
endif
ifeq ($(GhcWithIlx),YES)
DIRS += ilxGen
SRC_HC_OPTS += -DILX
endif
ifeq "$(BootingFromHc)" "YES"
# HC files are always from a self-booted compiler
ifeq "$(BootingFromHc)" "YES"
# HC files are always from a self-booted compiler
SRC_HC_OPTS += -package concurrent -package posix -package text -package util
else
SRC_HC_OPTS += -package concurrent -package text -package util
SRC_HC_OPTS += -package concurrent -package posix -package text -package util
else
SRC_HC_OPTS += -package concurrent -package text -package util
+main/TmpFiles_HC_OPTS += -Dmingw32_TARGET_OS
endif
SRC_CC_OPTS += -Iparser -I. -I$(TOP)/includes -O
endif
SRC_CC_OPTS += -Iparser -I. -I$(TOP)/includes -O
include ../../../lib/std/Makefile.src
# These settings are if you use a visual studio build
include ../../../lib/std/Makefile.src
# These settings are if you use a visual studio build
CORENV_DEBUG=
CORENV_RETAIL=
LOCALRUN=./
CORENV_DEBUG=
CORENV_RETAIL=
LOCALRUN=./
-ILXASM_HOME=/devel/fcom/src
+ILXASM_HOME=C:/devel/fcom/src
ILXASM=$(ILXASM_HOME)/bin/ilxasm$(ILX_FAST).exe
ILVALID=$(ILXASM_HOME)/bin/ilvalid$(ILX_FAST).exe
ILXASM_FLAGS=-l $(ILXASM_HOME)/ilxasm --no-ilasm --tailcall-indirect
ghc:
ILXASM=$(ILXASM_HOME)/bin/ilxasm$(ILX_FAST).exe
ILVALID=$(ILXASM_HOME)/bin/ilvalid$(ILX_FAST).exe
ILXASM_FLAGS=-l $(ILXASM_HOME)/ilxasm --no-ilasm --tailcall-indirect
ghc:
- $(MAKE) -C ../.. ilxGen/IlxGen.o hsc
ilxasm:
$(MAKE) -C $(ILXASM_HOME) bin/ilxasm.exe
ilxasm:
$(MAKE) -C $(ILXASM_HOME) bin/ilxasm.exe
$(MAKE) -C ../../../lib/std ilxasm std.O.vmeth-erased.generic.traced.dll
$(MAKE) -C $(ILXASM_HOME) bin/msilxlib.vmeth-erased.generic.traced.dll
$(MAKE) -C ../../../lib/std ilxasm std.O.vmeth-erased.generic.traced.dll
$(MAKE) -C $(ILXASM_HOME) bin/msilxlib.vmeth-erased.generic.traced.dll
-%.o: %.hs ../../hsc.exe
- ../../../driver/ghc-inplace -o $@ -c $*.hs
+%.o: %.hs ../../ghc-4.11
+ ../../ghc-inplace -o $@ -c $*.hs
std_NONGENERIC_STATIC_IL=$(patsubst %.lhs,../../../lib/std/%.nongeneric.boxed.static.il,$(std_SRC)) ../../../lib/std/PrelGHC.nongeneric.boxed.static.il
std_GENERIC_STATIC_IL=$(patsubst %.lhs,../../../lib/std/%.generic.static.il,$(std_SRC)) ../../../lib/std/PrelGHC.generic.static.il
std_NONGENERIC_STATIC_IL=$(patsubst %.lhs,../../../lib/std/%.nongeneric.boxed.static.il,$(std_SRC)) ../../../lib/std/PrelGHC.nongeneric.boxed.static.il
std_GENERIC_STATIC_IL=$(patsubst %.lhs,../../../lib/std/%.generic.static.il,$(std_SRC)) ../../../lib/std/PrelGHC.generic.static.il
#========================================================================
# 1. From Haskell to ILX
#========================================================================
# 1. From Haskell to ILX
-%.Onot.ilx: %.hs ../../hsc.exe
- ../../../driver/ghc-inplace -fglasgow-exts -o $@ -i../../../lib/std/.Onot -Onot --ilx $*.hs
+%.Onot.ilx: %.hs ../../ghc-4.11
+ ../../ghc-inplace -c -fglasgow-exts -o $@ -i../../../lib/std/.Onot -Onot -filx $*.hs -osuf Onot.ilx
-%.O.ilx: %.hs ../../hsc.exe
- ../../../driver/ghc-inplace -fglasgow-exts -o $@ -i../../../lib/std/.O -O --ilx $*.hs
+%.O.ilx: %.hs ../../ghc-4.11
+ ../../ghc-inplace -c -fglasgow-exts -o $@ -i../../../lib/std/.O -O -filx $*.hs -osuf O.ilx
../Entry.Onot.ilx: ../Entry.ilx
sed -e "s|ilx std|ilx std.Onot|g" ../Entry.ilx > $@.tmp
../Entry.Onot.ilx: ../Entry.ilx
sed -e "s|ilx std|ilx std.Onot|g" ../Entry.ilx > $@.tmp
#------------------------------------------------------------------------
# From IL to .EXE
#------------------------------------------------------------------------
# From IL to .EXE
+%.retail.exe: %.il ../Entry.Onot.mono.il
+ cat %.il ../Entry.Onot.mono.il > $@.tmp
echo "$(CORENV_RETAIL)" > $@.bat
echo "$(CORENV_RETAIL)" > $@.bat
- echo "ilasm -exe -quiet -out=$(subst /,\\,$@) $(subst /,\\,$<)" >> $@.bat
+ echo "ilasm -exe -quiet -out=$(subst /,\\,$@.tmp) $(subst /,\\,$<)" >> $@.bat
time -p cmd /c $(subst /,\\,$@).bat
rm $@.bat
time -p cmd /c $(subst /,\\,$@).bat
rm $@.bat
rm $@.bat
#------------------------------------------------------------------------
# From .HS to .EXE without using ILX
rm $@.bat
#------------------------------------------------------------------------
# From .HS to .EXE without using ILX
+# Used to run performance comparisons against native code GHC
%.Onot.exe: %.hs
ghc -Onot -o $@ $<
%.Onot.exe: %.hs
ghc -Onot -o $@ $<
%.O.exe: %.hs
ghc -O -o $@ $<
%.O.exe: %.hs
ghc -O -o $@ $<
+%.o: %.hs ../../hsc.exe
+ ../../../driver/ghc-inplace -o $@ -c $*.hs
+%.run: %.exe
+ time -p $<
#------------------------------------------------------------------------
# Running:
#------------------------------------------------------------------------
# Running:
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
--- $Id: DriverPipeline.hs,v 1.59 2001/03/26 12:28:15 simonmar Exp $
+-- $Id: DriverPipeline.hs,v 1.60 2001/03/27 16:32:46 rrt Exp $
keep_hc <- readIORef v_Keep_hc_files
keep_raw_s <- readIORef v_Keep_raw_s_files
keep_s <- readIORef v_Keep_s_files
keep_hc <- readIORef v_Keep_hc_files
keep_raw_s <- readIORef v_Keep_raw_s_files
keep_s <- readIORef v_Keep_s_files
+#ifdef ILX
+ writeIORef v_Object_suf (Just "ilx")
+#endif
osuf <- readIORef v_Object_suf
let
osuf <- readIORef v_Object_suf
let