Reduce cost of deletion in levenstein distance (4 -> 3)
[git.git] / Makefile
index 2fa7211055fae82b3a77d66ce728aadf3bb8c1fa..96ebcf9830326a61313cea792f807c6d770bbf0b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -247,6 +247,9 @@ all::
 # Define NO_CROSS_DIRECTORY_HARDLINKS if you plan to distribute the installed
 # programs as a tar, where bin/ and libexec/ might be on different file systems.
 #
+# Define NO_INSTALL_HARDLINKS if you prefer to use either symbolic links or
+# copies to install built-in git commands e.g. git-cat-file.
+#
 # Define USE_NED_ALLOCATOR if you want to replace the platforms default
 # memory allocators with the nedmalloc allocator written by Niall Douglas.
 #
@@ -1835,6 +1838,10 @@ ifdef ASCIIDOC7
        export ASCIIDOC7
 endif
 
+ifdef NO_INSTALL_HARDLINKS
+       export NO_INSTALL_HARDLINKS
+endif
+
 ### profile feedback build
 #
 
@@ -2219,7 +2226,7 @@ builtin/branch.o builtin/checkout.o builtin/clone.o builtin/reset.o branch.o tra
 builtin/bundle.o bundle.o transport.o: bundle.h
 builtin/bisect--helper.o builtin/rev-list.o bisect.o: bisect.h
 builtin/clone.o builtin/fetch-pack.o transport.o: fetch-pack.h
-builtin/grep.o builtin/pack-objects.o transport-helper.o thread-utils.o: thread-utils.h
+builtin/index-pack.o builtin/grep.o builtin/pack-objects.o transport-helper.o thread-utils.o: thread-utils.h
 builtin/send-pack.o transport.o: send-pack.h
 builtin/log.o builtin/shortlog.o: shortlog.h
 builtin/prune.o builtin/reflog.o reachable.o: reachable.h
@@ -2574,19 +2581,21 @@ endif
        { test "$$bindir/" = "$$execdir/" || \
          for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
                $(RM) "$$execdir/$$p" && \
-               test -z "$(NO_CROSS_DIRECTORY_HARDLINKS)" && \
+               test -z "$(NO_INSTALL_HARDLINKS)$(NO_CROSS_DIRECTORY_HARDLINKS)" && \
                ln "$$bindir/$$p" "$$execdir/$$p" 2>/dev/null || \
                cp "$$bindir/$$p" "$$execdir/$$p" || exit; \
          done; \
        } && \
        for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \
                $(RM) "$$bindir/$$p" && \
+               test -z "$(NO_INSTALL_HARDLINKS)" && \
                ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \
                ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \
                cp "$$bindir/git$X" "$$bindir/$$p" || exit; \
        done && \
        for p in $(BUILT_INS); do \
                $(RM) "$$execdir/$$p" && \
+               test -z "$(NO_INSTALL_HARDLINKS)" && \
                ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
                ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
                cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
@@ -2594,6 +2603,7 @@ endif
        remote_curl_aliases="$(REMOTE_CURL_ALIASES)" && \
        for p in $$remote_curl_aliases; do \
                $(RM) "$$execdir/$$p" && \
+               test -z "$(NO_INSTALL_HARDLINKS)" && \
                ln "$$execdir/git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
                ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
                cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \