summaryrefslogtreecommitdiff
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)
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 $@