X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/e5ed227ef0da561e2bde8646ec816842392377ee..df90b51bafec24336cf30339b2978ff6df22b075:/Makefile diff --git a/Makefile b/Makefile index 7102908..faf7b98 100644 --- a/Makefile +++ b/Makefile @@ -13,12 +13,34 @@ 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 @@ -41,10 +63,12 @@ CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"' 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 @@ -69,7 +93,7 @@ uninstall: 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