-rw-r--r-- | Makefile | 11 | ||||
-rw-r--r-- | cgit.c | 2 |
2 files changed, 8 insertions, 5 deletions
@@ -1,67 +1,70 @@ CGIT_VERSION = 0.4 prefix = /var/www/htdocs/cgit SHA1_HEADER = <openssl/sha.h> - CACHE_ROOT = /var/cache/cgit +CGIT_CONFIG = /etc/cgitrc + 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-view.o ui-tree.o ui-commit.o ui-diff.o \ ui-snapshot.o ui-blob.o CFLAGS += -Wall ifdef DEBUG CFLAGS += -g endif -CFLAGS += -Igit -DSHA1_HEADER='$(SHA1_HEADER)' +CFLAGS += -Igit +CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER)' +CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"' +CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"' # # If make is run on a nongit platform, we need to get the git sources as a tarball. # But there is currently no recent enough tarball available on kernel.org, so download # a zipfile from hjemli.net instead # GITVER = $(shell git version 2>/dev/null || echo nogit) ifeq ($(GITVER),nogit) GITURL = http://hjemli.net/git/git/snapshot/?id=v1.5.2-rc2 INITGIT = test -e git/git.c || (curl "$(GITURL)" > tmp.zip && unzip tmp.zip) else INITGIT = ./submodules.sh -i endif # # basic build rules # all: cgit cgit: cgit.c cgit.h $(OBJECTS) - $(CC) $(CFLAGS) -DCGIT_VERSION='"$(CGIT_VERSION)"' cgit.c -o cgit \ - $(OBJECTS) $(EXTLIBS) + $(CC) $(CFLAGS) cgit.c -o cgit $(OBJECTS) $(EXTLIBS) $(OBJECTS): cgit.h git/libgit.a git/libgit.a: $(INITGIT) $(MAKE) -C git # # phony targets # install: all clean-cache mkdir -p $(prefix) install cgit $(prefix)/cgit.cgi install cgit.css $(prefix)/cgit.css install add.png del.png $(prefix)/ clean-cgit: rm -f cgit *.o distclean-cgit: clean-cgit git clean -d -x clean-sub: $(MAKE) -C git clean @@ -222,39 +222,39 @@ static void cgit_parse_args(int argc, const char **argv) if (!strncmp(argv[i], "--head=", 7)) { cgit_query_head = xstrdup(argv[i]+7); cgit_query_has_symref = 1; } if (!strncmp(argv[i], "--sha1=", 7)) { cgit_query_sha1 = xstrdup(argv[i]+7); cgit_query_has_sha1 = 1; } if (!strncmp(argv[i], "--ofs=", 6)) { cgit_query_ofs = atoi(argv[i]+6); } } } int main(int argc, const char **argv) { struct cacheitem item; htmlfd = STDOUT_FILENO; item.st.st_mtime = time(NULL); cgit_repolist.length = 0; cgit_repolist.count = 0; cgit_repolist.repos = NULL; - cgit_read_config("/etc/cgitrc", cgit_global_config_cb); + cgit_read_config(CGIT_CONFIG, cgit_global_config_cb); if (getenv("QUERY_STRING")) cgit_querystring = xstrdup(getenv("QUERY_STRING")); cgit_parse_args(argc, argv); cgit_parse_query(cgit_querystring, cgit_querystring_cb); if (!cgit_prepare_cache(&item)) return 0; if (cgit_nocache) { cgit_fill_cache(&item, 0); } else { cgit_check_cache(&item); cgit_print_cache(&item); } return 0; } |