update reference to compiler/coq subproject
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index d2e4e35..f818482 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -136,6 +136,10 @@ $(error $$(GhcLibWays) is empty, it must contain at least one way)
 endif
 endif
 
+ifeq "$(phase)" ""
+phase = final
+endif
+
 # -----------------------------------------------------------------------------
 # Utility definitions
 
@@ -507,7 +511,7 @@ endif
 # ----------------------------------------------
 # Checking packages with 'cabal check'
 
-ifeq "$(phase)" ""
+ifeq "$(phase)" "final"
 ifeq "$(CHECK_PACKAGES)" "YES"
 all: check_packages
 endif
@@ -644,7 +648,7 @@ $(foreach p,$(STAGE0_PACKAGES),$(eval libraries/$p_dist-boot_DO_HADDOCK = NO))
 ifeq "$(HADDOCK_DOCS)" "YES"
 libraries/index.html: inplace/bin/haddock$(exeext) $(ALL_HADDOCK_FILES)
        cd libraries && sh gen_contents_index --inplace
-ifeq "$(phase)" ""
+ifeq "$(phase)" "final"
 $(eval $(call all-target,library_doc_index,libraries/index.html))
 endif
 INSTALL_LIBRARY_DOCS += libraries/*.html libraries/*.gif libraries/*.css libraries/*.js
@@ -1208,3 +1212,15 @@ phase_0_builds: $(utils/genprimopcode_dist_depfile_c_asm)
 .PHONY: phase_1_builds
 phase_1_builds: $(PACKAGE_DATA_MKS)
 
+# -----------------------------------------------------------------------------
+# Support for writing GHC passes in Coq
+
+compiler/coq/Makefile:
+       git submodule update --init compiler/coq
+       cd compiler/coq/; git checkout master
+compiler/coq/build/CoqPass.hs: compiler/coq/Makefile $(wildcard compiler/coq/src/*.v) $(wildcard compiler/coq/src/*.hs)
+       cd compiler/coq; make
+compiler/stage1/build/CoqPass.hs: compiler/coq/build/CoqPass.hs
+       cp compiler/coq/build/CoqPass.hs $@
+compiler/stage2/build/CoqPass.hs: compiler/coq/build/CoqPass.hs
+       cp compiler/coq/build/CoqPass.hs $@