Code

GIT 0.99.8g
[git.git] / Makefile
index 67279203e8d3aabd57152e247a565462257bf406..a0d4de5a25404bb907302a13ab7a670eaeb0d11d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -48,7 +48,7 @@
 
 # DEFINES += -DUSE_STDEV
 
-GIT_VERSION = 0.99.7.GIT
+GIT_VERSION = 0.99.8g
 
 CFLAGS = -g -O2 -Wall
 ALL_CFLAGS = $(CFLAGS) $(PLATFORM_DEFINES) $(DEFINES)
@@ -116,11 +116,14 @@ PROGRAMS = \
        git-ssh-upload git-tar-tree git-unpack-file \
        git-unpack-objects git-update-index git-update-server-info \
        git-upload-pack git-verify-pack git-write-tree \
+       git-update-ref git-symbolic-ref git-check-ref-format \
        $(SIMPLE_PROGRAMS)
 
-# Backward compatibility -- to be removed in 0.99.8
+# Backward compatibility -- to be removed after 1.0
 PROGRAMS += git-ssh-pull git-ssh-push
 
+GIT_LIST_TWEAK =
+
 PYMODULES = \
        gitMergeCommon.py
 
@@ -130,6 +133,8 @@ endif
 
 ifdef WITH_SEND_EMAIL
        SCRIPT_PERL += git-send-email.perl
+else
+       GIT_LIST_TWEAK += -e '/^send-email$$/d'
 endif
 
 LIB_FILE=libgit.a
@@ -174,6 +179,11 @@ endif
 ifneq (,$(findstring arm,$(shell uname -m)))
        ARM_SHA1 = YesPlease
 endif
+ifeq ($(shell uname -s),OpenBSD)
+       NO_STRCASESTR = YesPlease
+       NEEDS_LIBICONV = YesPlease
+       PLATFORM_DEFINES += -I/usr/local/include -L/usr/local/lib
+endif
 
 ifndef NO_CURL
        ifdef CURLDIR
@@ -199,18 +209,32 @@ endif
 ifndef NO_OPENSSL
        LIB_OBJS += epoch.o
        OPENSSL_LIBSSL = -lssl
+       ifdef OPENSSLDIR
+               # Again this may be problematic -- gcc does not always want -R.
+               CFLAGS += -I$(OPENSSLDIR)/include
+               OPENSSL_LINK = -L$(OPENSSLDIR)/lib -R$(OPENSSLDIR)/lib
+       else
+               OPENSSL_LINK =
+       endif
 else
        DEFINES += '-DNO_OPENSSL'
        MOZILLA_SHA1 = 1
        OPENSSL_LIBSSL =
 endif
 ifdef NEEDS_SSL_WITH_CRYPTO
-       LIB_4_CRYPTO = -lcrypto -lssl
+       LIB_4_CRYPTO = $(OPENSSL_LINK) -lcrypto -lssl
 else
-       LIB_4_CRYPTO = -lcrypto
+       LIB_4_CRYPTO = $(OPENSSL_LINK) -lcrypto
 endif
 ifdef NEEDS_LIBICONV
-       LIB_4_ICONV = -liconv
+       ifdef ICONVDIR
+               # Again this may be problematic -- gcc does not always want -R.
+               CFLAGS += -I$(ICONVDIR)/include
+               ICONV_LINK = -L$(ICONVDIR)/lib -R$(ICONVDIR)/lib
+       else
+               ICONV_LINK =
+       endif
+       LIB_4_ICONV = $(ICONV_LINK) -liconv
 else
        LIB_4_ICONV =
 endif
@@ -223,7 +247,7 @@ ifdef NEEDS_NSL
        SIMPLE_LIB += -lnsl
 endif
 ifdef NO_STRCASESTR
-       DEFINES += -Dstrcasestr=gitstrcasestr
+       DEFINES += -Dstrcasestr=gitstrcasestr -DNO_STRCASESTR=1
        LIB_OBJS += compat/strcasestr.o
 endif
 
@@ -252,7 +276,7 @@ SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
          $(patsubst %.py,%,$(SCRIPT_PYTHON)) \
          gitk
 
-export TAR INSTALL DESTDIR
+export TAR INSTALL DESTDIR SHELL_PATH
 ### Build rules
 
 all: $(PROGRAMS) $(SCRIPTS)
@@ -263,7 +287,8 @@ all:
 git: git.sh Makefile
        rm -f $@+ $@
        sed -e '1s|#!.*/sh|#!$(SHELL_PATH)|' \
-           -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.sh >$@+
+           -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
+           $(GIT_LIST_TWEAK) <$@.sh >$@+
        chmod +x $@+
        mv $@+ $@
 
@@ -344,6 +369,7 @@ install: $(PROGRAMS) $(SCRIPTS)
        $(INSTALL) -d -m755 $(DESTDIR)$(bindir)
        $(INSTALL) $(PROGRAMS) $(SCRIPTS) $(DESTDIR)$(bindir)
        $(INSTALL) git-revert $(DESTDIR)$(bindir)/git-cherry-pick
+       sh ./cmd-rename.sh $(DESTDIR)$(bindir)
        $(MAKE) -C templates install
        $(INSTALL) -d -m755 $(DESTDIR)$(GIT_PYTHON_DIR)
        $(INSTALL) $(PYMODULES) $(DESTDIR)$(GIT_PYTHON_DIR)
@@ -380,9 +406,9 @@ deb: dist
 ### Cleaning rules
 
 clean:
-       rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROGRAMS) $(LIB_FILE)
+       rm -f *.o mozilla-sha1/*.o ppc/*.o compat/*.o $(PROGRAMS) $(LIB_FILE)
        rm -f $(filter-out gitk,$(SCRIPTS))
-       rm -f git-core.spec
+       rm -f git-core.spec *.pyc *.pyo
        rm -rf $(GIT_TARNAME)
        rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
        rm -f git-core_$(GIT_VERSION)-*.deb git-core_$(GIT_VERSION)-*.dsc