diff --git a/mk/suffix.mk b/mk/suffix.mk index 60308b31dee878606dd7814ec9dba2a844409c4d..fecfd3aa9d3506dcc5881626dc4a430839201631 100644 --- a/mk/suffix.mk +++ b/mk/suffix.mk @@ -143,6 +143,8 @@ endif #----------------------------------------------------------------------------- # C-related suffix rules +ifeq "$(UseGhcForCc)" "" + %.$(way_)o : %.$(way_)s @$(RM) $@ $(AS) $(AS_OPTS) -o $@ $< || ( $(RM) $@ && exit 1 ) @@ -155,21 +157,44 @@ endif @$(RM) $@ $(CC) $(CC_OPTS) -c $< -o $@ -#%.$(way_)s : %.c -# @$(RM) $@ -# $(CC) $(CC_OPTS) -S $< -o $@ +%.$(way_)s : %.c + @$(RM) $@ + $(CC) $(CC_OPTS) -S $< -o $@ + +else -%.c : %.flex +%.$(way_)o : %.$(way_)s @$(RM) $@ - $(FLEX) -t $(FLEX_OPTS) $< > $@ || ( $(RM) $@ && exit 1 ) -%.c : %.lex + $(HC) $(GHC_CC_OPTS) -c $< -o $@ + +%.$(way_)o : %.c @$(RM) $@ - $(FLEX) -t $(FLEX_OPTS) $< > $@ || ( $(RM) $@ && exit 1 ) + $(HC) $(GHC_CC_OPTS) -c $< -o $@ + +%.$(way_)o : %.S + @$(RM) $@ + $(HC) $(GHC_CC_OPTS) -c $< -o $@ + +%.$(way_)s : %.c + @$(RM) $@ + $(HC) $(GHC_CC_OPTS) -c $< -o $@ + +endif # stubs are automatically generated and compiled by GHC %_stub.$(way_)o: %.o @: +# ----------------------------------------------------------------------------- +# Flex/lex + +%.c : %.flex + @$(RM) $@ + $(FLEX) -t $(FLEX_OPTS) $< > $@ || ( $(RM) $@ && exit 1 ) +%.c : %.lex + @$(RM) $@ + $(FLEX) -t $(FLEX_OPTS) $< > $@ || ( $(RM) $@ && exit 1 ) + #----------------------------------------------------------------------------- # Yacc stuff