diff options
| author | Lars Hjemli <hjemli@gmail.com> | 2008-04-08 21:29:21 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2008-04-08 21:29:21 +0200 | 
| commit | 23296ad648c0e2a9e3cf40a3de322b10ad25cce3 (patch) | |
| tree | 136493d8228b0ff4971feb06b0e8aee296367b00 /Makefile | |
| parent | e2a44cf0923398396b7a321d5ce894ad3bf6f580 (diff) | |
| parent | c6f747649ace1a92ed5dfaae9cc1ea3affe0bf51 (diff) | |
| download | cgit-23296ad648c0e2a9e3cf40a3de322b10ad25cce3.tar.gz cgit-23296ad648c0e2a9e3cf40a3de322b10ad25cce3.tar.bz2 | |
Merge branch 'lh/cleanup'
* lh/cleanup: (21 commits)
  Reset ctx.repo to NULL when the config parser is finished
  Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring()
  Move function for configfile parsing into configfile.[ch]
  Add cache.h
  Remove global and obsolete cgit_cmd
  Makefile: copy the QUIET constructs from the Makefile in git.git
  Move cgit_version from shared.c to cgit.c
  Makefile: autobuild dependency rules
  Initial Makefile cleanup
  Move non-generic functions from shared.c to cgit.c
  Add ui-shared.h
  Add separate header-files for each page/view
  Refactor snapshot support
  Add command dispatcher
  Remove obsolete cacheitem parameter to ui-functions
  Add struct cgit_page to cgit_context
  Introduce html.h
  Improve initialization of git directory
  Move cgit_repo into cgit_context
  Add all config variables into struct cgit_context
  ...
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 75 | 
1 files changed, 64 insertions, 11 deletions
| @@ -12,13 +12,62 @@ GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2  #  -include cgit.conf +# +# Define a way to invoke make in subdirs quietly, shamelessly ripped +# from git.git +# +QUIET_SUBDIR0  = +$(MAKE) -C # space to separate -C and subdir +QUIET_SUBDIR1  = -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 +ifneq ($(findstring $(MAKEFLAGS),w),w) +PRINT_DIR = --no-print-directory +else # "make -w" +NO_SUBDIR = : +endif + +ifndef V +	QUIET_CC       = @echo '   ' CC $@; +	QUIET_MM       = @echo '   ' MM $@; +	QUIET_SUBDIR0  = +@subdir= +	QUIET_SUBDIR1  = ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \ +			 $(MAKE) $(PRINT_DIR) -C $$subdir +endif + +# +# Define a pattern rule for automatic dependency building +# +%.d: %.c +	$(QUIET_MM)$(CC) $(CFLAGS) -MM $< | sed -e 's/\($*\)\.o:/\1.o $@:/g' >$@ + +# +# Define a pattern rule for silent object building +# +%.o: %.c +	$(QUIET_CC)$(CC) -o $*.o -c $(CFLAGS) $< +EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto +OBJECTS = +OBJECTS += cache.o +OBJECTS += cgit.o +OBJECTS += cmd.o +OBJECTS += configfile.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,21 +90,25 @@ 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) +	$(QUIET_CC)$(CC) $(CFLAGS) -o cgit $(OBJECTS) $(EXTLIBS) + +$(OBJECTS): git/xdiff/lib.a git/libgit.a + +cgit.o: VERSION -$(OBJECTS): cgit.h git/xdiff/lib.a git/libgit.a VERSION +-include $(OBJECTS:.o=.d)  git/xdiff/lib.a: | git  git/libgit.a: | git  git: -	cd git && $(MAKE) xdiff/lib.a -	cd git && $(MAKE) libgit.a +	$(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) xdiff/lib.a +	$(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) libgit.a  test: all -	$(MAKE) -C tests +	$(QUIET_SUBDIR0)tests $(QUIET_SUBDIR1) all  install: all  	mkdir -p $(DESTDIR)$(CGIT_SCRIPT_PATH) @@ -69,7 +122,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 | 
