Formerly Makerules.~45~
authorroland <roland>
Tue, 7 Jul 1992 09:21:32 +0000 (09:21 +0000)
committerroland <roland>
Tue, 7 Jul 1992 09:21:32 +0000 (09:21 +0000)
Makerules

index 5993739..7a361bf 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -171,12 +171,21 @@ override objects  := $(addprefix $(objpfx),$(sources:.c=.o))
 
 ifndef .S-rule # Bletch.
 $(objpfx)%.o: %.S $(before-compile)
-       $(COMPILE.S) $< $(OUTPUT_OPTION)
+       $(compile.S) $(OUTPUT_OPTION)
 endif
 $(objpfx)%.o: %.s $(before-compile)
        $(COMPILE.s) $< $(OUTPUT_OPTION)
 $(objpfx)%.o: %.c $(before-compile)
-       $(COMPILE.c) $< $(OUTPUT_OPTION)
+       $(compile.c) $(OUTPUT_OPTION)
+
+ifeq ($(notdir $(firstword $(CC))),gcc)
+# GCC can grok options after the file name.
+compile.S = $(CC) $< -c $(CPPFLAGS)
+compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS)
+else
+compile.S = $(COMPILE.S) $<
+compile.c = $(COMPILE.c) $<
+endif
 \f
 # This makes all the object files in the parent library archive.