Makefile: strip leading ./ in $(LIB_H)
Currently, $(LIB_H) is generated from two modes: if `git ls-files` is present, it will use that to enumerate the files in the repository; else it will use `$(FIND) .` to enumerate the files in the directory. There is a subtle difference between these two methods, however. With ls-files, filenames don't have a leading `./` while with $(FIND), they do. This results in $(CHK_HDRS) having to substitute out the leading `./` before it uses $(LIB_H). Unify the two possible values in $(LIB_H) by using patsubst to remove the `./` prefix at its definition. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7027f508c7
commit
cf6a2d2557
6
Makefile
6
Makefile
@ -818,12 +818,12 @@ VCSSVN_LIB = vcs-svn/lib.a
|
||||
|
||||
GENERATED_H += command-list.h
|
||||
|
||||
LIB_H := $(sort $(shell git ls-files '*.h' ':!t/' ':!Documentation/' 2>/dev/null || \
|
||||
LIB_H := $(sort $(patsubst ./%,%,$(shell git ls-files '*.h' ':!t/' ':!Documentation/' 2>/dev/null || \
|
||||
$(FIND) . \
|
||||
-name .git -prune -o \
|
||||
-name t -prune -o \
|
||||
-name Documentation -prune -o \
|
||||
-name '*.h' -print))
|
||||
-name '*.h' -print)))
|
||||
|
||||
LIB_OBJS += abspath.o
|
||||
LIB_OBJS += advice.o
|
||||
@ -2768,7 +2768,7 @@ EXCEPT_HDRS := $(GEN_HDRS) compat/% xdiff/%
|
||||
ifndef GCRYPT_SHA256
|
||||
EXCEPT_HDRS += sha256/gcrypt.h
|
||||
endif
|
||||
CHK_HDRS = $(filter-out $(EXCEPT_HDRS),$(patsubst ./%,%,$(LIB_H)))
|
||||
CHK_HDRS = $(filter-out $(EXCEPT_HDRS),$(LIB_H))
|
||||
HCO = $(patsubst %.h,%.hco,$(CHK_HDRS))
|
||||
|
||||
$(HCO): %.hco: %.h FORCE
|
||||
|
Loading…
Reference in New Issue
Block a user