[project @ 2002-01-30 12:13:11 by simonmar]
authorsimonmar <unknown>
Wed, 30 Jan 2002 12:13:11 +0000 (12:13 +0000)
committersimonmar <unknown>
Wed, 30 Jan 2002 12:13:11 +0000 (12:13 +0000)
Introduce a new tweakable $(UseGhcForCc) which if set to "YES" enables
a different set of suffix rules which build C-ish files using $(HC)
instead of $(CC).  We'll use this to clean up the ghc/rts Makefile.

mk/suffix.mk

index 60308b3..fecfd3a 100644 (file)
@@ -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