summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2006-09-07 09:47:51 +0000
committerSimon Marlow <simonmar@microsoft.com>2006-09-07 09:47:51 +0000
commit451d907d9db34b9f7c787af4196e0bec05916508 (patch)
treed6449886579dcf4a1a209f243fb49a78099486c7 /compiler
parenta0be7e7ccd602efd9b7d35b3e0747a2c4f155ce9 (diff)
downloadhaskell-451d907d9db34b9f7c787af4196e0bec05916508.tar.gz
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...).
Diffstat (limited to 'compiler')
-rw-r--r--compiler/Makefile45
-rw-r--r--compiler/nativeGen/AsmCodeGen.lhs2
2 files changed, 45 insertions, 2 deletions
diff --git a/compiler/Makefile b/compiler/Makefile
index 69fd1fda8f..c6d35f079b 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 116c159ff2..0e05fb8f51 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