diff options
author | Petr Baudis <pasky@suse.cz> | 2005-07-29 17:48:26 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-07-29 17:21:51 -0700 |
commit | 5bdac8b3269aea963c3192c93c26c1524def5464 (patch) | |
tree | 8bb42ec18713e54e02b239a72e5e55361d00cfed /Makefile | |
parent | [PATCH] Unify usage strings declaration (diff) | |
download | tgif-5bdac8b3269aea963c3192c93c26c1524def5464.tar.xz |
[PATCH] Improve the compilation-time settings interface
Describe variables which make itself takes and adjusts compilation
accordingly (MOZILLA_SHA1, NO_OPENSSL, PPC_SHA1), and make adding
defines more convenient through the $DEFINES variable. $COPTS includes
-g as well now and is not overriden if it was already declared in the
environment. Also, $CFLAGS is appended to rather than reset, so that if
there was already a $CFLAGS environment variable, it's appended to. Some
more variables are also made overridable through the environment. Renamed
$bin to $bindir which is the name commonly used for this.
This is part of the Cogito Makefile changes port.
Signed-off-by: Petr Baudis <pasky@ucw.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 56 |
1 files changed, 38 insertions, 18 deletions
@@ -1,33 +1,53 @@ -# -DCOLLISION_CHECK if you believe that SHA1's -# 1461501637330902918203684832716283019655932542976 hashes do not give you -# enough guarantees about no collisions between objects ever hapenning. +# Define MOZILLA_SHA1 environment variable when running make to make use of +# a bundled SHA1 routine coming from Mozilla. It is GPL'd and should be fast +# on non-x86 architectures (e.g. PowerPC), while the OpenSSL version (default +# choice) has very fast version optimized for i586. # -# -DUSE_NSEC if you want git to care about sub-second file mtimes and ctimes. -# -DUSE_STDEV if you want git to care about st_dev changing +# Define NO_OPENSSL environment variable if you do not have OpenSSL. You will +# miss out git-rev-list --merge-order. This also implies MOZILLA_SHA1. # -# Note that you need some new glibc (at least >2.2.4) for this, and it will -# BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely randomly -# break unless your underlying filesystem supports those sub-second times -# (my ext3 doesn't). +# Define PPC_SHA1 environment variable when running make to make use of +# a bundled SHA1 routine optimized for PowerPC. + + +# Define COLLISION_CHECK below if you believe that SHA1's +# 1461501637330902918203684832716283019655932542976 hashes do not give you +# sufficient guarantee that no collisions between objects will ever happen. + +# DEFINES += -DCOLLISION_CHECK + +# Define USE_NSEC below if you want git to care about sub-second file mtimes +# and ctimes. Note that you need recent glibc (at least 2.2.4) for this, and +# it will BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely +# randomly break unless your underlying filesystem supports those sub-second +# times (my ext3 doesn't). + +# DEFINES += -DUSE_NSEC + +# Define USE_STDEV below if you want git to care about the underlying device +# change being considered an inode change from the update-cache perspective. + +# DEFINES += -DUSE_STDEV + GIT_VERSION=0.99.2 -COPTS=-O2 -CFLAGS=-g $(COPTS) -Wall +COPTS?=-g -O2 +CFLAGS+=$(COPTS) -Wall $(DEFINES) prefix=$(HOME) -bin=$(prefix)/bin +bindir=$(prefix)/bin # dest= -CC=gcc -AR=ar -INSTALL=install -RPMBUILD=rpmbuild +CC?=gcc +AR?=ar +INSTALL?=install +RPMBUILD?=rpmbuild # # 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__ +SPARSE_FLAGS?=-D__BIG_ENDIAN__ -D__powerpc__ SCRIPTS=git git-apply-patch-script git-merge-one-file-script git-prune-script \ git-pull-script git-tag-script git-resolve-script git-whatchanged \ @@ -57,7 +77,7 @@ PROG= git-update-cache git-diff-files git-init-db git-write-tree \ all: $(PROG) install: $(PROG) $(SCRIPTS) - $(INSTALL) -m755 -d $(dest)$(bin) + $(INSTALL) -m755 -d $(dest)$(bindir) $(INSTALL) $(PROG) $(SCRIPTS) $(dest)$(bin) LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o \ |