endif
endif
+ifeq "$(phase)" ""
+phase = final
+endif
+
# -----------------------------------------------------------------------------
# Utility definitions
# ----------------------------------------------
# Checking packages with 'cabal check'
-ifeq "$(phase)" ""
+ifeq "$(phase)" "final"
ifeq "$(CHECK_PACKAGES)" "YES"
all: check_packages
endif
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
.PHONY: phase_1_builds
phase_1_builds: $(PACKAGE_DATA_MKS)
+# -----------------------------------------------------------------------------
+# Support for writing GHC passes in Coq
+
+compiler/coq/:
+ git submodule update --init compiler/coq
+ cd compiler/coq/; git checkout master
+compiler/coq/build/CoqPass.hs: compiler/coq/ $(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 $@