@@ -605,7 +605,9 @@ FUZZ_OBJS =
605605FUZZ_PROGRAMS =
606606GIT_OBJS =
607607LIB_OBJS =
608+ SCALAR_OBJS =
608609OBJECTS =
610+ OTHER_PROGRAMS =
609611PROGRAM_OBJS =
610612PROGRAMS =
611613EXCLUDED_PROGRAMS =
@@ -819,10 +821,12 @@ BUILT_INS += git-switch$X
819821BUILT_INS += git-whatchanged$X
820822
821823# what 'all' will build but not install in gitexecdir
822- OTHER_PROGRAMS = git$X
824+ OTHER_PROGRAMS += git$X
825+ OTHER_PROGRAMS += scalar$X
823826
824827# what test wrappers are needed and 'install' will install, in bindir
825828BINDIR_PROGRAMS_NEED_X += git
829+ BINDIR_PROGRAMS_NEED_X += scalar
826830BINDIR_PROGRAMS_NEED_X += git-receive-pack
827831BINDIR_PROGRAMS_NEED_X += git-shell
828832BINDIR_PROGRAMS_NEED_X += git-upload-archive
@@ -2220,7 +2224,7 @@ profile-fast: profile-clean
22202224
22212225all :: $(ALL_COMMANDS_TO_INSTALL ) $(SCRIPT_LIB ) $(OTHER_PROGRAMS ) GIT-BUILD-OPTIONS
22222226ifneq (,$X)
2223- $(QUIET_BUILT_IN)$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_COMMANDS_TO_INSTALL) git$X )), test -d '$p' -o '$p' -ef '$p$X' || $(RM) '$p';)
2227+ $(QUIET_BUILT_IN)$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_COMMANDS_TO_INSTALL) $(OTHER_PROGRAMS) )), test -d '$p' -o '$p' -ef '$p$X' || $(RM) '$p';)
22242228endif
22252229
22262230all ::
@@ -2543,7 +2547,12 @@ GIT_OBJS += git.o
25432547.PHONY : git-objs
25442548git-objs : $(GIT_OBJS )
25452549
2550+ SCALAR_OBJS += scalar.o
2551+ .PHONY : scalar-objs
2552+ scalar-objs : $(SCALAR_OBJS )
2553+
25462554OBJECTS += $(GIT_OBJS )
2555+ OBJECTS += $(SCALAR_OBJS )
25472556OBJECTS += $(PROGRAM_OBJS )
25482557OBJECTS += $(TEST_OBJS )
25492558OBJECTS += $(XDIFF_OBJS )
@@ -2554,10 +2563,6 @@ ifndef NO_CURL
25542563 OBJECTS += http.o http-walker.o remote-curl.o
25552564endif
25562565
2557- SCALAR_SOURCES := contrib/scalar/scalar.c
2558- SCALAR_OBJECTS := $(SCALAR_SOURCES:c=o )
2559- OBJECTS += $(SCALAR_OBJECTS )
2560-
25612566.PHONY : objects
25622567objects : $(OBJECTS )
25632568
@@ -2683,7 +2688,7 @@ $(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o GIT-LDFLAGS $(GITLIBS
26832688 $(QUIET_LINK )$(CC ) $(ALL_CFLAGS ) -o $@ $(ALL_LDFLAGS ) $(filter % .o,$^ ) \
26842689 $(CURL_LIBCURL ) $(EXPAT_LIBEXPAT ) $(LIBS )
26852690
2686- contrib/ scalar/scalar $X : $( SCALAR_OBJECTS ) GIT-LDFLAGS $(GITLIBS )
2691+ scalar$X : scalar.o GIT-LDFLAGS $(GITLIBS )
26872692 $(QUIET_LINK )$(CC ) $(ALL_CFLAGS ) -o $@ $(ALL_LDFLAGS ) \
26882693 $(filter % .o,$^ ) $(LIBS )
26892694
@@ -2739,8 +2744,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
27392744XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS ) --language=Perl \
27402745 --keyword=__ --keyword=N__ --keyword="__n:1,2"
27412746MSGMERGE_FLAGS = --add-location --backup=off --update
2742- LOCALIZED_C = $(sort $(FOUND_C_SOURCES ) $(FOUND_H_SOURCES ) $(SCALAR_SOURCES ) \
2743- $(GENERATED_H ) )
2747+ LOCALIZED_C = $(sort $(FOUND_C_SOURCES ) $(FOUND_H_SOURCES ) $(GENERATED_H ) )
27442748LOCALIZED_SH = $(sort $(SCRIPT_SH ) git-sh-setup.sh)
27452749LOCALIZED_PERL = $(sort $(SCRIPT_PERL ) )
27462750
@@ -3054,7 +3058,7 @@ bin-wrappers/%: wrap-for-bin.sh
30543058 $(call mkdir_p_parent_template)
30553059 $(QUIET_GEN ) sed -e ' 1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
30563060 -e ' s|@@BUILD_DIR@@|$(shell pwd)|' \
3057- -e ' s|@@PROG@@|$(patsubst test-%,t/helper/test-%$(X) ,$(@F))$(patsubst git%,$(X),$( filter $(@F),$(BINDIR_PROGRAMS_NEED_X)) )|' < $< > $@ && \
3061+ -e ' s|@@PROG@@|$(patsubst test-%,t/helper/test-%,$(@F))$(if $( filter-out $(BINDIR_PROGRAMS_NO_X),$( @F)) ,$(X), )|' < $< > $@ && \
30583062 chmod +x $@
30593063
30603064# GNU make supports exporting all variables by "export" without parameters.
@@ -3268,14 +3272,14 @@ ifndef NO_TCLTK
32683272 $(MAKE) -C git-gui gitexecdir='$(gitexec_instdir_SQ)' install
32693273endif
32703274ifneq (,$X)
3271- $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_COMMANDS_TO_INSTALL) git$X )), test '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p' -ef '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p$X' || $(RM) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p';)
3275+ $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_COMMANDS_TO_INSTALL) $(OTHER_PROGRAMS) )), test '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p' -ef '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p$X' || $(RM) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p';)
32723276endif
32733277
32743278 bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \
32753279 execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \
32763280 destdir_from_execdir_SQ=$$(echo '$(gitexecdir_relative_SQ)' | sed -e 's|[^/][^/]*|..|g') && \
32773281 { test "$$bindir/" = "$$execdir/" || \
3278- for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
3282+ for p in $(OTHER_PROGRAMS) $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
32793283 $(RM) "$$execdir/$$p" && \
32803284 test -n "$(INSTALL_SYMLINKS)" && \
32813285 ln -s "$$destdir_from_execdir_SQ/$(bindir_relative_SQ)/$$p" "$$execdir/$$p" || \
@@ -3450,7 +3454,7 @@ clean: profile-clean coverage-clean cocciclean
34503454 $(RM ) git.res
34513455 $(RM ) $(OBJECTS )
34523456 $(RM ) $(LIB_FILE ) $(XDIFF_LIB ) $(REFTABLE_LIB ) $(REFTABLE_TEST_LIB )
3453- $(RM ) $(ALL_PROGRAMS ) $(SCRIPT_LIB ) $(BUILT_INS ) git $X
3457+ $(RM ) $(ALL_PROGRAMS ) $(SCRIPT_LIB ) $(BUILT_INS ) $( OTHER_PROGRAMS )
34543458 $(RM ) $(TEST_PROGRAMS )
34553459 $(RM ) $(FUZZ_PROGRAMS )
34563460 $(RM ) $(SP_OBJ )
@@ -3501,6 +3505,7 @@ ALL_COMMANDS += git-citool
35013505ALL_COMMANDS += git-gui
35023506ALL_COMMANDS += gitk
35033507ALL_COMMANDS += gitweb
3508+ ALL_COMMANDS += scalar
35043509
35053510.PHONY : check-docs
35063511check-docs ::
0 commit comments