[project @ 2005-01-13 14:12:40 by simonmar]
[ghc-hetmet.git] / mk / suffix.mk
index 8792d3c..b53280a 100644 (file)
 
 .DELETE_ON_ERROR:
 
+# This line prevents GNU make from deleting any intermediate targets:
+
+.SECONDARY:
+
 #-----------------------------------------------------------------------------
 # Haskell Suffix Rules
 
@@ -131,8 +135,6 @@ endif # BootingFromHc
 #-----------------------------------------------------------------------------
 # Happy Suffix Rules
 #
-.SECONDARY: %.hs
-
 %.hs : %.ly
        $(HAPPY) $(HAPPY_OPTS) $<
 
@@ -156,18 +158,9 @@ ifneq "$(BootingFromHc)" "YES"
 endif
 
 #-----------------------------------------------------------------------------
-# Lx Suffix Rules
-#
-
-%.hs : %.lx
-       $(LX) $(LX_OPTS) $<
-
-#-----------------------------------------------------------------------------
 # Green-card Suffix Rules
 #
 
-.PRECIOUS: %.gc
-
 %.hs %_stub_ffi.c %_stub_ffi.h : %.gc
        $(GREENCARD) $(GC_OPTS) $<
 
@@ -269,8 +262,17 @@ endif
                    $(DIR_DOCBOOK_XSL)/htmlhelp/htmlhelp.xsl $<
 
 # TODO: Detect hhc via autoconf
+#
+# Two obstables here:
+#
+# * The reason for the strange "if" below is that hhc returns 0 on error and 1
+#   on success, the opposite of what shells and make expect.
+#
+# * There seems to be some trouble with DocBook indices, but the *.chm looks OK,
+#   anyway, therefore we pacify make by "|| true". Ugly...
+#
 %.chm : %-htmlhelp/index.html
-       ( cd $(dir $<) && hhc htmlhelp.hhp )
+       ( cd $(dir $<) && if hhc htmlhelp.hhp ; then false ; else true ; fi ) || true
 
 %.fo : %.xml
        $(XSLTPROC) --output $@ \