From a7cfd56bf3da3f942dadf314115ee97ce317e1a4 Mon Sep 17 00:00:00 2001
From: simonmar <unknown>
Date: Wed, 30 Jan 2002 12:13:11 +0000
Subject: [PATCH] [project @ 2002-01-30 12:13:11 by simonmar] 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 | 39 ++++++++++++++++++++++++++++++++-------
 1 file changed, 32 insertions(+), 7 deletions(-)

diff --git a/mk/suffix.mk b/mk/suffix.mk
index 60308b31dee8..fecfd3aa9d35 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
 
-- 
GitLab