X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fsuffix.mk;h=5d38b2cb4fba08ea716681c3dc442a63ebc8114f;hb=18f5ee1b2f91f62cad0210aa09b28e5ac91d9ae1;hp=afe9f6c3c143462058e1fc70a8dd82c21a031f0b;hpb=1fb1ab5d53a09607e7f6d2450806760688396387;p=ghc-hetmet.git diff --git a/mk/suffix.mk b/mk/suffix.mk index afe9f6c..5d38b2c 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 @@ -121,6 +128,9 @@ HASKELL_POST_COMPILE=$(patsubst %,$(HASKELL_SPLIT_POST),$(filter -split-objs,$(H %.c : %.flex @$(RM) $@ $(FLEX) -t $(FLEX_OPTS) $< > $@ || ( $(RM) $@ && exit 1 ) +%.c : %.lex + @$(RM) $@ + $(FLEX) -t $(FLEX_OPTS) $< > $@ || ( $(RM) $@ && exit 1 ) #----------------------------------------------------------------------------- # Yacc stuff @@ -137,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) $< @@ -182,7 +193,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 @@ -219,6 +230,10 @@ HASKELL_POST_COMPILE=$(patsubst %,$(HASKELL_SPLIT_POST),$(filter -split-objs,$(H $(TEXI2HTML) $(TEXI2HTML_OPTS) $(patsubst %.lhs,%.texi,$<) @touch $@ +%.info:: %.texi + @$(RM) $@ + $(MAKEINFO) $(MAKEINFO_OPTS) $< && $(POSTMAKEINFO) $@ + %.hs : %.lhs @$(RM) $@ $(LIT2PGM) $(LIT2PGM_OPTS) -o $@ $<