From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Denton Liu" <liu.denton@gmail.com>,
"Felipe Contreras" <felipe.contreras@gmail.com>,
"Kristof Provost" <Kristof@provost-engineering.be>,
"Taylor Blau" <me@ttaylorr.com>, "Jeff King" <peff@peff.net>,
"Ramsay Jones" <ramsay@ramsayjones.plus.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v4 0/5] Makefile: "make tags" fixes & cleanup
Date: Thu, 5 Aug 2021 00:54:35 +0200 [thread overview]
Message-ID: <cover-v4-0.5-00000000000-20210804T225222Z-avarab@gmail.com> (raw)
In-Reply-To: <cover-0.5-00000000000-20210721T231900Z-avarab@gmail.com>
The big win here is that none of the tags targets depend on "FORCE"
anymore, so we'll only re-generate them if our sources change.
For v3, see:
https://lore.kernel.org/git/cover-0.5-00000000000-20210721T231900Z-avarab@gmail.com/
This addresses the feedback about the cscope* v.s. cscope.out rule in
.gitignore and "make clean", i.e. those rules are not being changed
anymore. I also changed a stray cscope.out to $@ in 4/5, which was
missed in v3.
Ævar Arnfjörð Bjarmason (5):
Makefile: move ".PHONY: cscope" near its target
Makefile: add QUIET_GEN to "cscope" target
Makefile: don't use "FORCE" for tags targets
Makefile: remove "cscope.out", not "cscope*" in cscope.out target
Makefile: normalize clobbering & xargs for tags targets
Makefile | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
Range-diff against v3:
1: 6b4ddc126d9 = 1: 2ee725e2fba Makefile: move ".PHONY: cscope" near its target
2: d3d5d332e92 = 2: 2122cb25633 Makefile: add QUIET_GEN to "cscope" target
3: 9dd69d68178 = 3: 8649716772b Makefile: don't use "FORCE" for tags targets
4: f8d151f1f6a ! 4: 643c514e12a Makefile: the "cscope" target always creates a "cscope.out"
@@ Metadata
Author: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
## Commit message ##
- Makefile: the "cscope" target always creates a "cscope.out"
+ Makefile: remove "cscope.out", not "cscope*" in cscope.out target
- In the preceding commit the "cscope" target was changed to be a phony
- alias for the "cscope.out" target.
+ Before we generate a "cscope.out" file, remove that file explicitly,
+ and not everything matching "cscope*". This doesn't change any
+ behavior of the Makefile in practice, but makes this rule less
+ confusing, and consistent with other similar rules.
The cscope target was added in a2a9150bf06 (makefile: Add a cscope
- target, 2007-10-06), and has always referred to cscope* instead of to
- cscope.out.
+ target, 2007-10-06). It has always referred to cscope* instead of to
+ cscope.out in .gitignore and the "clean" target, even though we only
+ ever generated a cscope.out file.
- As far as I can tell this ambiguity was never needed. The
- "-fcscope.out" (note, no whitespace) argument is enabled by default,
- but let's provide it explicitly for good measure.
+ This was seemingly done to aid use-cases where someone invoked cscope
+ with the "-q" flag, which would make it create a "cscope.in.out" and
+ "cscope.po.out" files in addition to "cscope.out".
- Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+ But us removing those files we never generated is confusing, so let's
+ only remove the file we need to, furthermore let's use the "-f" flag
+ to explicitly name the cscope.out file, even though it's the default
+ if not "-f" argument is supplied.
+
+ It is somewhat inconsistent to change from the glob here but not in
+ the "clean" rule and .gitignore, an earlier version of this change
+ updated those as well, but see [1][2] for why they were kept.
- ## .gitignore ##
-@@
- /.vscode/
- /tags
- /TAGS
--/cscope*
-+/cscope.out
- /compile_commands.json
- *.hcc
- *.obj
+ 1. https://lore.kernel.org/git/87k0lit57x.fsf@evledraar.gmail.com/
+ 2. https://lore.kernel.org/git/87im0kn983.fsf@evledraar.gmail.com/
+
+ Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
## Makefile ##
@@ Makefile: tags: $(FOUND_SOURCE_FILES)
@@ Makefile: tags: $(FOUND_SOURCE_FILES)
cscope.out: $(FOUND_SOURCE_FILES)
- $(QUIET_GEN)$(RM) cscope* && \
- echo $(FOUND_SOURCE_FILES) | xargs cscope -b
-+ $(QUIET_GEN)$(RM) cscope.out && \
++ $(QUIET_GEN)$(RM) $@ && \
+ echo $(FOUND_SOURCE_FILES) | xargs cscope -f$@ -b
.PHONY: cscope
cscope: cscope.out
-@@ Makefile: clean: profile-clean coverage-clean cocciclean
- $(RM) $(HCC)
- $(RM) -r bin-wrappers $(dep_dirs) $(compdb_dir) compile_commands.json
- $(RM) -r po/build/
-- $(RM) *.pyc *.pyo */*.pyc */*.pyo $(GENERATED_H) $(ETAGS_TARGET) tags cscope*
-+ $(RM) *.pyc *.pyo */*.pyc */*.pyo $(GENERATED_H) $(ETAGS_TARGET) tags cscope.out
- $(RM) -r .dist-tmp-dir .doc-tmp-dir
- $(RM) $(GIT_TARNAME).tar.gz
- $(RM) $(htmldocs).tar.gz $(manpages).tar.gz
5: f3ff76d0e98 ! 5: 1eaf3416329 Makefile: normalize clobbering & xargs for tags targets
@@ Makefile: FIND_SOURCE_FILES = ( \
+ mv $@+ $@
cscope.out: $(FOUND_SOURCE_FILES)
-- $(QUIET_GEN)$(RM) cscope.out && \
+- $(QUIET_GEN)$(RM) $@ && \
- echo $(FOUND_SOURCE_FILES) | xargs cscope -f$@ -b
+ $(QUIET_GEN)$(RM) $@+ && \
+ echo $(FOUND_SOURCE_FILES) | xargs cscope -f$@+ -b && \
--
2.33.0.rc0.597.gc569a812f0a
next prev parent reply other threads:[~2021-08-04 22:54 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-22 14:21 [PATCH 0/3] Makefile: "make tags" fixes & cleanup Ævar Arnfjörð Bjarmason
2021-06-22 14:21 ` [PATCH 1/3] Makefile: move ".PHONY: cscope" near its target Ævar Arnfjörð Bjarmason
2021-06-22 14:21 ` [PATCH 2/3] Makefile: fix "cscope" target to refer to cscope.out Ævar Arnfjörð Bjarmason
2021-06-22 19:25 ` Jeff King
2021-06-22 19:49 ` Chris Torek
2021-06-23 19:54 ` Felipe Contreras
2021-06-23 19:51 ` Felipe Contreras
2021-06-23 19:25 ` Felipe Contreras
2021-06-22 14:21 ` [PATCH 3/3] Makefile: don't use "FORCE" for tags targets Ævar Arnfjörð Bjarmason
2021-06-22 19:28 ` Jeff King
2021-06-23 19:49 ` Felipe Contreras
2021-06-22 15:16 ` [PATCH 0/3] Makefile: "make tags" fixes & cleanup Taylor Blau
2021-06-29 6:29 ` Junio C Hamano
2021-06-29 12:07 ` Ævar Arnfjörð Bjarmason
2021-06-29 11:12 ` [PATCH v2 0/5] " Ævar Arnfjörð Bjarmason
2021-06-29 11:12 ` [PATCH v2 1/5] Makefile: move ".PHONY: cscope" near its target Ævar Arnfjörð Bjarmason
2021-06-29 11:12 ` [PATCH v2 2/5] Makefile: add QUIET_GEN to "cscope" target Ævar Arnfjörð Bjarmason
2021-06-29 11:12 ` [PATCH v2 3/5] Makefile: fix "cscope" target to refer to cscope.out Ævar Arnfjörð Bjarmason
2021-07-01 22:23 ` Jeff King
2021-07-01 22:25 ` Jeff King
2021-06-29 11:12 ` [PATCH v2 4/5] Makefile: don't use "FORCE" for tags targets Ævar Arnfjörð Bjarmason
2021-06-30 0:05 ` Ramsay Jones
2021-06-29 11:12 ` [PATCH v2 5/5] Makefile: normalize clobbering & xargs " Ævar Arnfjörð Bjarmason
2021-07-21 23:23 ` [PATCH v3 0/5] Makefile: "make tags" fixes & cleanup Ævar Arnfjörð Bjarmason
2021-07-21 23:23 ` [PATCH v3 1/5] Makefile: move ".PHONY: cscope" near its target Ævar Arnfjörð Bjarmason
2021-07-21 23:23 ` [PATCH v3 2/5] Makefile: add QUIET_GEN to "cscope" target Ævar Arnfjörð Bjarmason
2021-07-21 23:23 ` [PATCH v3 3/5] Makefile: don't use "FORCE" for tags targets Ævar Arnfjörð Bjarmason
2021-07-21 23:23 ` [PATCH v3 4/5] Makefile: the "cscope" target always creates a "cscope.out" Ævar Arnfjörð Bjarmason
2021-07-22 16:55 ` Junio C Hamano
2021-07-22 17:58 ` Taylor Blau
2021-07-22 18:50 ` Junio C Hamano
2021-07-22 21:20 ` Ævar Arnfjörð Bjarmason
2021-07-21 23:23 ` [PATCH v3 5/5] Makefile: normalize clobbering & xargs for tags targets Ævar Arnfjörð Bjarmason
2021-07-23 10:43 ` Jeff King
2021-07-23 10:47 ` Jeff King
2021-07-23 10:47 ` [PATCH v3 0/5] Makefile: "make tags" fixes & cleanup Jeff King
2021-07-23 15:25 ` Junio C Hamano
2021-07-23 19:32 ` Felipe Contreras
2021-07-23 19:41 ` Felipe Contreras
2021-08-04 22:54 ` Ævar Arnfjörð Bjarmason [this message]
2021-08-04 22:54 ` [PATCH v4 1/5] Makefile: move ".PHONY: cscope" near its target Ævar Arnfjörð Bjarmason
2021-08-04 22:54 ` [PATCH v4 2/5] Makefile: add QUIET_GEN to "cscope" target Ævar Arnfjörð Bjarmason
2021-08-04 22:54 ` [PATCH v4 3/5] Makefile: don't use "FORCE" for tags targets Ævar Arnfjörð Bjarmason
2021-08-04 22:54 ` [PATCH v4 4/5] Makefile: remove "cscope.out", not "cscope*" in cscope.out target Ævar Arnfjörð Bjarmason
2021-08-04 22:54 ` [PATCH v4 5/5] Makefile: normalize clobbering & xargs for tags targets Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover-v4-0.5-00000000000-20210804T225222Z-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=Kristof@provost-engineering.be \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=liu.denton@gmail.com \
--cc=me@ttaylorr.com \
--cc=peff@peff.net \
--cc=ramsay@ramsayjones.plus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).