X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=Makefile;h=f93b5e3d8a427d93e7e5125b55b17cd1a9479af9;hb=80913d4364c0be4d9b97eabcd2c8acb800c647c1;hp=a1753fe0b4ed650ab6959020505a59a8d7c0bf48;hpb=8695c8bfe181677ca112502c1eef67930d84a75d;p=git.git diff --git a/Makefile b/Makefile index a1753fe0..f93b5e3d 100644 --- a/Makefile +++ b/Makefile @@ -1,56 +1,81 @@ -CFLAGS=-g -O3 -Wall +# -DCOLLISION_CHECK if you believe that SHA1's +# 1461501637330902918203684832716283019655932542976 hashes do not give you +# enough guarantees about no collisions between objects ever hapenning. +# +# -DNSEC if you want git to care about sub-second file mtimes and ctimes. +# Note that you need some new glibc (at least >2.2.4) for this, and it will +# BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely randomly +# break unless your underlying filesystem supports those sub-second times +# (my ext3 doesn't). +CFLAGS=-g -O2 -Wall + CC=gcc +AR=ar + -PROG= update-cache show-diff init-db write-tree read-tree commit-tree \ - cat-file fsck-cache checkout-cache diff-tree rev-tree show-files +PROG= update-cache show-diff init-db write-tree read-tree commit-tree \ + cat-file fsck-cache checkout-cache diff-tree rev-tree show-files \ + check-files ls-tree merge-base merge-cache unpack-file git-export \ + diff-cache convert-cache all: $(PROG) install: $(PROG) install $(PROG) $(HOME)/bin/ -LIBS= -lssl -lz - -init-db: init-db.o - -update-cache: update-cache.o read-cache.o - $(CC) $(CFLAGS) -o update-cache update-cache.o read-cache.o $(LIBS) - -show-diff: show-diff.o read-cache.o - $(CC) $(CFLAGS) -o show-diff show-diff.o read-cache.o $(LIBS) - -write-tree: write-tree.o read-cache.o - $(CC) $(CFLAGS) -o write-tree write-tree.o read-cache.o $(LIBS) +LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o +LIB_FILE=libgit.a +LIB_H=cache.h object.h -read-tree: read-tree.o read-cache.o - $(CC) $(CFLAGS) -o read-tree read-tree.o read-cache.o $(LIBS) +$(LIB_FILE): $(LIB_OBJS) + $(AR) rcs $@ $(LIB_OBJS) -commit-tree: commit-tree.o read-cache.o - $(CC) $(CFLAGS) -o commit-tree commit-tree.o read-cache.o $(LIBS) +LIBS= $(LIB_FILE) -lssl -lz -cat-file: cat-file.o read-cache.o - $(CC) $(CFLAGS) -o cat-file cat-file.o read-cache.o $(LIBS) - -fsck-cache: fsck-cache.o read-cache.o - $(CC) $(CFLAGS) -o fsck-cache fsck-cache.o read-cache.o $(LIBS) - -checkout-cache: checkout-cache.o read-cache.o - $(CC) $(CFLAGS) -o checkout-cache checkout-cache.o read-cache.o $(LIBS) - -diff-tree: diff-tree.o read-cache.o - $(CC) $(CFLAGS) -o diff-tree diff-tree.o read-cache.o $(LIBS) - -rev-tree: rev-tree.o read-cache.o - $(CC) $(CFLAGS) -o rev-tree rev-tree.o read-cache.o $(LIBS) - -show-files: show-files.o read-cache.o - $(CC) $(CFLAGS) -o show-files show-files.o read-cache.o $(LIBS) +init-db: init-db.o -read-cache.o: cache.h -show-diff.o: cache.h +fsck-cache: fsck-cache.o $(LIB_FILE) object.o commit.o tree.o blob.o + $(CC) $(CFLAGS) -o fsck-cache fsck-cache.o $(LIBS) + +rev-tree: rev-tree.o $(LIB_FILE) object.o commit.o tree.o blob.o + $(CC) $(CFLAGS) -o rev-tree rev-tree.o $(LIBS) + +merge-base: merge-base.o $(LIB_FILE) object.o commit.o tree.o blob.o + $(CC) $(CFLAGS) -o merge-base merge-base.o $(LIBS) + +%: %.o $(LIB_FILE) + $(CC) $(CFLAGS) -o $@ $< $(LIBS) + +blob.o: $(LIB_H) +cat-file.o: $(LIB_H) +check-files.o: $(LIB_H) +checkout-cache.o: $(LIB_H) +commit.o: $(LIB_H) +commit-tree.o: $(LIB_H) +convert-cache.o: $(LIB_H) +diff-cache.o: $(LIB_H) +diff-tree.o: $(LIB_H) +fsck-cache.o: $(LIB_H) +git-export.o: $(LIB_H) +init-db.o: $(LIB_H) +ls-tree.o: $(LIB_H) +merge-base.o: $(LIB_H) +merge-cache.o: $(LIB_H) +object.o: $(LIB_H) +read-cache.o: $(LIB_H) +read-tree.o: $(LIB_H) +rev-tree.o: $(LIB_H) +sha1_file.o: $(LIB_H) +show-diff.o: $(LIB_H) +show-files.o: $(LIB_H) +tree.o: $(LIB_H) +update-cache.o: $(LIB_H) +usage.o: $(LIB_H) +unpack-file.o: $(LIB_H) +write-tree.o: $(LIB_H) clean: - rm -f *.o $(PROG) temp_git_file_* + rm -f *.o $(PROG) $(LIB_FILE) backup: clean cd .. ; tar czvf dircache.tar.gz dir-cache