From 451d907d9db34b9f7c787af4196e0bec05916508 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Thu, 7 Sep 2006 09:47:51 +0000 Subject: [PATCH] Add dependencies on .h files #included into Haskell source Our .depend machinery doesn't automatically generate these, so we have to add them manually. (this fixes one instance of missing dependencies in the GHC build tree, there are lots more...). --- compiler/Makefile | 45 ++++++++++++++++++++++++++++++++++++- compiler/nativeGen/AsmCodeGen.lhs | 2 +- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/compiler/Makefile b/compiler/Makefile index 69fd1fd..c6d35f0 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -477,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, @@ -854,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)) diff --git a/compiler/nativeGen/AsmCodeGen.lhs b/compiler/nativeGen/AsmCodeGen.lhs index 116c159..0e05fb8 100644 --- a/compiler/nativeGen/AsmCodeGen.lhs +++ b/compiler/nativeGen/AsmCodeGen.lhs @@ -10,7 +10,7 @@ module AsmCodeGen ( nativeCodeGen ) where #include "HsVersions.h" -#include "NCG.h" +#include "nativeGen/NCG.h" import MachInstrs import MachRegs -- 1.7.10.4