[project @ 2002-07-02 13:50:56 by simonmar]
[ghc-hetmet.git] / mk / package.mk
index 6dff1d8..651ddf5 100644 (file)
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: package.mk,v 1.11 2002/06/20 16:03:19 simonmar Exp $
+# $Id: package.mk,v 1.15 2002/07/02 08:41:28 simonmar Exp $
 
 ifneq "$(PACKAGE)" ""
 
@@ -135,6 +135,8 @@ endif # way
 # -----------------------------------------------------------------------------
 # Doc building with Haddock
 
+ifneq "$(NO_HADDOCK_DOCS)" "YES"
+
 HS_PPS = $(addsuffix .raw-hs, $(basename $(filter-out $(EXCLUDED_HADDOCK_SRCS), $(HS_SRCS))))
 
 HTML_DIR = html
@@ -145,21 +147,26 @@ html :: $(HTML_DOC)
 
 $(HTML_DOC) : $(HS_PPS) $(HADDOCK_INPLACE)
        @$(INSTALL_DIR) $(HTML_DIR)
-       $(HADDOCK_INPLACE) $(HADDOCK_OPTS) -h -o $(HTML_DIR) $(HS_PPS)
+       $(HADDOCK_INPLACE) $(HADDOCK_OPTS) -h -o $(HTML_DIR) $(HS_PPS) \
+               --dump-interface=$(PACKAGE).haddock \
+               $(foreach pkg, $(PACKAGE_DEPS), \
+                  --read-interface=../$(pkg),../$(pkg)/$(pkg).haddock)
 
 %.raw-hs : %.lhs
-       $(GHC) $(HC_OPTS) -D__HADDOCK__ -E -cpp $< -o $<.tmp && sed -e 's/^#.*//' <$<.tmp >$@
+       $(GHC_INPLACE) $(HC_OPTS) -D__HADDOCK__ -E -cpp $< -o $<.tmp && sed -e 's/^#.*//' <$<.tmp >$@
 
 %.raw-hs : %.hs
-       $(GHC) $(HC_OPTS) -D__HADDOCK__ -E -cpp $< -o $<.tmp && sed -e 's/^#.*//' <$<.tmp >$@
+       $(GHC_INPLACE) $(HC_OPTS) -D__HADDOCK__ -E -cpp $< -o $<.tmp && sed -e 's/^#.*//' <$<.tmp >$@
 
 install-docs :: $(HTML_DOC)
        @$(INSTALL_DIR) $(datadir)/html/$(PACKAGE)
        @for i in $(HTML_DIR)/*; do \
+          echo $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir)/html/$(PACKAGE); \
           $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir)/html/$(PACKAGE); \
        done
 
 endif # HS_PPS
+endif # NO_HADDOCK_DOCS
 
 # -----------------------------------------------------------------------------