diff libgcc/static-object.mk @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents a06113de4d67
children
line wrap: on
line diff
--- a/libgcc/static-object.mk	Sun Aug 21 07:07:55 2011 +0900
+++ b/libgcc/static-object.mk	Fri Oct 27 22:46:09 2017 +0900
@@ -6,10 +6,15 @@
 
 base := $(basename $(notdir $o))
 
+# Copy c_flags to a rule-specific copy and use the copy, to avoid the
+# following rules being affected by later changes to c_flags in the
+# including file.
+c_flags-$o := $(c_flags)
+
 ifeq ($(suffix $o),.c)
 
 $(base)$(objext): $o
-	$(gcc_compile) $(c_flags) -c $< $(vis_hide)
+	$(gcc_compile) $(c_flags-$<) -c $< $(vis_hide)
 
 else
 
@@ -19,7 +24,15 @@
 endif
 endif
 
-$(base)$(objext): $o
-	$(gcc_compile) -c -xassembler-with-cpp $<
+as_flags-$o := -xassembler$(if $(filter .S,$(suffix $o)),-with-cpp)
+
+$(base)$(objext): $o $(base).vis
+	$(gcc_compile) -c $(as_flags-$<) -include $*.vis $<
+
+$(base).vis: $(base)_s$(objext)
+	$(gen-hide-list)
+
+$(base)_s$(objext): $o
+	$(gcc_s_compile) -c $(as_flags-$<) $<
 
 endif