diff options
Diffstat (limited to 'cgit.mk')
-rw-r--r-- | cgit.mk | 74 |
1 files changed, 74 insertions, 0 deletions
@@ -0,0 +1,74 @@ | |||
1 | # This Makefile is run in the "git" directory in order to re-use Git's | ||
2 | # build variables and operating system detection. Hence all files in | ||
3 | # CGit's directory must be prefixed with "../". | ||
4 | include Makefile | ||
5 | |||
6 | CGIT_PREFIX = ../ | ||
7 | |||
8 | # The CGIT_* variables are inherited when this file is called from the | ||
9 | # main Makefile - they are defined there. | ||
10 | |||
11 | $(CGIT_PREFIX)VERSION: force-version | ||
12 | @cd $(CGIT_PREFIX) && ./gen-version.sh "$(CGIT_VERSION)" | ||
13 | -include $(CGIT_PREFIX)VERSION | ||
14 | .PHONY: force-version | ||
15 | |||
16 | # CGIT_CFLAGS is a separate variable so that we can track it separately | ||
17 | # and avoid rebuilding all of Git when these variables change. | ||
18 | CGIT_CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"' | ||
19 | CGIT_CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"' | ||
20 | CGIT_CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"' | ||
21 | CGIT_CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"' | ||
22 | |||
23 | ifdef NO_C99_FORMAT | ||
24 | CFLAGS += -DNO_C99_FORMAT | ||
25 | endif | ||
26 | |||
27 | CGIT_OBJ_NAMES += cgit.o | ||
28 | CGIT_OBJ_NAMES += cache.o | ||
29 | CGIT_OBJ_NAMES += cmd.o | ||
30 | CGIT_OBJ_NAMES += configfile.o | ||
31 | CGIT_OBJ_NAMES += html.o | ||
32 | CGIT_OBJ_NAMES += parsing.o | ||
33 | CGIT_OBJ_NAMES += scan-tree.o | ||
34 | CGIT_OBJ_NAMES += shared.o | ||
35 | CGIT_OBJ_NAMES += ui-atom.o | ||
36 | CGIT_OBJ_NAMES += ui-blob.o | ||
37 | CGIT_OBJ_NAMES += ui-clone.o | ||
38 | CGIT_OBJ_NAMES += ui-commit.o | ||
39 | CGIT_OBJ_NAMES += ui-diff.o | ||
40 | CGIT_OBJ_NAMES += ui-log.o | ||
41 | CGIT_OBJ_NAMES += ui-patch.o | ||
42 | CGIT_OBJ_NAMES += ui-plain.o | ||
43 | CGIT_OBJ_NAMES += ui-refs.o | ||
44 | CGIT_OBJ_NAMES += ui-repolist.o | ||
45 | CGIT_OBJ_NAMES += ui-shared.o | ||
46 | CGIT_OBJ_NAMES += ui-snapshot.o | ||
47 | CGIT_OBJ_NAMES += ui-ssdiff.o | ||
48 | CGIT_OBJ_NAMES += ui-stats.o | ||
49 | CGIT_OBJ_NAMES += ui-summary.o | ||
50 | CGIT_OBJ_NAMES += ui-tag.o | ||
51 | CGIT_OBJ_NAMES += ui-tree.o | ||
52 | CGIT_OBJ_NAMES += vector.o | ||
53 | |||
54 | CGIT_OBJS := $(addprefix $(CGIT_PREFIX),$(CGIT_OBJ_NAMES)) | ||
55 | |||
56 | ifeq ($(wildcard $(CGIT_PREFIX).depend),) | ||
57 | missing_dep_dirs += $(CGIT_PREFIX).depend | ||
58 | endif | ||
59 | |||
60 | $(CGIT_PREFIX).depend: | ||
61 | @mkdir -p $@ | ||
62 | |||
63 | $(CGIT_PREFIX)CGIT-CFLAGS: FORCE | ||
64 | @FLAGS='$(subst ','\'',$(CGIT_CFLAGS))'; \ | ||
65 | if test x"$$FLAGS" != x"`cat ../CGIT-CFLAGS 2>/dev/null`" ; then \ | ||
66 | echo 1>&2 " * new CGit build flags"; \ | ||
67 | echo "$$FLAGS" >$(CGIT_PREFIX)CGIT-CFLAGS; \ | ||
68 | fi | ||
69 | |||
70 | $(CGIT_OBJS): %.o: %.c GIT-CFLAGS $(CGIT_PREFIX)CGIT-CFLAGS $(missing_dep_dirs) | ||
71 | $(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $(CGIT_CFLAGS) $< | ||
72 | |||
73 | $(CGIT_PREFIX)cgit: $(CGIT_OBJS) GIT-LDFLAGS $(GITLIBS) | ||
74 | $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) | ||