зеркало из https://github.com/microsoft/git.git
Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
We get source files saved in "$(FOUND_SOURCE_FILES)" by running the command "git ls-files" or the command "find". We tried to have the both commands return the same list of files, but apparently the "find" command will return more files, such as the generated headers. We can filter out these generated headers to get closer results. In addition to this, "$(FOUND_SOURCE_FILES)" may contain duplicate files. E.g. "git-ls-files" may have duplicate entries for the same file in different staging areas if there are unresolved conflicts in the working tree. For this case, we can reduce duplicate entries by passing the option "--deduplicate" to git-ls-files. Junio reported that when running "make" in a working tree with unresolved conflicts, "make" may report warnings like below: Makefile:xxxx: target '.build/pot/po/FOO.c.po' given more than once in the same rule The duplicate targets are introduced by the following pattern rule we added in the preceding commit for incremental build of "po/git.pot". $(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: % Although we have resolved this issue by sorting to create a unique $(LOCALIZED_C), other targets may benefit from this. Such as: tags, cscope.out, etc. Reported-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
6dd9a91c32
Коммит
15fe4069d7
4
Makefile
4
Makefile
|
@ -845,7 +845,7 @@ generated-hdrs: $(GENERATED_H)
|
|||
## Exhaustive lists of our source files, either dynamically generated,
|
||||
## or hardcoded.
|
||||
SOURCES_CMD = ( \
|
||||
git ls-files \
|
||||
git ls-files --deduplicate \
|
||||
'*.[hcS]' \
|
||||
'*.sh' \
|
||||
':!*[tp][0-9][0-9][0-9][0-9]*' \
|
||||
|
@ -862,7 +862,7 @@ SOURCES_CMD = ( \
|
|||
-o \( -name '*.sh' -type f -print \) \
|
||||
| sed -e 's|^\./||' \
|
||||
)
|
||||
FOUND_SOURCE_FILES := $(shell $(SOURCES_CMD))
|
||||
FOUND_SOURCE_FILES := $(filter-out $(GENERATED_H),$(shell $(SOURCES_CMD)))
|
||||
|
||||
FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
|
||||
FOUND_H_SOURCES = $(filter %.h,$(FOUND_SOURCE_FILES))
|
||||
|
|
Загрузка…
Ссылка в новой задаче