about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-05-12 08:40:20 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2012-05-16 14:09:23 +0200
commit656416c96528437f54b345b1470aaa40f145ed30 (patch)
treef408ddead3661f88e1e51646c1d26999a78d0bc7
parenta46f2169d30470c810411cb7f223713d46065651 (diff)
downloadglibc-656416c96528437f54b345b1470aaa40f145ed30.tar.gz
glibc-656416c96528437f54b345b1470aaa40f145ed30.tar.xz
glibc-656416c96528437f54b345b1470aaa40f145ed30.zip
Fix dependency tracking on cross-rpcgen-objs
-rw-r--r--ChangeLog9
-rw-r--r--Makerules5
-rw-r--r--sunrpc/Makefile8
3 files changed, 17 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 615ea849c1..629a31a170 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-05-16  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* Makerules (native-compile-mkdep-flags): Define.
+	* sunrpc/Makefile (extra-objs): Add $(addprefix
+	cross-,$(rpcgen-objs)), don't add $(cross-rpcgen-objs).
+	($(cross-rpcgen-objs)): Use $(native-compile-mkdep-flags) instead
+	of $(compile-mkdep-flags).  Depend on $(before-compile) instead of
+	calling $(make-target-directory).
+
 2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* bits/types.h (__snseconds_t): Removed.
diff --git a/Makerules b/Makerules
index b069763a72..a897d4ea65 100644
--- a/Makerules
+++ b/Makerules
@@ -369,6 +369,11 @@ compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) $(compile-mkdep-flags)
 compile-command.c = $(compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags)
 compile-command.cc = $(compile.cc) $(OUTPUT_OPTION) $(compile-mkdep-flags)
 
+# Like compile-mkdep-flags, but for use with $(BUILD_CC).  We don't want to
+# track system includes here, they may spuriously trigger an install rule,
+# and would cause the check-local-headers test to fail.
+native-compile-mkdep-flags = -MMD -MP -MF $@.dt -MT $@
+
 # GCC can grok options after the file name, and it looks nicer that way.
 compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS)
 compile.cc = $(CXX) $< -c $(CXXFLAGS) $(CPPFLAGS)
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
index 3b79dcdb72..48a458a0c0 100644
--- a/sunrpc/Makefile
+++ b/sunrpc/Makefile
@@ -91,7 +91,7 @@ install-bin := rpcgen
 rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
 	      rpc_scan.o rpc_util.o rpc_svcout.o rpc_clntout.o \
 	      rpc_tblout.o rpc_sample.o
-extra-objs = $(rpcgen-objs)
+extra-objs = $(rpcgen-objs) $(addprefix cross-,$(rpcgen-objs))
 others += rpcgen
 
 all: # Make this the default target; it will be defined in Rules.
@@ -157,15 +157,13 @@ $(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so
 $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs))
 
 cross-rpcgen-objs := $(addprefix $(objpfx)cross-,$(rpcgen-objs))
-extra-objs += $(cross-rpcgen-objs)
 
 # When generic makefile support for build system programs is
 # available, it should replace this code.  See
 # <http://sourceware.org/bugzilla/show_bug.cgi?id=14087>.
-$(cross-rpcgen-objs): $(objpfx)cross-%.o: %.c
-	$(make-target-directory)
+$(cross-rpcgen-objs): $(objpfx)cross-%.o: %.c $(before-compile)
 	$(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) $< \
-		$(OUTPUT_OPTION) $(compile-mkdep-flags) -c
+		$(OUTPUT_OPTION) $(native-compile-mkdep-flags) -c
 
 $(objpfx)cross-rpcgen: $(cross-rpcgen-objs)
 	$(BUILD_CC) $^ $(BUILD_LDFLAGS) -o $@