608
FUZZ_PROGRAMS =
609
GIT_OBJS =
610
LIB_OBJS =
611
+SCALAR_OBJS =
612
OBJECTS =
613
+OTHER_PROGRAMS =
614
PROGRAM_OBJS =
615
PROGRAMS =
616
EXCLUDED_PROGRAMS =
823
BUILT_INS += git-whatchanged$X
824
825
# what 'all' will build but not install in gitexecdir
824
-OTHER_PROGRAMS = git$X
826
+OTHER_PROGRAMS += git$X
827
+OTHER_PROGRAMS += scalar$X
828
829
# what test wrappers are needed and 'install' will install, in bindir
830
BINDIR_PROGRAMS_NEED_X += git
831
+BINDIR_PROGRAMS_NEED_X += scalar
832
BINDIR_PROGRAMS_NEED_X += git-receive-pack
833
BINDIR_PROGRAMS_NEED_X += git-shell
834
BINDIR_PROGRAMS_NEED_X += git-upload-archive
2226
2227
all:: $(ALL_COMMANDS_TO_INSTALL) $(SCRIPT_LIB) $(OTHER_PROGRAMS) GIT-BUILD-OPTIONS
2228
ifneq (,$X)
2225
- $(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';)
2229
+ $(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';)
2230
endif
2231
2232
all::
2549
.PHONY: git-objs
2550
git-objs: $(GIT_OBJS)
2551
2552
+SCALAR_OBJS += scalar.o
2553
+.PHONY: scalar-objs
2554
+scalar-objs: $(SCALAR_OBJS)
2555
+
2556
OBJECTS += $(GIT_OBJS)
2557
+OBJECTS += $(SCALAR_OBJS)
2558
OBJECTS += $(PROGRAM_OBJS)
2559
OBJECTS += $(TEST_OBJS)
2560
OBJECTS += $(XDIFF_OBJS)
2565
OBJECTS += http.o http-walker.o remote-curl.o
2566
endif
2567
2559
-SCALAR_SOURCES := contrib/scalar/scalar.c
2560
-SCALAR_OBJECTS := $(SCALAR_SOURCES:c=o)
2561
-OBJECTS += $(SCALAR_OBJECTS)
2562
-
2568
.PHONY: objects
2569
objects: $(OBJECTS)
2570
2696
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
2697
$(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
2698
2694
-contrib/scalar/scalar$X: $(SCALAR_OBJECTS) GIT-LDFLAGS $(GITLIBS)
2699
+scalar$X: scalar.o GIT-LDFLAGS $(GITLIBS)
2700
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) \
2701
$(filter %.o,$^) $(LIBS)
2702
2752
XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
2753
--keyword=__ --keyword=N__ --keyword="__n:1,2"
2754
MSGMERGE_FLAGS = --add-location --backup=off --update
2750
-LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
2751
- $(GENERATED_H))
2755
+LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(GENERATED_H))
2756
LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
2757
LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
2758
3066
$(call mkdir_p_parent_template)
3067
$(QUIET_GEN)sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
3068
-e 's|@@BUILD_DIR@@|$(shell pwd)|' \
3065
- -e 's|@@PROG@@|$(patsubst test-%,t/helper/test-%$(X),$(@F))$(patsubst git%,$(X),$(filter $(@F),$(BINDIR_PROGRAMS_NEED_X)))|' < $< > $@ && \
3069
+ -e 's|@@PROG@@|$(patsubst test-%,t/helper/test-%,$(@F))$(if $(filter-out $(BINDIR_PROGRAMS_NO_X),$(@F)),$(X),)|' < $< > $@ && \
3070
chmod +x $@
3071
3072
# GNU make supports exporting all variables by "export" without parameters.
3280
$(MAKE) -C git-gui gitexecdir='$(gitexec_instdir_SQ)' install
3281
endif
3282
ifneq (,$X)
3279
- $(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';)
3283
+ $(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';)
3284
endif
3285
3286
bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \
3287
execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \
3288
destdir_from_execdir_SQ=$$(echo '$(gitexecdir_relative_SQ)' | sed -e 's|[^/][^/]*|..|g') && \
3289
{ test "$$bindir/" = "$$execdir/" || \
3286
- for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
3290
+ for p in $(OTHER_PROGRAMS) $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
3291
$(RM) "$$execdir/$$p" && \
3292
test -n "$(INSTALL_SYMLINKS)" && \
3293
ln -s "$$destdir_from_execdir_SQ/$(bindir_relative_SQ)/$$p" "$$execdir/$$p" || \
3462
$(RM) git.res
3463
$(RM) $(OBJECTS)
3464
$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
3461
- $(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git$X
3465
+ $(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) $(OTHER_PROGRAMS)
3466
$(RM) $(TEST_PROGRAMS)
3467
$(RM) $(FUZZ_PROGRAMS)
3468
$(RM) $(SP_OBJ)
3513
ALL_COMMANDS += git-gui
3514
ALL_COMMANDS += gitk
3515
ALL_COMMANDS += gitweb
3516
+ALL_COMMANDS += scalar
3517
3518
.PHONY: check-docs
3519
check-docs::