@@ -592,6 +592,7 @@ FUZZ_PROGRAMS =
592592LIB_OBJS =
593593PROGRAM_OBJS =
594594PROGRAMS =
595+ EXCLUDED_PROGRAMS =
595596SCRIPT_PERL =
596597SCRIPT_PYTHON =
597598SCRIPT_SH =
@@ -614,7 +615,6 @@ SCRIPT_SH += git-merge-resolve.sh
614615SCRIPT_SH += git-mergetool.sh
615616SCRIPT_SH += git-quiltimport.sh
616617SCRIPT_SH += git-legacy-stash.sh
617- SCRIPT_SH += git-remote-testgit.sh
618618SCRIPT_SH += git-request-pull.sh
619619SCRIPT_SH += git-submodule.sh
620620SCRIPT_SH += git-web--browse.sh
@@ -637,17 +637,11 @@ SCRIPT_PERL += git-svn.perl
637637
638638SCRIPT_PYTHON += git-p4.py
639639
640- NO_INSTALL += git-remote-testgit
641-
642640# Generated files for scripts
643641SCRIPT_SH_GEN = $(patsubst % .sh,% ,$(SCRIPT_SH ) )
644642SCRIPT_PERL_GEN = $(patsubst % .perl,% ,$(SCRIPT_PERL ) )
645643SCRIPT_PYTHON_GEN = $(patsubst % .py,% ,$(SCRIPT_PYTHON ) )
646644
647- SCRIPT_SH_INS = $(filter-out $(NO_INSTALL ) ,$(SCRIPT_SH_GEN ) )
648- SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL ) ,$(SCRIPT_PERL_GEN ) )
649- SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL ) ,$(SCRIPT_PYTHON_GEN ) )
650-
651645# Individual rules to allow e.g.
652646# "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
653647# from subdirectories like contrib/*/
@@ -657,11 +651,11 @@ build-sh-script: $(SCRIPT_SH_GEN)
657651build-python-script : $(SCRIPT_PYTHON_GEN )
658652
659653.PHONY : install-perl-script install-sh-script install-python-script
660- install-sh-script : $(SCRIPT_SH_INS )
654+ install-sh-script : $(SCRIPT_SH_GEN )
661655 $(INSTALL ) $^ ' $(DESTDIR_SQ)$(gitexec_instdir_SQ)'
662- install-perl-script : $(SCRIPT_PERL_INS )
656+ install-perl-script : $(SCRIPT_PERL_GEN )
663657 $(INSTALL ) $^ ' $(DESTDIR_SQ)$(gitexec_instdir_SQ)'
664- install-python-script : $(SCRIPT_PYTHON_INS )
658+ install-python-script : $(SCRIPT_PYTHON_GEN )
665659 $(INSTALL ) $^ ' $(DESTDIR_SQ)$(gitexec_instdir_SQ)'
666660
667661.PHONY : clean-perl-script clean-sh-script clean-python-script
@@ -672,9 +666,9 @@ clean-perl-script:
672666clean-python-script :
673667 $(RM ) $(SCRIPT_PYTHON_GEN )
674668
675- SCRIPTS = $(SCRIPT_SH_INS ) \
676- $(SCRIPT_PERL_INS ) \
677- $(SCRIPT_PYTHON_INS ) \
669+ SCRIPTS = $(SCRIPT_SH_GEN ) \
670+ $(SCRIPT_PERL_GEN ) \
671+ $(SCRIPT_PYTHON_GEN ) \
678672 git-instaweb
679673
680674ETAGS_TARGET = TAGS
@@ -744,6 +738,7 @@ TEST_BUILTINS_OBJS += test-repository.o
744738TEST_BUILTINS_OBJS += test-revision-walking.o
745739TEST_BUILTINS_OBJS += test-run-command.o
746740TEST_BUILTINS_OBJS += test-scrap-cache-tree.o
741+ TEST_BUILTINS_OBJS += test-serve-v2.o
747742TEST_BUILTINS_OBJS += test-sha1.o
748743TEST_BUILTINS_OBJS += test-sha1-array.o
749744TEST_BUILTINS_OBJS += test-sha256.o
@@ -1125,7 +1120,6 @@ BUILTIN_OBJS += builtin/rev-parse.o
11251120BUILTIN_OBJS += builtin/revert.o
11261121BUILTIN_OBJS += builtin/rm.o
11271122BUILTIN_OBJS += builtin/send-pack.o
1128- BUILTIN_OBJS += builtin/serve.o
11291123BUILTIN_OBJS += builtin/shortlog.o
11301124BUILTIN_OBJS += builtin/show-branch.o
11311125BUILTIN_OBJS += builtin/show-index.o
@@ -1342,6 +1336,7 @@ ifdef NO_CURL
13421336 REMOTE_CURL_PRIMARY =
13431337 REMOTE_CURL_ALIASES =
13441338 REMOTE_CURL_NAMES =
1339+ EXCLUDED_PROGRAMS += git-http-fetch git-http-push
13451340else
13461341 ifdef CURLDIR
13471342 # Try "-Wl,-rpath=$(CURLDIR)/$(lib)" in such a case.
@@ -1366,7 +1361,11 @@ endif
13661361 ifeq "$(curl_check)" "070908"
13671362 ifndef NO_EXPAT
13681363 PROGRAM_OBJS += http-push.o
1364+ else
1365+ EXCLUDED_PROGRAMS += git-http-push
13691366 endif
1367+ else
1368+ EXCLUDED_PROGRAMS += git-http-push
13701369 endif
13711370 curl_check := $(shell (echo 072200; $(CURL_CONFIG) --vernum | sed -e '/^70[BC]/s/^/0/') 2>/dev/null | sort -r | sed -ne 2p)
13721371 ifeq "$(curl_check)" "072200"
@@ -1614,6 +1613,7 @@ ifdef NO_INET_PTON
16141613endif
16151614ifdef NO_UNIX_SOCKETS
16161615 BASIC_CFLAGS += -DNO_UNIX_SOCKETS
1616+ EXCLUDED_PROGRAMS += git-credential-cache git-credential-cache--daemon
16171617else
16181618 LIB_OBJS += unix-socket.o
16191619 PROGRAM_OBJS += credential-cache.o
@@ -2133,7 +2133,9 @@ $(BUILT_INS): git$X
21332133command-list.h : generate-cmdlist.sh command-list.txt
21342134
21352135command-list.h : $(wildcard Documentation/git* .txt) Documentation/* config.txt Documentation/config/* .txt
2136- $(QUIET_GEN )$(SHELL_PATH ) ./generate-cmdlist.sh command-list.txt > $@ + && mv $@ + $@
2136+ $(QUIET_GEN )$(SHELL_PATH ) ./generate-cmdlist.sh \
2137+ $(patsubst % ,--exclude-program % ,$(EXCLUDED_PROGRAMS ) ) \
2138+ command-list.txt > $@ + && mv $@ + $@
21372139
21382140SCRIPT_DEFINES = $(SHELL_PATH_SQ ) :$(DIFF_SQ ) :$(GIT_VERSION ) :\
21392141 $(localedir_SQ ) :$(NO_CURL ) :$(USE_GETTEXT_SCHEME ) :$(SANE_TOOL_PATH_SQ ) :\
@@ -2466,6 +2468,14 @@ $(VCSSVN_LIB): $(VCSSVN_OBJS)
24662468
24672469export DEFAULT_EDITOR DEFAULT_PAGER
24682470
2471+ Documentation/GIT-EXCLUDED-PROGRAMS : FORCE
2472+ @EXCLUDED=' EXCLUDED_PROGRAMS := $(EXCLUDED_PROGRAMS)' ; \
2473+ if test x" $$ EXCLUDED" ! = \
2474+ x" ` cat Documentation/GIT-EXCLUDED-PROGRAMS 2> /dev/null` " ; then \
2475+ echo >&2 " * new documentation flags" ; \
2476+ echo " $$ EXCLUDED" > Documentation/GIT-EXCLUDED-PROGRAMS; \
2477+ fi
2478+
24692479.PHONY : doc man man-perl html info pdf
24702480doc : man-perl
24712481 $(MAKE ) -C Documentation all
@@ -2704,7 +2714,6 @@ endif
27042714test_bindir_programs := $(patsubst % ,bin-wrappers/% ,$(BINDIR_PROGRAMS_NEED_X ) $(BINDIR_PROGRAMS_NO_X ) $(TEST_PROGRAMS_NEED_X ) )
27052715
27062716all :: $(TEST_PROGRAMS ) $(test_bindir_programs )
2707- all :: $(NO_INSTALL )
27082717
27092718bin-wrappers/% : wrap-for-bin.sh
27102719 @mkdir -p bin-wrappers
@@ -2991,7 +3000,7 @@ rpm::
29913000
29923001artifacts-tar :: $(ALL_PROGRAMS ) $(SCRIPT_LIB ) $(BUILT_INS ) $(OTHER_PROGRAMS ) \
29933002 GIT-BUILD-OPTIONS $(TEST_PROGRAMS ) $(test_bindir_programs ) \
2994- $(NO_INSTALL ) $( MOFILES )
3003+ $(MOFILES )
29953004 $(QUIET_SUBDIR0 ) templates $(QUIET_SUBDIR1 ) \
29963005 SHELL_PATH=' $(SHELL_PATH_SQ)' PERL_PATH=' $(PERL_PATH_SQ)'
29973006 test -n " $( ARTIFACTS_DIRECTORY) "
@@ -3040,7 +3049,7 @@ clean: profile-clean coverage-clean cocciclean
30403049 $(RM ) $(OBJECTS )
30413050 $(RM ) $(LIB_FILE ) $(XDIFF_LIB ) $(VCSSVN_LIB )
30423051 $(RM ) $(ALL_PROGRAMS ) $(SCRIPT_LIB ) $(BUILT_INS ) git$X
3043- $(RM ) $(TEST_PROGRAMS ) $( NO_INSTALL )
3052+ $(RM ) $(TEST_PROGRAMS )
30443053 $(RM ) $(FUZZ_PROGRAMS )
30453054 $(RM ) -r bin-wrappers $(dep_dirs )
30463055 $(RM ) -r po/build/
@@ -3049,6 +3058,7 @@ clean: profile-clean coverage-clean cocciclean
30493058 $(RM ) $(GIT_TARNAME ) .tar.gz git-core_$(GIT_VERSION ) -* .tar.gz
30503059 $(RM ) $(htmldocs ) .tar.gz $(manpages ) .tar.gz
30513060 $(MAKE ) -C Documentation/ clean
3061+ $(RM ) Documentation/GIT-EXCLUDED-PROGRAMS
30523062ifndef NO_PERL
30533063 $(MAKE) -C gitweb clean
30543064 $(RM) -r perl/build/
@@ -3084,7 +3094,7 @@ check-docs::
30843094 git-merge-octopus | git-merge-ours | git-merge-recursive | \
30853095 git-merge-resolve | git-merge-subtree | \
30863096 git-fsck-objects | git-init-db | \
3087- git-remote-* | git-stage | \
3097+ git-remote-* | git-stage | git-legacy- * | \
30883098 git-?* --?* ) continue ;; \
30893099 esac ; \
30903100 test -f " Documentation/$$ v.txt" || \
@@ -3108,7 +3118,7 @@ check-docs::
31083118 -e ' s/\.txt//' ; \
31093119 ) | while read how cmd; \
31103120 do \
3111- case " $( patsubst %$X ,%,$( ALL_COMMANDS) ) " in \
3121+ case " $( patsubst %$X ,%,$( ALL_COMMANDS) $( EXCLUDED_PROGRAMS ) ) " in \
31123122 * " $$ cmd " * ) ;; \
31133123 * ) echo " removed but $$ how: $$ cmd" ;; \
31143124 esac ; \
0 commit comments