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

[PATCH] Allow INSTALL, bindir, mandir to be set in main Makefile

From
Jakub Narebski <jnareb@gmail.com>
Date
Jun 29, 2006, 16:35 UTC
Message-ID
<200606291835.53788.jnareb@gmail.com>
In-Reply-To
<200606291704.27677.jnareb@gmail.com>

Makefiles in subdirectories now use existing value of INSTALL, bindir, mandir if it is set, allowing those to be set in main Makefile or in config.mak. Main Makefile exports variables which it sets.

Renames man1 and man7 variables to man1dir and man7dir, according to "Makefile Conventions: Variables for Installation Directories" in make.info of GNU Make. Renames bin to bindir (unused, perhaps to be removed).

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
Part of autoconf series, but independent.
Should probably be split into two patches:
 * first with export + '?='
 * second renaming man1 and man7 to man1dir and man7dir
 Documentation/Makefile   |   14 +++++++-------
 Makefile                 |    2 ++
 contrib/emacs/Makefile   |    4 ++--
 contrib/git-svn/Makefile |    8 ++++----
 4 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 2b0efe7..cc83610 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -25,10 +25,10 @@ DOC_MAN1=$(patsubst %.txt,%.1,$(MAN1_TXT
 DOC_MAN7=$(patsubst %.txt,%.7,$(MAN7_TXT))
 
 prefix?=$(HOME)
-bin=$(prefix)/bin
-mandir=$(prefix)/man
-man1=$(mandir)/man1
-man7=$(mandir)/man7
+bindir?=$(prefix)/bin
+mandir?=$(prefix)/man
+man1dir=$(mandir)/man1
+man7dir=$(mandir)/man7
 # DESTDIR=
 
 INSTALL?=install
@@ -52,9 +52,9 @@ man1: $(DOC_MAN1)
 man7: $(DOC_MAN7)
 
 install: man
-	$(INSTALL) -d -m755 $(DESTDIR)$(man1) $(DESTDIR)$(man7)
-	$(INSTALL) $(DOC_MAN1) $(DESTDIR)$(man1)
-	$(INSTALL) $(DOC_MAN7) $(DESTDIR)$(man7)
+	$(INSTALL) -d -m755 $(DESTDIR)$(man1dir) $(DESTDIR)$(man7dir)
+	$(INSTALL) $(DOC_MAN1) $(DESTDIR)$(man1dir)
+	$(INSTALL) $(DOC_MAN7) $(DESTDIR)$(man7dir)
 
 
 #
diff --git a/Makefile b/Makefile
index cde619c..b8fe669 100644
--- a/Makefile
+++ b/Makefile
@@ -100,6 +100,8 @@ template_dir = $(prefix)/share/git-core/
 GIT_PYTHON_DIR = $(prefix)/share/git-core/python
 # DESTDIR=
 
+export prefix bindir gitexecdir template_dir GIT_PYTHON_DIR
+
 CC = gcc
 AR = ar
 TAR = tar
diff --git a/contrib/emacs/Makefile b/contrib/emacs/Makefile
index d3619db..350846d 100644
--- a/contrib/emacs/Makefile
+++ b/contrib/emacs/Makefile
@@ -3,9 +3,9 @@ ## Build and install stuff
 EMACS = emacs
 
 ELC = git.elc vc-git.elc
-INSTALL = install
+INSTALL ?= install
 INSTALL_ELC = $(INSTALL) -m 644
-prefix = $(HOME)
+prefix ?= $(HOME)
 emacsdir = $(prefix)/share/emacs/site-lisp
 
 all: $(ELC)
diff --git a/contrib/git-svn/Makefile b/contrib/git-svn/Makefile
index 7c20946..8cac688 100644
--- a/contrib/git-svn/Makefile
+++ b/contrib/git-svn/Makefile
@@ -1,9 +1,9 @@
 all: git-svn
 
 prefix?=$(HOME)
-bindir=$(prefix)/bin
-mandir=$(prefix)/man
-man1=$(mandir)/man1
+bindir?=$(prefix)/bin
+mandir?=$(prefix)/man
+man1dir=$(mandir)/man1
 INSTALL?=install
 doc_conf=../../Documentation/asciidoc.conf
 -include ../../config.mak
@@ -17,7 +17,7 @@ install: all
 	$(INSTALL) git-svn $(DESTDIR)$(bindir)
 
 install-doc: doc
-	$(INSTALL) git-svn.1 $(DESTDIR)$(man1)
+	$(INSTALL) git-svn.1 $(DESTDIR)$(man1dir)
 
 doc: git-svn.1
 git-svn.1 : git-svn.xml
-- 
1.4.0
Previous: Jakub NarebskiNext: Jakub Narebski
Message 6 of 30 in “autoconf: Use autoconf to write installation directories to config.mak”
  1. autoconf: Use autoconf to write installation directories to config.makJakub Narebski, Jun 29, 2006
  2. Uwe ZeisbergerJun 29, 2006
  3. autoconf: Use autoconf to check for libraries: openssl/crypto, curl, expatJakub Narebski, Jun 29, 2006
  4. autoconf: Use autoconf to check for some types and library functionsJakub Narebski, Jun 29, 2006
  5. autoconf: Cleanup generation of config.mak.append by ./configureJakub Narebski, Jun 29, 2006
  6. Allow INSTALL, bindir, mandir to be set in main MakefileJakub Narebski, Jun 29, 2006
  7. autoconf: Set mandir in config.mak.in and export variables not in MakefileJakub Narebski, Jun 29, 2006
  8. autoconf: configure.ac uses variables to set in, out and temp filesJakub Narebski, Jun 30, 2006
  9. autoconf: ./configure script outputs to config.mac.autoJakub Narebski, Jun 30, 2006
  10. autoconf: Cleanup generation of temporary "append" fileJakub Narebski, Jun 30, 2006
  11. autoconf: Write how to use ./configure generated file in git build processJakub Narebski, Jun 30, 2006
  12. autoconf: Rename ./configure output file to config.mak.autogenJakub Narebski, Jun 30, 2006
  13. Revert "autoconf: Write how to use ./configure generated file in git build process"Jakub Narebski, Jun 30, 2006
  14. autoconf: Append '-include config.mak.autogen' to config.mak if it is not presentJakub Narebski, Jun 30, 2006
  15. Jakub NarebskiJun 30, 2006
  16. autoconf: Added --with/--without for openssl, curl, expat to ./configureJakub Narebski, Jun 30, 2006
  17. Pavel RoskinJun 30, 2006
  18. Jakub NarebskiJun 30, 2006
  19. Jakub NarebskiJun 30, 2006
  20. Junio C HamanoJun 29, 2006
  21. Jakub NarebskiJun 29, 2006
  22. Matthias LederhoferJun 29, 2006
  23. Jakub NarebskiJun 29, 2006
  24. Andreas EricssonJun 30, 2006
  25. Jakub NarebskiJun 30, 2006
  26. Jakub NarebskiJul 1, 2006
  27. Junio C HamanoJun 29, 2006
  28. Jakub NarebskiJul 1, 2006
  29. Pavel RoskinJul 8, 2006
  30. Jakub NarebskiJul 1, 2006

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.