X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fsuffix.mk;h=b53280ac05498e1bdc011ff9f8010f48d2a03ea6;hb=c6d90de6e5236d32df49609bb9179b0108033c86;hp=59be7bd44b58d3ac1678db768adc5f8a74451672;hpb=950c7dc13e9e5be6b3cb8ead25c2650de21c2ef8;p=ghc-hetmet.git diff --git a/mk/suffix.mk b/mk/suffix.mk index 59be7bd..b53280a 100644 --- a/mk/suffix.mk +++ b/mk/suffix.mk @@ -22,6 +22,10 @@ .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) $< @@ -250,7 +243,7 @@ endif $(DIR_DOCBOOK_XSL)/html/docbook.xsl $< cp $(FPTOOLS_CSS_ABS) . -%-html/index.html : %.xml +%/index.html : %.xml $(RM) -rf $(dir $@) $(XSLTPROC) --stringparam base.dir $(dir $@) \ --stringparam use.id.as.filename 1 \ @@ -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 $@ \ @@ -327,41 +329,6 @@ endif fig2dev -L latex $< $@ #----------------------------------------------------------------------------- -# SGML suffix rules -# -%.dvi : %.sgml - @$(RM) $@ - $(SGML2DVI) $(SGML2DVI_OPTS) $< - -%.ps : %.sgml - @$(RM) $@ - $(SGML2PS) $(SGML2PS_OPTS) $< - -%.html : %.sgml - @$(RM) $@ -# $(PERL) $(COLLATEINDEX) -N -o index.sgml -# $(JADE) -t sgml -V html-index -d $(SGMLSTYLESHEET) -c $(DOCBOOK_CATALOG) $< -# $(PERL) $(COLLATEINDEX) -N -o index.sgml - $(SGML2HTML) $(SGML2HTML_OPTS) $< -# touch the .html file so that it is seen to be built - @touch $@ - -%.html : %.tex - @$(RM) $@ - $(HEVEA) $(HEVEA_OPTS) $(patsubst %.tex,%.hva,$<) $< - $(HEVEA) $(HEVEA_OPTS) $(patsubst %.tex,%.hva,$<) $< - $(HACHA) $(HACHA_OPTS) $(patsubst %.tex,%.html,$<) -# Run HeVeA twice to resolve labels - -%.rtf : %.sgml - @$(RM) $@ - $(SGML2RTF) $(SGML2RTF_OPTS) $< - -%.pdf : %.sgml - @$(RM) $@ - $(SGML2PDF) $(SGML2PDF_OPTS) $< - -#----------------------------------------------------------------------------- # Literate suffix rules %.prl : %.lprl @@ -397,4 +364,5 @@ endif % : %.pp @$(RM) $@ - $(CPP) $(RAWCPP_FLAGS) -P $(CPP_OPTS) -x c $< > $@ + $(CPP) $(RAWCPP_FLAGS) -P $(CPP_OPTS) -x c $< | \ + grep -v '^#pragma GCC' > $@