X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Makefile;h=145099adaae0a8aeb55a7ea9a0f4b07799e026ec;hb=fc4c4cd21c783b6dc387002c6e018d26f7405e9f;hp=236bac1f25207ed7976e7777994c6fc1cab5052b;hpb=dcd0409fc545e881a61f522eb8f1d1a7e814eb94;p=git.git diff --git a/Makefile b/Makefile index 236bac1f..145099ad 100644 --- a/Makefile +++ b/Makefile @@ -141,7 +141,7 @@ SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \ $(patsubst %.py,%,$(SCRIPT_PYTHON)) \ git-cherry-pick git-show git-status -# The ones that do not have to link with lcrypto nor lz. +# The ones that do not have to link with lcrypto, lz nor xdiff. SIMPLE_PROGRAMS = \ git-get-tar-commit-id$X git-mailsplit$X \ git-stripspace$X git-daemon$X @@ -188,11 +188,13 @@ PYMODULES = \ gitMergeCommon.py LIB_FILE=libgit.a +XDIFF_LIB=xdiff/lib.a LIB_H = \ blob.h cache.h commit.h csum-file.h delta.h \ diff.h object.h pack.h pkt-line.h quote.h refs.h \ - run-command.h strbuf.h tag.h tree.h git-compat-util.h revision.h + run-command.h strbuf.h tag.h tree.h git-compat-util.h revision.h \ + tree-walk.h DIFF_OBJS = \ diff.o diffcore-break.o diffcore-order.o diffcore-pathspec.o \ @@ -206,11 +208,11 @@ LIB_OBJS = \ quote.o read-cache.o refs.o run-command.o \ server-info.o setup.o sha1_file.o sha1_name.o strbuf.o \ tag.o tree.o usage.o config.o environment.o ctype.o copy.o \ - fetch-clone.o revision.o pager.o \ + fetch-clone.o revision.o pager.o tree-walk.o \ $(DIFF_OBJS) -LIBS = $(LIB_FILE) -LIBS += -lz +GITLIBS = $(LIB_FILE) $(XDIFF_LIB) +LIBS = $(GITLIBS) -lz # # Platform specific tweaks @@ -452,9 +454,10 @@ all: strip: $(PROGRAMS) git$X $(STRIP) $(STRIP_OPTS) $(PROGRAMS) git$X -git$X: git.c common-cmds.h $(LIB_FILE) +git$X: git.c common-cmds.h $(GITLIBS) $(CC) -DGIT_VERSION='"$(GIT_VERSION)"' \ - $(ALL_CFLAGS) -o $@ $(filter %.c,$^) $(LIB_FILE) $(LIBS) + $(ALL_CFLAGS) -o $@ $(filter %.c,$^) \ + $(ALL_LDFLAGS) $(LIBS) common-cmds.h: Documentation/git-*.txt ./generate-cmdlist.sh > $@ @@ -507,7 +510,10 @@ git$X git.spec \ exec_cmd.o: exec_cmd.c $(CC) -o $*.o -c $(ALL_CFLAGS) '-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' $< -git-%$X: %.o $(LIB_FILE) +http.o: http.c + $(CC) -o $*.o -c $(ALL_CFLAGS) -DGIT_USER_AGENT='"git/$(GIT_VERSION)"' $< + +git-%$X: %.o $(GITLIBS) $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) $(SIMPLE_PROGRAMS) : $(LIB_FILE) @@ -544,12 +550,18 @@ init-db.o: init-db.c -DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir_SQ)"' $*.c $(LIB_OBJS): $(LIB_H) -$(patsubst git-%$X,%.o,$(PROGRAMS)): $(LIB_H) +$(patsubst git-%$X,%.o,$(PROGRAMS)): $(GITLIBS) $(DIFF_OBJS): diffcore.h $(LIB_FILE): $(LIB_OBJS) $(AR) rcs $@ $(LIB_OBJS) +XDIFF_OBJS=xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o + +$(XDIFF_LIB): $(XDIFF_OBJS) + $(AR) rcs $@ $(XDIFF_OBJS) + + doc: $(MAKE) -C Documentation all @@ -622,7 +634,8 @@ rpm: dist ### Cleaning rules clean: - rm -f *.o mozilla-sha1/*.o arm/*.o ppc/*.o compat/*.o $(LIB_FILE) + rm -f *.o mozilla-sha1/*.o arm/*.o ppc/*.o compat/*.o xdiff/*.o \ + $(LIB_FILE) $(XDIFF_LIB) rm -f $(ALL_PROGRAMS) git$X rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags rm -rf $(GIT_TARNAME)