git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Add DEST Makefile variable
@ 2005-04-21 12:39 Matthias Urlichs
  2005-04-21 22:59 ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Matthias Urlichs @ 2005-04-21 12:39 UTC (permalink / raw)
  To: git

This patch changes the Makefile to add a DEST variable (still defaulting
to ~/bin/) so that people (or scripts) can trivially install git
Somewhere Else.

Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>

--- 42a073eb6b5bb397a3e8768a032463a7fa02e6b9/Makefile  (mode:100644 sha1:1fef8e4ae93b2abae2ceb69c265c7c8176fe44c0)
+++ 265515f9c4f089b1b61e9d2312c4b3babe189618/Makefile  (mode:100644 sha1:af90bd4e1d53fa3b930c77a240b4681a0b2a886e)
@@ -8,6 +8,7 @@
 # break unless your underlying filesystem supports those sub-second times
 # (my ext3 doesn't).
 CFLAGS=-g -O3 -Wall
+DEST=$(HOME)/bin
 
 CC=gcc
 AR=ar
@@ -56,7 +57,7 @@
 	@chmod +x $@
 
 install: $(PROG) $(GEN_SCRIPT)
-	install $(PROG) $(SCRIPT) $(GEN_SCRIPT) $(HOME)/bin/
+	install $(PROG) $(SCRIPT) $(GEN_SCRIPT) $(DEST)/
 
 clean:
 	rm -f *.o $(PROG) $(GEN_SCRIPT) $(LIB_FILE)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Add DEST Makefile variable
  2005-04-21 12:39 [PATCH] Add DEST Makefile variable Matthias Urlichs
@ 2005-04-21 22:59 ` Junio C Hamano
  2005-04-21 23:07   ` Matthias Urlichs
  0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2005-04-21 22:59 UTC (permalink / raw)
  To: Matthias Urlichs; +Cc: git

>>>>> "MU" == Matthias Urlichs <smurf@smurf.noris.de> writes:

MU>  # (my ext3 doesn't).
MU>  CFLAGS=-g -O3 -Wall
MU> +DEST=$(HOME)/bin
 
MU>  install: $(PROG) $(GEN_SCRIPT)
MU> -	install $(PROG) $(SCRIPT) $(GEN_SCRIPT) $(HOME)/bin/
MU> +	install $(PROG) $(SCRIPT) $(GEN_SCRIPT) $(DEST)/
 
I sent essentially the same some time ago and got a comment to
follow established naming convention.

Many people seem to call What you are calling DEST above BINDIR
and DEST or DESTDIR usually means something completely
different.  It goes like this:

    # DESTDIR=
    BINDIR=$(HOME)/bin

    install:
            install foobar $(DESTDIR)$(BINDIR)/

  $ su ;# personal machine install by local root
  # make BINDIR=/usr/local/bin install

  # binary package creation
  $ make BINDIR=/usr/bin DESTDIR=/var/tmp/tmp-inst install
  $ tar Ccf /var/tmp/tmp-inst tarball.tar.gz .


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Add DEST Makefile variable
  2005-04-21 22:59 ` Junio C Hamano
@ 2005-04-21 23:07   ` Matthias Urlichs
  2005-04-21 23:37     ` Pavel Roskin
  0 siblings, 1 reply; 4+ messages in thread
From: Matthias Urlichs @ 2005-04-21 23:07 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Hi,

Junio C Hamano:
> I sent essentially the same some time ago and got a comment to
> follow established naming convention.
> 
Well, for a Makefile which installs in basically one directory, that
seems to be overkill.

>     # DESTDIR=
>     BINDIR=$(HOME)/bin
>             install foobar $(DESTDIR)$(BINDIR)/
> 
That doesn't make sense; if you set DESTDIR, you are not going to
install in $HOME.

-- 
Matthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |  smurf@smurf.noris.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Add DEST Makefile variable
  2005-04-21 23:07   ` Matthias Urlichs
@ 2005-04-21 23:37     ` Pavel Roskin
  0 siblings, 0 replies; 4+ messages in thread
From: Pavel Roskin @ 2005-04-21 23:37 UTC (permalink / raw)
  To: Matthias Urlichs; +Cc: Junio C Hamano, git

Hello!

On Fri, 2005-04-22 at 01:07 +0200, Matthias Urlichs wrote:
> Hi,
> 
> Junio C Hamano:
> > I sent essentially the same some time ago and got a comment to
> > follow established naming convention.
> > 
> Well, for a Makefile which installs in basically one directory, that
> seems to be overkill.
> 
> >     # DESTDIR=
> >     BINDIR=$(HOME)/bin
> >             install foobar $(DESTDIR)$(BINDIR)/
> > 
> That doesn't make sense; if you set DESTDIR, you are not going to
> install in $HOME.

It makes sense to stick with conventions.  DESTDIR is almost always set
by a script for making a package, and that script will likely set prefix
to /usr.

prefix is set to $HOME temporarily.  It should be changed to /usr/local
some day.  It's not uncommon for $HOME to be shared between systems with
different architectures, so ideally no binaries should be installed
there.  I guess $HOME is used to save typing "su" or redefining prefix
in a project that changes every 10 minutes or so.  But once git
stabilizes, there will be no excuse.

By the way, we need to change prefix and bindir to be lowercase for
compatibility with GNU standards.  Also, ifdef is not needed - command
line trumps even unconditional variable assignments.  Another thing to
fix - DESTDIR is not used when bindir is created.

Signed-off-by: Pavel Roskin <proski@gnu.org>

--- a/Makefile
+++ b/Makefile
@@ -14,12 +14,10 @@
 # (my ext3 doesn't).
 CFLAGS=-g -O2 -Wall
 
-ifndef PREFIX
-PREFIX=$(HOME)
-endif
-ifndef BINDIR
-BINDIR=$(PREFIX)/bin
-endif
+# Should be changed to /usr/local
+prefix=$(HOME)
+
+bindir=$(prefix)/bin
 
 CC=gcc
 AR=ar
@@ -81,8 +79,8 @@ gitversion.sh: $(VERSION)
 
 
 install: $(PROG) $(GEN_SCRIPT)
-	install -m755 -d $(BINDIR)
-	install $(PROG) $(SCRIPT) $(GEN_SCRIPT) $(DESTDIR)$(BINDIR)
+	install -m755 -d $(DESTDIR)$(bindir)
+	install $(PROG) $(SCRIPT) $(GEN_SCRIPT) $(DESTDIR)$(bindir)
 
 clean:
 	rm -f *.o mozilla-sha1/*.o $(PROG) $(GEN_SCRIPT) $(LIB_FILE)


-- 
Regards,
Pavel Roskin


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-04-21 23:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-21 12:39 [PATCH] Add DEST Makefile variable Matthias Urlichs
2005-04-21 22:59 ` Junio C Hamano
2005-04-21 23:07   ` Matthias Urlichs
2005-04-21 23:37     ` Pavel Roskin

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 NNTP newsgroup(s).