Makefile: Improve compiler header dependency check

The Makefile enables CHECK_HEADER_DEPENDENCIES when the compiler supports generating header dependencies. Make the check use the same flags as the invocation to avoid a false positive when user-configured compiler flags contain incompatible options. For example, without this patch, trying to build universal binaries on a Mac using CFLAGS='-arch i386 -arch x86_64' produces: gcc-4.2: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags While at it, remove "sh -c" in the command passed to $(shell); at this point in the Makefile, SHELL has already been set to a sensible shell and it is better not to override that. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

David Aguilar committed Aug 30, 2011 at 01:27 UTC 1816bf26eccc0452d5db144f53020879c111c0dc
1 file changed +3 -3
Makefile
+3 -3
@@ -1234,9 +1234,9 @@ COMPUTE_HEADER_DEPENDENCIES =
1234 USE_COMPUTED_HEADER_DEPENDENCIES =
1235 else
1236 ifndef COMPUTE_HEADER_DEPENDENCIES
1237 -dep_check = $(shell sh -c \
1238 - '$(CC) -c -MF /dev/null -MMD -MP -x c /dev/null -o /dev/null 2>&1; \
1239 - echo $$?')
1237 +dep_check = $(shell $(CC) $(ALL_CFLAGS) \
1238 + -c -MF /dev/null -MMD -MP -x c /dev/null -o /dev/null 2>&1; \
1239 + echo $$?)
1240 ifeq ($(dep_check),0)
1241 COMPUTE_HEADER_DEPENDENCIES=YesPlease
1242 endif