X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FMakefile;h=c6d35f079b9478ff56d9ab6ffe93dbc37b65e534;hb=9491f55ce4ab4ea288674c6a0cc174bb8673c7a1;hp=e82adc8deeb594e4ac639ec74162357df43c63fe;hpb=78861e384da0303f2e5f0011df19a3b5777fc8a8;p=ghc-hetmet.git diff --git a/compiler/Makefile b/compiler/Makefile index e82adc8..c6d35f0 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -124,7 +124,8 @@ ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" done else for i in */*hi-boot*; do \ - $(LN_S) -f ../../$$i stage$(stage)/$$i || true ; \ + ($(RM) -f stage$(stage)/$$i \ + && $(LN_S) ../../$$i stage$(stage)/$$i) || true ; \ done endif endif @@ -476,7 +477,7 @@ SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR) SRC_HC_OPTS += \ -cpp -fglasgow-exts -fno-generics -Rghc-timing \ - -I. -IcodeGen -InativeGen -Iparser + -I. -Iparser # Omitted: -I$(GHC_INCLUDE_DIR) # We should have -I$(GHC_INCLUDE_DIR) in SRC_HC_OPTS, @@ -515,6 +516,16 @@ SRC_HC_OPTS += -package Cabal PKG_DEPENDS += Cabal endif +# We use Text.Regex which is in regex-compat with GHC 6.6+ +ifeq "$(bootstrapped)" "YES" +SRC_HC_OPTS += -package regex-compat +PKG_DEPENDS += regex-compat +else +ifeq "$(ghc_ge_605)" "YES" +SRC_HC_OPTS += -package regex-compat +endif +endif + ifeq "$(ghc_ge_603)" "YES" # Ignore lang, to avoid potential clash with the Generics module if # lang happens to be a dependency of some exposed package in the local @@ -698,7 +709,7 @@ $(odir)/ghc-inplace : $(GHC_PROG) chmod 755 $@ ghc-inplace : stage1/ghc-inplace - $(LN_S) -f $< $@ + $(RM) -f $@ && $(LN_S) $< $@ ifeq "$(stage)" "1" CLEAN_FILES += ghc-inplace @@ -843,6 +854,49 @@ TAGS_HS_SRCS = parser/Parser.y.pp $(filter-out $(DERIVED_SRCS) main/Config.hs pa include $(TOP)/mk/target.mk # ----------------------------------------------------------------------------- +# Explicit dependencies + +# Some .hs files #include other source files, but since ghc -M doesn't spit out +# these dependencies we have to include them manually. + +# We don't add dependencies on HsVersions.h, ghcautoconf.h, or ghc_boot_platform.h, +# because then modifying one of these files would force recompilation of everything, +# which is probably not what you want. However, it does mean you have to be +# careful to recompile stuff you need if you reconfigure or change HsVersions.h. + +$(odir)/codeGen/Bitmap.hs : ../includes/MachDeps.h +$(odir)/codeGen/CgCallConv.hs : ../includes/StgFun.h +$(odir)/codeGen/CgProf.hs : ../includes/MachDeps.h +$(odir)/codeGen/CgProf.hs : ../includes/Constants.h +$(odir)/codeGen/CgProf.hs : ../includes/DerivedConstants.h +$(odir)/codeGen/CgTicky.hs : ../includes/DerivedConstants.h +$(odir)/codeGen/ClosureInfo.lhs : ../includes/MachDeps.h +$(odir)/codeGen/SMRep.lhs : ../includes/MachDeps.h +$(odir)/codeGen/SMRep.lhs : ../includes/ClosureTypes.h +$(odir)/ghci/ByteCodeAsm.lhs : ../includes/Bytecodes.h +$(odir)/ghci/ByteCodeFFI.lhs : nativeGen/NCG.h +$(odir)/ghci/ByteCodeInstr.lhs : ../includes/MachDeps.h +$(odir)/ghci/ByteCodeItbls.lhs : ../includes/ClosureTypes.h +$(odir)/ghci/ByteCodeItbls.lhs : nativeGen/NCG.h +$(odir)/main/Constants.lhs : ../includes/MachRegs.h +$(odir)/main/Constants.lhs : ../includes/Constants.h +$(odir)/main/Constants.lhs : ../includes/MachDeps.h +$(odir)/main/Constants.lhs : ../includes/DerivedConstants.h +$(odir)/main/Constants.lhs : ../includes/GHCConstants.h +$(odir)/nativeGen/AsmCodeGen.lhs : nativeGen/NCG.h +$(odir)/nativeGen/MachCodeGen.hs : nativeGen/NCG.h +$(odir)/nativeGen/MachCodeGen.hs : ../includes/MachDeps.h +$(odir)/nativeGen/MachInstrs.hs : nativeGen/NCG.h +$(odir)/nativeGen/MachRegs.lhs : nativeGen/NCG.h +$(odir)/nativeGen/MachRegs.lhs : ../includes/MachRegs.h +$(odir)/nativeGen/PositionIndependentCode.hs : nativeGen/NCG.h +$(odir)/nativeGen/PprMach.hs : nativeGen/NCG.h +$(odir)/nativeGen/RegAllocInfo.hs : nativeGen/NCG.h +$(odir)/typecheck/TcForeign.lhs : nativeGen/NCG.h +$(odir)/utils/Binary.hs : ../includes/MachDeps.h +$(odir)/utils/FastMutInt.lhs : ../includes/MachDeps.h + +# ----------------------------------------------------------------------------- # Dependencies MKDEPENDHS_HC_OPTS = $(patsubst -i$(odir)/%, -i%, $(HC_OPTS))