X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=Makefile;h=f93b5e3d8a427d93e7e5125b55b17cd1a9479af9;hb=c5bac17ad21c8e79fcca21c366832e75be095322;hp=2b483560f570ff710455380d3a199cb50ac1e527;hpb=94261677654d493f6a6219c78aae986a146f92d4;p=git.git diff --git a/Makefile b/Makefile index 2b483560..f93b5e3d 100644 --- a/Makefile +++ b/Makefile @@ -1,43 +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 +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 +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 -init-db: init-db.o +$(LIB_FILE): $(LIB_OBJS) + $(AR) rcs $@ $(LIB_OBJS) -update-cache: update-cache.o read-cache.o - $(CC) $(CFLAGS) -o update-cache update-cache.o read-cache.o $(LIBS) +LIBS= $(LIB_FILE) -lssl -lz -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) +init-db: init-db.o -read-tree: read-tree.o read-cache.o - $(CC) $(CFLAGS) -o read-tree read-tree.o read-cache.o $(LIBS) +fsck-cache: fsck-cache.o $(LIB_FILE) object.o commit.o tree.o blob.o + $(CC) $(CFLAGS) -o fsck-cache fsck-cache.o $(LIBS) -commit-tree: commit-tree.o read-cache.o - $(CC) $(CFLAGS) -o commit-tree commit-tree.o read-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) -cat-file: cat-file.o read-cache.o - $(CC) $(CFLAGS) -o cat-file cat-file.o read-cache.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) -fsck-cache: fsck-cache.o read-cache.o - $(CC) $(CFLAGS) -o fsck-cache fsck-cache.o read-cache.o $(LIBS) +%: %.o $(LIB_FILE) + $(CC) $(CFLAGS) -o $@ $< $(LIBS) -read-cache.o: cache.h -show-diff.o: cache.h +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