4 CGIT_SCRIPT_NAME
= cgit.cgi
5 CGIT_SCRIPT_PATH
= /var
/www
/htdocs
/cgit
6 CGIT_DATA_PATH
= $(CGIT_SCRIPT_PATH
)
7 CGIT_CONFIG
= /etc
/cgitrc
8 CACHE_ROOT
= /var
/cache
/cgit
10 libdir = $(prefix)/lib
11 filterdir
= $(libdir)/cgit
/filters
12 docdir
= $(prefix)/share
/doc
/cgit
15 mandir = $(prefix)/share
/man
16 SHA1_HEADER
= <openssl
/sha.h
>
18 GIT_URL
= https
://www.kernel.org
/pub
/software
/scm
/git
/git-
$(GIT_VER
).
tar.gz
21 MAN5_TXT
= $(wildcard *.5.txt
)
23 DOC_MAN5
= $(patsubst %.txt
,%,$(MAN5_TXT
))
24 DOC_HTML
= $(patsubst %.txt
,%.html
,$(MAN_TXT
))
25 DOC_PDF
= $(patsubst %.txt
,%.pdf
,$(MAN_TXT
))
27 # Define NO_C99_FORMAT if your formatted IO functions (printf/scanf et.al.)
28 # do not support the 'size specifiers' introduced by C99, namely ll, hh,
29 # j, z, t. (representing long long int, char, intmax_t, size_t, ptrdiff_t).
30 # some C compilers supported these specifiers prior to C99 as an extension.
32 # Define HAVE_LINUX_SENDFILE to use sendfile()
36 -include git
/config.mak.uname
38 # Let the user override the above settings.
42 export CGIT_VERSION CGIT_SCRIPT_NAME CGIT_SCRIPT_PATH CGIT_DATA_PATH CGIT_CONFIG CACHE_ROOT
45 # Define a way to invoke make in subdirs quietly, shamelessly ripped
48 QUIET_SUBDIR0
= +$(MAKE
) -C
# space to separate -C and subdir
51 ifneq ($(findstring w
,$(MAKEFLAGS
)),w
)
52 PRINT_DIR
= --no-print-directory
58 QUIET_SUBDIR0
= +@subdir
=
59 QUIET_SUBDIR1
= ;$(NO_SUBDIR
) echo
' ' SUBDIR
$$subdir; \
60 $(MAKE
) $(PRINT_DIR
) -C
$$subdir
61 QUIET_TAGS
= @echo
' ' TAGS
$@
;
70 $(QUIET_SUBDIR0
)git
$(QUIET_SUBDIR1
) -f ..
/cgit.mk ..
/cgit
$(EXTRA_GIT_TARGETS
) NO_CURL
=1
73 $(QUIET_SUBDIR0
)git
$(QUIET_SUBDIR1
) -f ..
/cgit.mk NO_CURL
=1 cgit-sparse
76 @
$(MAKE
) --no-print-directory cgit EXTRA_GIT_TARGETS
=all
77 $(QUIET_SUBDIR0
)tests
$(QUIET_SUBDIR1
) all
80 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(CGIT_SCRIPT_PATH
)
81 $(INSTALL
) -m
0755 cgit
$(DESTDIR
)$(CGIT_SCRIPT_PATH
)/$(CGIT_SCRIPT_NAME
)
82 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(CGIT_DATA_PATH
)
83 $(INSTALL
) -m
0644 cgit.css
$(DESTDIR
)$(CGIT_DATA_PATH
)/cgit.css
84 $(INSTALL
) -m
0644 cgit.png
$(DESTDIR
)$(CGIT_DATA_PATH
)/cgit.png
85 $(INSTALL
) -m
0644 favicon.ico
$(DESTDIR
)$(CGIT_DATA_PATH
)/favicon.ico
86 $(INSTALL
) -m
0644 robots.txt
$(DESTDIR
)$(CGIT_DATA_PATH
)/robots.txt
87 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(filterdir
)
88 $(COPYTREE
) filters
/* $(DESTDIR
)$(filterdir
)
90 install-doc
: install-man install-html install-pdf
93 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(mandir)/man5
94 $(INSTALL
) -m
0644 $(DOC_MAN5
) $(DESTDIR
)$(mandir)/man5
96 install-html
: doc-html
97 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(htmldir
)
98 $(INSTALL
) -m
0644 $(DOC_HTML
) $(DESTDIR
)$(htmldir
)
101 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(pdfdir
)
102 $(INSTALL
) -m
0644 $(DOC_PDF
) $(DESTDIR
)$(pdfdir
)
105 rm -f
$(DESTDIR
)$(CGIT_SCRIPT_PATH
)/$(CGIT_SCRIPT_NAME
)
106 rm -f
$(DESTDIR
)$(CGIT_DATA_PATH
)/cgit.css
107 rm -f
$(DESTDIR
)$(CGIT_DATA_PATH
)/cgit.png
108 rm -f
$(DESTDIR
)$(CGIT_DATA_PATH
)/favicon.ico
110 uninstall-doc
: uninstall-man uninstall-html uninstall-pdf
113 @for i in
$(DOC_MAN5
); do \
114 rm -fv
$(DESTDIR
)$(mandir)/man5
/$$i; \
118 @for i in
$(DOC_HTML
); do \
119 rm -fv
$(DESTDIR
)$(htmldir
)/$$i; \
123 @for i in
$(DOC_PDF
); do \
124 rm -fv
$(DESTDIR
)$(pdfdir
)/$$i; \
127 doc
: doc-man doc-html doc-pdf
129 doc-man5
: $(DOC_MAN5
)
130 doc-html
: $(DOC_HTML
)
136 $(DOC_HTML
): %.html
: %.txt
137 a2x
-f xhtml
--stylesheet
=cgit-doc.css
$<
139 $(DOC_PDF
): %.pdf
: %.txt
140 a2x
-f pdf cgitrc
.5.txt
143 $(RM
) cgit VERSION CGIT-CFLAGS
*.o
tags
150 $(RM
) cgitrc
.5 cgitrc
.5.html cgitrc
.5.pdf cgitrc
.5.xml cgitrc
.5.fo
153 curl
-L
$(GIT_URL
) |
tar -xzf
- && rm -rf git
&& mv git-
$(GIT_VER
) git
156 $(QUIET_TAGS
)find .
-name
'*.[ch]' | xargs ctags
158 .PHONY
: all cgit git get-git
159 .PHONY
: clean clean-doc cleanall
160 .PHONY
: doc doc-html doc-man doc-pdf
161 .PHONY
: install install-doc install-html install-man install-pdf
163 .PHONY
: uninstall uninstall-doc uninstall-html uninstall-man uninstall-pdf