CGIT_CONFIG = /etc/cgitrc
CACHE_ROOT = /var/cache/cgit
SHA1_HEADER = <openssl/sha.h>
-GIT_VER = 1.5.3.8
+GIT_VER = 1.5.4.1
GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2
#
-include cgit.conf
-EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto
-OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \
- ui-summary.o ui-log.o ui-tree.o ui-commit.o ui-diff.o \
- ui-snapshot.o ui-blob.o ui-tag.o ui-refs.o ui-patch.o
+#
+# Define a pattern rule for automatic dependency building
+#
+%.d: %.c
+ $(CC) $(CFLAGS) -MM $< | sed -e 's/\($*\)\.o:/\1.o $@:/g' >$@
+EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto
+OBJECTS =
+OBJECTS += cache.o
+OBJECTS += cgit.o
+OBJECTS += cmd.o
+OBJECTS += html.o
+OBJECTS += parsing.o
+OBJECTS += shared.o
+OBJECTS += ui-blob.o
+OBJECTS += ui-commit.o
+OBJECTS += ui-diff.o
+OBJECTS += ui-log.o
+OBJECTS += ui-patch.o
+OBJECTS += ui-refs.o
+OBJECTS += ui-repolist.o
+OBJECTS += ui-shared.o
+OBJECTS += ui-snapshot.o
+OBJECTS += ui-summary.o
+OBJECTS += ui-tag.o
+OBJECTS += ui-tree.o
+
ifdef NEEDS_LIBICONV
EXTLIBS += -liconv
endif
CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
-cgit: cgit.c $(OBJECTS)
- $(CC) $(CFLAGS) cgit.c -o cgit $(OBJECTS) $(EXTLIBS)
+cgit: $(OBJECTS)
+ $(CC) $(CFLAGS) -o cgit $(OBJECTS) $(EXTLIBS)
+
+$(OBJECTS): git/xdiff/lib.a git/libgit.a VERSION
-$(OBJECTS): cgit.h git/xdiff/lib.a git/libgit.a VERSION
+-include $(OBJECTS:.o=.d)
git/xdiff/lib.a: | git
rm -f $(CGIT_SCRIPT_PATH)/cgit.png
clean:
- rm -f cgit VERSION *.o
+ rm -f cgit VERSION *.o *.d
cd git && $(MAKE) clean
distclean: clean