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()
37 # Let the user override the above settings.
41 export CGIT_VERSION CGIT_SCRIPT_NAME CGIT_SCRIPT_PATH CGIT_DATA_PATH CGIT_CONFIG CACHE_ROOT
44 # Define a way to invoke make in subdirs quietly, shamelessly ripped
47 QUIET_SUBDIR0
= +$(MAKE
) -C
# space to separate -C and subdir
50 ifneq ($(findstring $(MAKEFLAGS
),w
),w
)
51 PRINT_DIR
= --no-print-directory
57 QUIET_SUBDIR0
= +@subdir
=
58 QUIET_SUBDIR1
= ;$(NO_SUBDIR
) echo
' ' SUBDIR
$$subdir; \
59 $(MAKE
) $(PRINT_DIR
) -C
$$subdir
60 QUIET_TAGS
= @echo
' ' TAGS
$@
;
69 $(QUIET_SUBDIR0
)git
$(QUIET_SUBDIR1
) -f ..
/cgit.mk ..
/cgit
$(EXTRA_GIT_TARGETS
) NO_CURL
=1
72 @
$(MAKE
) --no-print-directory cgit EXTRA_GIT_TARGETS
=all
73 $(QUIET_SUBDIR0
)tests
$(QUIET_SUBDIR1
) all
76 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(CGIT_SCRIPT_PATH
)
77 $(INSTALL
) -m
0755 cgit
$(DESTDIR
)$(CGIT_SCRIPT_PATH
)/$(CGIT_SCRIPT_NAME
)
78 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(CGIT_DATA_PATH
)
79 $(INSTALL
) -m
0644 cgit.css
$(DESTDIR
)$(CGIT_DATA_PATH
)/cgit.css
80 $(INSTALL
) -m
0644 cgit.png
$(DESTDIR
)$(CGIT_DATA_PATH
)/cgit.png
81 $(INSTALL
) -m
0644 favicon.ico
$(DESTDIR
)$(CGIT_DATA_PATH
)/favicon.ico
82 $(INSTALL
) -m
0644 robots.txt
$(DESTDIR
)$(CGIT_DATA_PATH
)/robots.txt
83 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(filterdir
)
84 $(COPYTREE
) filters
/* $(DESTDIR
)$(filterdir
)
86 install-doc
: install-man install-html install-pdf
89 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(mandir)/man5
90 $(INSTALL
) -m
0644 $(DOC_MAN5
) $(DESTDIR
)$(mandir)/man5
92 install-html
: doc-html
93 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(htmldir
)
94 $(INSTALL
) -m
0644 $(DOC_HTML
) $(DESTDIR
)$(htmldir
)
97 $(INSTALL
) -m
0755 -d
$(DESTDIR
)$(pdfdir
)
98 $(INSTALL
) -m
0644 $(DOC_PDF
) $(DESTDIR
)$(pdfdir
)
101 rm -f
$(DESTDIR
)$(CGIT_SCRIPT_PATH
)/$(CGIT_SCRIPT_NAME
)
102 rm -f
$(DESTDIR
)$(CGIT_DATA_PATH
)/cgit.css
103 rm -f
$(DESTDIR
)$(CGIT_DATA_PATH
)/cgit.png
104 rm -f
$(DESTDIR
)$(CGIT_DATA_PATH
)/favicon.ico
106 uninstall-doc
: uninstall-man uninstall-html uninstall-pdf
109 @for i in
$(DOC_MAN5
); do \
110 rm -fv
$(DESTDIR
)$(mandir)/man5
/$$i; \
114 @for i in
$(DOC_HTML
); do \
115 rm -fv
$(DESTDIR
)$(htmldir
)/$$i; \
119 @for i in
$(DOC_PDF
); do \
120 rm -fv
$(DESTDIR
)$(pdfdir
)/$$i; \
123 doc
: doc-man doc-html doc-pdf
125 doc-man5
: $(DOC_MAN5
)
126 doc-html
: $(DOC_HTML
)
132 $(DOC_HTML
): %.html
: %.txt
133 a2x
-f xhtml
--stylesheet
=cgit-doc.css
$<
135 $(DOC_PDF
): %.pdf
: %.txt
136 a2x
-f pdf cgitrc
.5.txt
139 $(RM
) cgit VERSION CGIT-CFLAGS
*.o
tags
146 $(RM
) cgitrc
.5 cgitrc
.5.html cgitrc
.5.pdf cgitrc
.5.xml cgitrc
.5.fo
149 curl
-L
$(GIT_URL
) |
tar -xzf
- && rm -rf git
&& mv git-
$(GIT_VER
) git
152 $(QUIET_TAGS
)find .
-name
'*.[ch]' | xargs ctags
154 .PHONY
: all cgit git get-git
155 .PHONY
: clean clean-doc cleanall
156 .PHONY
: doc doc-html doc-man doc-pdf
157 .PHONY
: install install-doc install-html install-man install-pdf
159 .PHONY
: uninstall uninstall-doc uninstall-html uninstall-man uninstall-pdf