Fix dependency tracking on cross-rpcgen-objs

This commit is contained in:
Andreas Schwab 2012-05-12 08:40:20 +02:00
parent a46f2169d3
commit 656416c965
3 changed files with 17 additions and 5 deletions

View file

@ -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.

View file

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

View file

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