git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 7/8] Makefile: build 'gitweb' in the default target

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jun 28, 2022, 10:16 UTC
Message-ID
<patch-v3-7.8-571c9c10319-20220628T100936Z-avarab@gmail.com>
In-Reply-To
<cover-v3-0.8-00000000000-20220628T100936Z-avarab@gmail.com>
From: SZEDER Gábor <szeder.dev@gmail.com>

Our Makefile's default target used to build 'gitweb', though indirectly: the 'all' target depended on 'git-instaweb', which in turn depended on 'gitweb'. Then e25c7cc146 (Makefile: drop dependency between git-instaweb and gitweb, 2015-05-29) removed the latter dependency, and for good reasons (quoting its commit message):

  "1. git-instaweb has no build-time dependency on gitweb; it
      is a run-time dependency
   2. gitweb is a directory that we want to recursively make
      in. As a result, its recipe is marked .PHONY, which
      causes "make" to rebuild git-instaweb every time it is
      run."
Since then a simple 'make' doesn't build 'gitweb'.

Luckily, installing 'gitweb' is not broken: although 'make install' doesn't depend on the 'gitweb' target, it has a dependency on the 'install-gitweb' target, which does generate all the necessary files for 'gitweb' and installs them. However, if someone runs 'make && sudo make install', then those files in the 'gitweb' directory will be generated and owned by root, which is not nice.

List 'gitweb' as a direct dependency of the default target, so a plain 'make' will build it.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Makefile | 1 +
 1 file changed, 1 insertion(+)
diff --git a/Makefile b/Makefile
index a5f29c11681..d150be4dc32 100644
--- a/Makefile
+++ b/Makefile
@@ -3155,6 +3155,7 @@ include gitweb/Makefile
 
 .PHONY: gitweb
 gitweb: $(MAK_DIR_GITWEB_ALL)
+all:: gitweb
 
 ### Installation rules
 
-- 
2.37.0.880.gf07d56b18ba
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 30 of 31 in “Makefile: build 'gitweb' in the default target”
  1. Makefile: build 'gitweb' in the default targetSZEDER Gábor, May 25, 2022
  2. Ævar Arnfjörð BjarmasonMay 26, 2022
  3. Jeff KingMay 26, 2022
  4. SZEDER GáborMay 26, 2022
  5. Ævar Arnfjörð BjarmasonMay 27, 2022
  6. 0/7 gitweb: fix "make" not including "gitweb" without NOOP run slowdownsÆvar Arnfjörð Bjarmason, May 31, 2022
  7. 1/7 gitweb/Makefile: define all .PHONY prerequisites inlineÆvar Arnfjörð Bjarmason, May 31, 2022
  8. 2/7 gitweb/Makefile: add a $(GITWEB_ALL) variableÆvar Arnfjörð Bjarmason, May 31, 2022
  9. 3/7 gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} varsÆvar Arnfjörð Bjarmason, May 31, 2022
  10. 4/7 gitweb/Makefile: prepare to merge into top-level MakefileÆvar Arnfjörð Bjarmason, May 31, 2022
  11. 5/7 gitweb: remove "test" and "test-installed" targetsÆvar Arnfjörð Bjarmason, May 31, 2022
  12. 7/7 Makefile: build 'gitweb' in the default targetÆvar Arnfjörð Bjarmason, May 31, 2022
  13. 6/7 gitweb/Makefile: include in top-level MakefileÆvar Arnfjörð Bjarmason, May 31, 2022
  14. Junio C HamanoJun 6, 2022
  15. SZEDER GáborJun 20, 2022
  16. Jeff KingJun 21, 2022
  17. Ævar Arnfjörð BjarmasonJun 22, 2022
  18. Junio C HamanoJun 22, 2022
  19. Ævar Arnfjörð BjarmasonJun 23, 2022
  20. Junio C HamanoJun 23, 2022
  21. Ævar Arnfjörð BjarmasonJun 23, 2022
  22. Junio C HamanoJun 24, 2022
  23. 0/8 gitweb: fix "make" not including "gitweb" without NOOP run slowdownsÆvar Arnfjörð Bjarmason, Jun 28, 2022
  24. 1/8 gitweb/Makefile: define all .PHONY prerequisites inlineÆvar Arnfjörð Bjarmason, Jun 28, 2022
  25. 2/8 gitweb/Makefile: add a $(GITWEB_ALL) variableÆvar Arnfjörð Bjarmason, Jun 28, 2022
  26. 3/8 gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} varsÆvar Arnfjörð Bjarmason, Jun 28, 2022
  27. 4/8 gitweb/Makefile: prepare to merge into top-level MakefileÆvar Arnfjörð Bjarmason, Jun 28, 2022
  28. 5/8 gitweb: remove "test" and "test-installed" targetsÆvar Arnfjörð Bjarmason, Jun 28, 2022
  29. 6/8 gitweb/Makefile: include in top-level MakefileÆvar Arnfjörð Bjarmason, Jun 28, 2022
  30. 7/8 Makefile: build 'gitweb' in the default targetÆvar Arnfjörð Bjarmason, Jun 28, 2022
  31. 8/8 gitweb/Makefile: add a "NO_GITWEB" parameterÆvar Arnfjörð Bjarmason, Jun 28, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.