X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fsuffix.mk;h=8b69b155552ca738b45cbb6f4a944fc1c0403e9a;hb=abf99b3b0fd241036f02810c3d997d1511c9f84b;hp=2709cec8c1737792ebc1a2ecfa70966e780cd792;hpb=0d90ab1c1bd0884b7464f8846ffc8f6d97d9e25b;p=ghc-hetmet.git diff --git a/mk/suffix.mk b/mk/suffix.mk index 2709cec..8b69b15 100644 --- a/mk/suffix.mk +++ b/mk/suffix.mk @@ -31,20 +31,18 @@ endif # Haskell Suffix Rules HASKELL_SPLIT_PRE= \ - if [ ! -d $(basename $@) ]; then mkdir $(basename $@) ; else exit 0; fi; \ - find $(basename $@) -name '*.$(way_)o' -print | xargs $(RM) __rm_food; + $(RM) $@ ; if [ ! -d $(basename $@) ]; then mkdir $(basename $@); else \ + find $(basename $@) -name '*.$(way_)o' -print | xargs $(RM) __rm_food ; fi HASKELL_SPLIT_POST= touch $@ HASKELL_PRE_COMPILE=$(patsubst %,$(HASKELL_SPLIT_PRE),$(filter -split-objs,$(HC_OPTS))) HASKELL_POST_COMPILE=$(patsubst %,$(HASKELL_SPLIT_POST),$(filter -split-objs,$(HC_OPTS))) %.$(way_)o : %.hs - $(RM) $@ $(HASKELL_PRE_COMPILE) $(HC) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) $(HASKELL_POST_COMPILE) %.$(way_)o : %.lhs - $(RM) $@ $(HASKELL_PRE_COMPILE) $(HC) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) $(HASKELL_POST_COMPILE) @@ -53,8 +51,11 @@ HASKELL_POST_COMPILE=$(patsubst %,$(HASKELL_SPLIT_POST),$(filter -split-objs,$(H $(RM) $@ $(HC) $(HC_OPTS) -C $< -o $@ -%.$(way_)o : %.$(way_)hc +%.$(way_)hc : %.hs $(RM) $@ + $(HC) $(HC_OPTS) -C $< -o $@ + +%.$(way_)o : %.$(way_)hc $(HASKELL_PRE_COMPILE) $(HC) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) $(HASKELL_POST_COMPILE) @@ -98,12 +99,18 @@ HASKELL_POST_COMPILE=$(patsubst %,$(HASKELL_SPLIT_POST),$(filter -split-objs,$(H #----------------------------------------------------------------------------- # Lx Suffix Rules # -.PRECIOUS: %.hs %.hs : %.lx $(LX) $(LX_OPTS) $< #----------------------------------------------------------------------------- +# Green-card Suffix Rules +# + +%.hs : %.gc + $(GREENCARD) $(GREENCARD_OPTS) $< + +#----------------------------------------------------------------------------- # C-related suffix rules %.$(way_)o : %.$(way_)s @@ -140,13 +147,14 @@ HASKELL_POST_COMPILE=$(patsubst %,$(HASKELL_SPLIT_POST),$(filter -split-objs,$(H #----------------------------------------------------------------------------- # Runtest rules for calling $(HC) on a single-file Haskell program -%.hs : %.runtest - $(TIME) $(RUNTEST) $(HC) $(RUNTEST_FLAGS) -o2 $*.stderr $< - +%.runtest : %.hs + $(TIME) $(RUNTEST) $(HC) $(RUNTEST_OPTS) $< #----------------------------------------------------------------------------- # Doc processing suffix rules - +# +# ToDo: make these more robust +# %.dvi : %.tex @$(RM) $@ $(LTX) $< @@ -174,6 +182,31 @@ HASKELL_POST_COMPILE=$(patsubst %,$(HASKELL_SPLIT_POST),$(filter -split-objs,$(H fig2dev -L latex $< $@ #----------------------------------------------------------------------------- +# SGML suffix rules +# +# make sure these don't conflict with the literate rules! + +%.sgml : %.vsgml + @$(RM) $@ + expand $*.verb | $(SGMLVERB) > $@ + +%.dvi : %.sgml + @$(RM) $@ + $(SGML2LATEX) -m --output=dvi $< + +%.html : %.sgml + @$(RM) $@ + $(SGML2HTML) $< + +%.info : %.sgml + @$(RM) $@ + $(SGML2INFO) $< + +%.txt : %.sgml + @$(RM) $@ + $(SGML2TXT) $< + +#----------------------------------------------------------------------------- # Literate suffix rules # ToDo: somehow macroize this lot. (if only!) @@ -185,7 +218,7 @@ HASKELL_POST_COMPILE=$(patsubst %,$(HASKELL_SPLIT_POST),$(filter -split-objs,$(H %.txt : %.lit @$(RM) $@ - $(LIT2TEXT) -c $(LIT2TEXT_OPTS) -o $@ $< + $(LIT2TEXT) $(LIT2TEXT_OPTS) -o $@ $< @chmod 444 $@ %.ihtml : %.lit