Skip to content

Commit 111ee18

Browse files
frekuigitster
authored andcommitted
Makefile: Use computed header dependencies if the compiler supports it
Previously you had to manually define COMPUTE_HEADER_DEPENDENCIES to enable this feature. It seemed a bit sad that such a useful feature had to be enabled manually. To avoid the small overhead we don't do the auto-detection if COMPUTE_HEADER_DEPENDENCIES is already set. Signed-off-by: Fredrik Kuivinen <[email protected]> Acked-by: Jonathan Nieder <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent f85a051 commit 111ee18

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

Makefile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,6 @@ all::
250250
# DEFAULT_EDITOR='$GIT_FALLBACK_EDITOR',
251251
# DEFAULT_EDITOR='"C:\Program Files\Vim\gvim.exe" --nofork'
252252
#
253-
# Define COMPUTE_HEADER_DEPENDENCIES if your compiler supports the -MMD option
254-
# and you want to avoid rebuilding objects when an unrelated header file
255-
# changes.
256-
#
257253
# Define CHECK_HEADER_DEPENDENCIES to check for problems in the hard-coded
258254
# dependency rules.
259255
#
@@ -1236,6 +1232,15 @@ endif
12361232
ifdef CHECK_HEADER_DEPENDENCIES
12371233
COMPUTE_HEADER_DEPENDENCIES =
12381234
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 $$?')
1240+
ifeq ($(dep_check),0)
1241+
COMPUTE_HEADER_DEPENDENCIES=YesPlease
1242+
endif
1243+
endif
12391244
endif
12401245

12411246
ifdef COMPUTE_HEADER_DEPENDENCIES

0 commit comments

Comments
 (0)