# [PATCH] Include Makefile.localdef in Makefile, if it exists.

5 messages from 2005-12-02 to 2005-12-03. Participants: Jason Riedy, Johannes Schindelin, Junio C Hamano.
Thread: https://gitlist.dev/t/2734

## Jason Riedy, 2005-12-02 23:11

Subject: [PATCH] Include Makefile.localdef in Makefile, if it exists.
Message-ID: <28417.1133565102@lotus.CS.Berkeley.EDU>
URL: https://gitlist.dev/e/28417.1133565102%40lotus.CS.Berkeley.EDU

```
Makefile.localdef is just a hook for local definitions.  Users
can track their definitions in a branch and not worry about
merge conflicts.

Signed-off-by: E. Jason Riedy <ejr@cs.berkeley.edu>

---

 Makefile |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

applies-to: b93e1c78095bf4ace0806ab70295931f6da28174
65e5d3d6d31af3dda6d5cfd4e0745f34118955c3
diff --git a/Makefile b/Makefile
index df3c6eb..dc7581d 100644
--- a/Makefile
+++ b/Makefile
@@ -64,18 +64,21 @@ LDFLAGS =
 ALL_CFLAGS = $(CFLAGS)
 ALL_LDFLAGS = $(LDFLAGS)
 
-prefix = $(HOME)
-bindir = $(prefix)/bin
-template_dir = $(prefix)/share/git-core/templates/
-GIT_PYTHON_DIR = $(prefix)/share/git-core/python
-# DESTDIR=
-
 CC = gcc
 AR = ar
 TAR = tar
 INSTALL = install
 RPMBUILD = rpmbuild
 
+# Include local definitions, if any.
+-include Makefile.localdef
+
+prefix ?= $(HOME)
+bindir ?= $(prefix)/bin
+template_dir ?= $(prefix)/share/git-core/templates/
+GIT_PYTHON_DIR ?= $(prefix)/share/git-core/python
+# DESTDIR=
+
 # sparse is architecture-neutral, which means that we need to tell it
 # explicitly what architecture to check for. Fix this up for yours..
 SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__
---
0.99.9h

```

## Johannes Schindelin, 2005-12-03 02:23

Subject: Re: [PATCH] Include Makefile.localdef in Makefile, if it exists.
Message-ID: <Pine.LNX.4.63.0512030322410.19086@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0512030322410.19086%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <28417.1133565102@lotus.CS.Berkeley.EDU>

```
Hi,

On Fri, 2 Dec 2005, Jason Riedy wrote:

> Makefile.localdef is just a hook for local definitions.  Users
> can track their definitions in a branch and not worry about
> merge conflicts.

I wonder why you do not just override them in config.mak, which was 
introduced just for that purpose...

Hth,
Dscho

```

## Jason Riedy, 2005-12-03 06:35

Subject: Re: [PATCH] Include Makefile.localdef in Makefile, if it exists.
Message-ID: <3061.1133591717@lotus.CS.Berkeley.EDU>
URL: https://gitlist.dev/e/3061.1133591717%40lotus.CS.Berkeley.EDU
In-Reply-To: <Pine.LNX.4.63.0512030322410.19086@wbgn013.biozentrum.uni-wuerzburg.de>

```
And Johannes Schindelin writes:
 - I wonder why you do not just override them in config.mak, which was 
 - introduced just for that purpose...

'Cause I'm a git and didn't notice it, thanks.  The prefix stuff 
probably ought to be moved below the -include config.mak so 
someone need only change $(prefix) and not the rest.  I might
send along such a patch, along with a note about config.mak in
INSTALL...

Jason

```

## Johannes Schindelin, 2005-12-03 10:45

Subject: Re: [PATCH] Include Makefile.localdef in Makefile, if it exists.
Message-ID: <Pine.LNX.4.63.0512031144030.20595@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0512031144030.20595%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <3061.1133591717@lotus.CS.Berkeley.EDU>

```
Hi,

On Fri, 2 Dec 2005, Jason Riedy wrote:

> And Johannes Schindelin writes:
>  - I wonder why you do not just override them in config.mak, which was 
>  - introduced just for that purpose...
> 
> 'Cause I'm a git and didn't notice it, thanks.

Nopraw.

> The prefix stuff probably ought to be moved below the -include 
> config.mak so someone need only change $(prefix) and not the rest.  I 
> might send along such a patch, along with a note about config.mak in 
> INSTALL...

Actually, it is a feature that you can override prefix and template_dir 
independently.

Hth,
Dscho

```

## Junio C Hamano, 2005-12-03 19:14

Subject: Re: [PATCH] Include Makefile.localdef in Makefile, if it exists.
Message-ID: <7vmzjixaak.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vmzjixaak.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <3061.1133591717@lotus.CS.Berkeley.EDU>

```
Jason Riedy <ejr@EECS.Berkeley.EDU> writes:

> ...  I might
> send along such a patch, along with a note about config.mak in
> INSTALL...

Please don't, unless you are confident your change can satisfy
_everybody_.

People with makefile needs that are more "advanced" (that is,
something a simple "-include config.mak" cannot easily satisfy)
can do any number of things without touching Makefile I ship.
Examples include:

 - have own makefile, include Makefile.

 - have onw Make script, run "make -f Makefile" with preset
   "bindir=HERE NO_XXX=NoThanks" to reduce typing.

 - have own makefile, whose build target depends on Make.file
   and runs "make -f Make.file", with a build rule for Make.file
   to munge Makefile using custom perl/sed into it.

```
