X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FilxGen%2FMakefile.stdlib;fp=compiler%2FilxGen%2FMakefile.stdlib;h=bab993346e0bac285dfa33275abd00fd45f72297;hb=0065d5ab628975892cea1ec7303f968c3338cbe1;hp=0000000000000000000000000000000000000000;hpb=28a464a75e14cece5db40f2765a29348273ff2d2;p=ghc-hetmet.git diff --git a/compiler/ilxGen/Makefile.stdlib b/compiler/ilxGen/Makefile.stdlib new file mode 100644 index 0000000..bab9933 --- /dev/null +++ b/compiler/ilxGen/Makefile.stdlib @@ -0,0 +1,82 @@ +PrelAll_SRC=Array.lhs Maybe.lhs PrelDynamic.lhs PrelIOBase.lhs PrelShow.lhs \ +CPUTime.lhs Monad.lhs PrelEnum.lhs PrelList.lhs PrelStable.lhs \ +Char.lhs Numeric.lhs PrelErr.lhs PrelTup.lhs \ +Complex.lhs PrelAddr.lhs PrelException.lhs PrelMaybe.lhs PrelWeak.lhs \ +Directory.lhs PrelArr.lhs PrelFloat.lhs PrelNum.lhs Prelude.lhs \ +IO.lhs PrelArrExtra.lhs PrelForeign.lhs PrelPack.lhs Random.lhs \ +Ix.lhs PrelBase.lhs PrelHandle.lhs PrelRead.lhs Ratio.lhs \ +List.lhs PrelByteArr.lhs PrelHugs.lhs PrelReal.lhs System.lhs \ +Locale.lhs PrelConc.lhs PrelIO.lhs PrelST.lhs Time.lhs + +PrelAll_ILX=$(patsubst %.lhs,%.ilx,$(PrelAll_SRC)) +CLEAN_FILES += $(PrelAll_ILX) +PrelAll_ILX_FWD=$(patsubst %.lhs,%.ilx.fwd.ok,$(PrelAll_SRC)) +PrelAll_IL=$(patsubst %.lhs,%.il,$(PrelAll_SRC)) PrelGHC.il +PrelAll_MOD=$(patsubst %.il,%.mod,$(PrelAll_IL)) + + +%.ilx %.ilx.fwd: %.lhs + $(HC_PRE_OPTS) + $(HC) $(HC_OPTS) -Onot -D__ILX__ --ilx $*.lhs -o $*.ilx + $(HC_POST_OPTS) + + +CORRUN= +LOCALRUN=./ +ifeq ($(HOSTNAME),msrc-hilda) +CORRUN=cmd /c "devvs && " +LOCALRUN=.\\ +endif + +ILXASM=/devel/fcom/src/bin/ilxasmx.exe -l /devel/fcom/src/ilxasm --no-ilasm --box-everything +ILASM=$(CORRUN)ilasm +AL=$(CORRUN)al + +%.ilx.fwd.ok: %.ilx.fwd + if diff -q $< $@; then true; else cp $< $@; fi + +%.mod : %.il + $(ILASM) /QUIET /DLL /OUT=$@ $< + +PrelGHC.il: ../../compiler/ilxGen/PrelGHC.il + cp $< $@ + +PrelAll.dll : ilxasm-stdlib.mod $(PrelAll_MOD) + $(AL) ilxasm-stdlib.mod $(PrelAll_MOD) -out:$@ + +%.ilx_with_fwd: %.ilx $(PrelAll_ILX_FWD) + cat $(PrelAll_ILX_FWD) $*.ilx > $@ + +%.il : %.ilx_with_fwd /devel/fcom/src/bin/ilxasmx.exe + $(ILXASM) --no-stdlib -o $@ $*.ilx_with_fwd + +ilxasm-stdlib.il : /devel/fcom/src/bin/ilxasmx.exe /devel/fcom/src/ilxasm/stdlib-func-by-mcalli.ilx + rm -f tmp.ilx + touch tmp.ilx + $(ILXASM) -o $@ tmp.ilx + rm -f tmp.ilx + + +#-------------------- +# For validation only: + +PrelAll.il: $(PrelAll_IL) ilxasm-stdlib.il + cat ilxasm-stdlib.il $(PrelAll_IL) > $@ + +%.mvl: %.il + make -C ../../compiler/ilxGen/tests ilvalidx + ILVALID_HOME=/devel/fcom/src /devel/fcom/src/bin/ilvalidx.exe $*.il + + +ilxasm: + make -C ../../compiler/ilxGen/tests ilxasmx + +ilvalid: + $(MAKE) -C /devel/fcom/src bin/ilvalidx.exe + + +ghc: + make -C ../../compiler/ilxGen/tests ghc + + +.PRECIOUS: %.ilx.fwd %.ilx.fwd.ok %.il %.ilx_with_fwd