[PATCH v3 1/4] Makefile: strip leading ./ in $(LIB_H)
- From
Denton Liu <liu.denton@gmail.com>
- Date
- Sep 16, 2019, 19:23 UTC
- Message-ID
- <e7fa5e1df76040c6e67727a4b33567a4b23a9aec.1568661443.git.liu.denton@gmail.com>
- In-Reply-To
- <cover.1568661443.git.liu.denton@gmail.com>
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> --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile index ad71ae1219..ea77198247 100644 --- a/Makefile +++ b/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 @@ -2769,7 +2769,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
-- 2.23.0