This repository has been archived by the owner on Jul 21, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 58
/
makefile
175 lines (146 loc) · 6.47 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# Installation script for highlight.
# See INSTALL for details.
# Installation directories:
# Destination directory for installation (intended for packagers)
DESTDIR =
# Root directory for final installation
PREFIX = /usr
# Location of the highlight data files:
data_dir = ${PREFIX}/share/highlight/
# Location of the highlight binary:
bin_dir = ${PREFIX}/bin/
# Location of the highlight man page:
man_dir = ${PREFIX}/share/man/man1/
# Location of the highlight documentation:
doc_dir = ${PREFIX}/share/doc/highlight/
# Location of the highlight extras:
examples_dir = ${doc_dir}extras/
# Location of the highlight config files:
conf_dir = /etc/highlight/
#conf_dir = ${PREFIX}/etc/highlight/
# Location of additional gui files
desktop_apps = ${PREFIX}/share/applications/
desktop_pixmaps = ${PREFIX}/share/pixmaps/
# Commands:
INSTALL_DATA=install -m644
INSTALL_PROGRAM=install -m755
MKDIR=mkdir -p -m 755
RMDIR=rm -r -f
all cli:
${MAKE} -C ./src -f ./makefile HL_DATA_DIR=${data_dir} HL_CONFIG_DIR=${conf_dir}
lib lib-static:
${MAKE} -C ./src -f ./makefile HL_DATA_DIR=${data_dir} HL_CONFIG_DIR=${conf_dir} lib-static
lib-shared:
${MAKE} -C ./src -f ./makefile HL_DATA_DIR=${data_dir} HL_CONFIG_DIR=${conf_dir} PIC=1 lib-shared
gui:
${MAKE} -C ./src -f ./makefile HL_DATA_DIR=\"${data_dir}\" HL_CONFIG_DIR=\"${conf_dir}\" HL_DOC_DIR=\"${doc_dir}\" gui-qt
@echo
@echo "You need to run 'make install' AND 'make install-gui' now!"
install:
@echo "This script will install highlight in the following directories:"
@echo "Data directory: ${DESTDIR}${data_dir}"
@echo "Documentation directory: ${DESTDIR}${doc_dir}"
@echo "Plugin directory: ${DESTDIR}${data_dir}/plugins"
@echo "Examples directory: ${DESTDIR}${examples_dir}"
@echo "Manual directory: ${DESTDIR}${man_dir}"
@echo "Binary directory: ${DESTDIR}${bin_dir}"
@echo "Configuration directory: ${DESTDIR}${conf_dir}"
@echo
${MKDIR} ${DESTDIR}${doc_dir}
${MKDIR} ${DESTDIR}${conf_dir}
${MKDIR} ${DESTDIR}${examples_dir} \
${DESTDIR}${examples_dir}web_plugins \
${DESTDIR}${examples_dir}web_plugins/dokuwiki \
${DESTDIR}${examples_dir}web_plugins/movabletype \
${DESTDIR}${examples_dir}web_plugins/wordpress \
${DESTDIR}${examples_dir}swig \
${DESTDIR}${examples_dir}pandoc \
${DESTDIR}${examples_dir}json \
${DESTDIR}${examples_dir}pywal \
${DESTDIR}${examples_dir}langDefs-resources \
${DESTDIR}${examples_dir}css-themes
${MKDIR} ${DESTDIR}${data_dir} \
${DESTDIR}${data_dir}themes \
${DESTDIR}${data_dir}langDefs \
${DESTDIR}${data_dir}plugins
${MKDIR} ${DESTDIR}${man_dir}
${MKDIR} ${DESTDIR}${bin_dir}
${INSTALL_DATA} ./langDefs/*.lang ${DESTDIR}${data_dir}langDefs/
${INSTALL_DATA} ./*.conf ${DESTDIR}${conf_dir}
${INSTALL_DATA} ./themes/*.theme ${DESTDIR}${data_dir}themes/
${INSTALL_DATA} ./plugins/*.lua ${DESTDIR}${data_dir}plugins/
${INSTALL_DATA} ./man/highlight.1.gz ${DESTDIR}${man_dir}
${INSTALL_DATA} ./AUTHORS ${DESTDIR}${doc_dir}
${INSTALL_DATA} ./README ${DESTDIR}${doc_dir}
${INSTALL_DATA} ./README_DE ${DESTDIR}${doc_dir}
${INSTALL_DATA} ./README_REGEX ${DESTDIR}${doc_dir}
${INSTALL_DATA} ./README_LANGLIST ${DESTDIR}${doc_dir}
${INSTALL_DATA} ./README_PLUGINS ${DESTDIR}${doc_dir}
${INSTALL_DATA} ./ChangeLog ${DESTDIR}${doc_dir}
${INSTALL_DATA} ./COPYING ${DESTDIR}${doc_dir}
${INSTALL_DATA} ./INSTALL ${DESTDIR}${doc_dir}
${INSTALL_DATA} ./extras/web_plugins/dokuwiki/* ${DESTDIR}${examples_dir}web_plugins/dokuwiki/
${INSTALL_DATA} ./extras/web_plugins/movabletype/* ${DESTDIR}${examples_dir}web_plugins/movabletype/
${INSTALL_DATA} ./extras/web_plugins/wordpress/* ${DESTDIR}${examples_dir}web_plugins/wordpress/
${INSTALL_DATA} ./extras/swig/* ${DESTDIR}${examples_dir}swig
${INSTALL_DATA} ./extras/pandoc/* ${DESTDIR}${examples_dir}pandoc
${INSTALL_DATA} ./extras/pywal/* ${DESTDIR}${examples_dir}pywal
${INSTALL_DATA} ./extras/json/* ${DESTDIR}${examples_dir}json
${INSTALL_DATA} ./extras/langDefs-resources/* ${DESTDIR}${examples_dir}langDefs-resources
${INSTALL_DATA} ./extras/css-themes/* ${DESTDIR}${examples_dir}css-themes
${INSTALL_DATA} ./extras/highlight_pipe.* ${DESTDIR}${examples_dir}
${INSTALL_DATA} ./extras/*.py ${DESTDIR}${examples_dir}
${INSTALL_PROGRAM} ./src/highlight ${DESTDIR}${bin_dir}
@echo
@echo "Done."
@echo "Type highlight --help or man highlight for instructions."
@echo "Take a look at ${DESTDIR}${examples_dir} for web plugins, SWIG and TCL bindings."
@echo "Execute 'make install-gui' to install the highlight GUI ('make gui')."
@echo "Do not hesitate to report problems. Unknown bugs are hard to fix."
install-gui:
@echo "Installing files for the GUI..."
${MKDIR} ${DESTDIR}${data_dir} \
${DESTDIR}${data_dir}gui_files \
${DESTDIR}${data_dir}gui_files/ext \
${DESTDIR}${data_dir}gui_files/l10n \
${DESTDIR}${desktop_apps} \
${DESTDIR}${desktop_pixmaps}
${INSTALL_DATA} ./gui_files/l10n/* ${DESTDIR}${data_dir}gui_files/l10n/
${INSTALL_DATA} ./gui_files/ext/* ${DESTDIR}${data_dir}gui_files/ext/
${INSTALL_DATA} ./highlight.desktop ${DESTDIR}${desktop_apps}
${INSTALL_DATA} ./src/gui-qt/highlight.xpm ${DESTDIR}${desktop_pixmaps}
${INSTALL_PROGRAM} ./src/highlight-gui ${DESTDIR}${bin_dir}
uninstall:
@echo "Removing highlight files from system..."
${RMDIR} ${DESTDIR}${data_dir}
${RMDIR} ${DESTDIR}${doc_dir}
${RMDIR} ${DESTDIR}${conf_dir}
${RMDIR} ${DESTDIR}${examples_dir}
rm -rf ${DESTDIR}${man_dir}highlight.1.gz
rm -rf ${DESTDIR}${bin_dir}highlight
rm -rf ${DESTDIR}${bin_dir}highlight-gui
rm -rf ${DESTDIR}${desktop_apps}highlight.desktop
rm -rf ${DESTDIR}${desktop_pixmaps}highlight.xpm
@echo "Done."
clean cleanall:
$(MAKE) -C ./src -f ./makefile clean
apidocs:
doxygen Doxyfile
help:
@echo "This makefile offers the following options:"
@echo
@echo "(all) Compile the command line interface."
@echo "lib-static Compile only the static library."
@echo "lib-shared Compile only the shared library."
@echo "gui Compile the Qt (5.x) GUI."
@echo "install* Copy all data files to ${data_dir}."
@echo "install-gui* Copy GUI data files to ${data_dir}."
@echo "clean Remove object files and binaries."
@echo "apidocs Generate HTML API documentation using doxygen."
@echo "uninstall* Remove highlight files from system."
@echo
@echo "* Command needs root privileges."
@echo "See src/makefile for compilation and linking options."
# Target needed for redhat 9.0 rpmbuild
install-strip:
.PHONY: clean all install apidocs help uninstall install-strip