[PATCH] Fix broken diff-cache output on added files
[git.git] / Makefile
index cd299f8..57e7023 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@
 # 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 -O3 -Wall
+CFLAGS=-g -O2 -Wall
 
 CC=gcc
 AR=ar
@@ -27,69 +27,31 @@ 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
 
-$(LIB_FILE): $(LIB_OBJS)
-       $(AR) rcs $@ $(LIB_OBJS)
-
-LIBS= $(LIB_FILE) -lssl -lz
-
-init-db: init-db.o
-
-update-cache: update-cache.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o update-cache update-cache.o $(LIBS)
-
-show-diff: show-diff.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o show-diff show-diff.o $(LIBS)
-
-write-tree: write-tree.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o write-tree write-tree.o $(LIBS)
-
-read-tree: read-tree.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o read-tree read-tree.o $(LIBS)
-
-commit-tree: commit-tree.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o commit-tree commit-tree.o $(LIBS)
-
-cat-file: cat-file.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o cat-file cat-file.o $(LIBS)
+LIBS = $(LIB_FILE)
+LIBS += -lz
 
-fsck-cache: fsck-cache.o $(LIB_FILE) object.o commit.o tree.o blob.o
-       $(CC) $(CFLAGS) -o fsck-cache fsck-cache.o $(LIBS)
+ifdef MOZILLA_SHA1
+  SHA1_HEADER="mozilla-sha1/sha1.h"
+  LIB_OBJS += mozilla-sha1/sha1.o
+else
+ifdef PPC_SHA1
+  SHA1_HEADER="ppc/sha1.h"
+  LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
+else
+  SHA1_HEADER=<openssl/sha.h>
+  LIBS += -lssl
+endif
+endif
 
-checkout-cache: checkout-cache.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o checkout-cache checkout-cache.o $(LIBS)
+CFLAGS += '-DSHA1_HEADER=$(SHA1_HEADER)'
 
-diff-tree: diff-tree.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o diff-tree diff-tree.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)
-
-show-files: show-files.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o show-files show-files.o $(LIBS)
-
-check-files: check-files.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o check-files check-files.o $(LIBS)
-
-ls-tree: ls-tree.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o ls-tree ls-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)
-
-merge-cache: merge-cache.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o merge-cache merge-cache.o $(LIBS)
-
-unpack-file: unpack-file.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o unpack-file unpack-file.o $(LIBS)
-
-git-export: git-export.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o git-export git-export.o $(LIBS)
+$(LIB_FILE): $(LIB_OBJS)
+       $(AR) rcs $@ $(LIB_OBJS)
 
-diff-cache: diff-cache.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o diff-cache diff-cache.o $(LIBS)
+init-db: init-db.o
 
-convert-cache: convert-cache.o $(LIB_FILE)
-       $(CC) $(CFLAGS) -o convert-cache convert-cache.o $(LIBS)
+%: %.o $(LIB_FILE)
+       $(CC) $(CFLAGS) -o $@ $< $(LIBS)
 
 blob.o: $(LIB_H)
 cat-file.o: $(LIB_H)
@@ -120,7 +82,7 @@ unpack-file.o: $(LIB_H)
 write-tree.o: $(LIB_H)
 
 clean:
-       rm -f *.o $(PROG) $(LIB_FILE)
+       rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROG) $(LIB_FILE)
 
 backup: clean
        cd .. ; tar czvf dircache.tar.gz dir-cache