mirror of
https://github.com/git/git.git
synced 2024-11-27 12:03:55 +08:00
Makefile: fix sparse dependency on GENERATED_H
The "check" Makefile target is essentially an alias around the "sparse" target. The one difference though is that it will tell users to instead run the "test" target in case they do not have sparse(1) installed, as chances are high that they wanted to execute the test suite rather than doing semantic checks. But even though the "check" target ultimately just ends up executing `make sparse`, it still depends on our generated headers. This does not make any sense though: they are irrelevant for the "test" target advice, and if these headers are required for the "sparse" target they must be declared as a dependency on the aliased target, not the alias. But even moving the dependency to the "sparse" target is wrong, as concurrent builds may then end up generating the headers and running sparse concurrently. Instead, we make them a dependency of the specific objects. While that is overly broad, it does ensure correct ordering. The alternative, specifying which file depends on what generated header explicitly, feels rather unmaintainable. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
fe7066a9d9
commit
11c1b5ca59
4
Makefile
4
Makefile
@ -3254,7 +3254,7 @@ check-sha1:: t/helper/test-tool$X
|
||||
|
||||
SP_OBJ = $(patsubst %.o,%.sp,$(OBJECTS))
|
||||
|
||||
$(SP_OBJ): %.sp: %.c %.o
|
||||
$(SP_OBJ): %.sp: %.c %.o $(GENERATED_H)
|
||||
$(QUIET_SP)cgcc -no-compile $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) \
|
||||
-Wsparse-error \
|
||||
$(SPARSE_FLAGS) $(SP_EXTRA_FLAGS) $< && \
|
||||
@ -3295,7 +3295,7 @@ style:
|
||||
git clang-format --style file --diff --extensions c,h
|
||||
|
||||
.PHONY: check
|
||||
check: $(GENERATED_H)
|
||||
check:
|
||||
@if sparse; \
|
||||
then \
|
||||
echo >&2 "Use 'make sparse' instead"; \
|
||||
|
Loading…
Reference in New Issue
Block a user