# Haskell Suffix Rules
HASKELL_SPLIT_PRE= \
- if [ ! -d $(basename $@) ]; then mkdir $(basename $@) ; else exit 0; fi; \
+ $(RM) $@ ; if [ ! -d $(basename $@) ]; then mkdir $(basename $@) ; else exit 0; fi; \
find $(basename $@) -name '*.$(way_)o' -print | xargs $(RM) __rm_food;
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)
$(HC) $(HC_OPTS) -C $< -o $@
%.$(way_)o : %.$(way_)hc
- $(RM) $@
$(HASKELL_PRE_COMPILE)
$(HC) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@))
$(HASKELL_POST_COMPILE)
#-----------------------------------------------------------------------------
# Lx Suffix Rules
#
-.PRECIOUS: %.hs
%.hs : %.lx
$(LX) $(LX_OPTS) $<
%.c : %.flex
@$(RM) $@
$(FLEX) -t $(FLEX_OPTS) $< > $@ || ( $(RM) $@ && exit 1 )
+%.c : %.lex
+ @$(RM) $@
+ $(FLEX) -t $(FLEX_OPTS) $< > $@ || ( $(RM) $@ && exit 1 )
#-----------------------------------------------------------------------------
# Yacc stuff
$(TEXI2HTML) $(TEXI2HTML_OPTS) $(patsubst %.lhs,%.texi,$<)
@touch $@
+%.info:: %.texi
+ @$(RM) $@
+ $(MAKEINFO) $(MAKEINFO_OPTS) $< && $(POSTMAKEINFO) $@
+
%.hs : %.lhs
@$(RM) $@
$(LIT2PGM) $(LIT2PGM_OPTS) -o $@ $<