From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- support/highlight/makefile | 161 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 support/highlight/makefile (limited to 'support/highlight/makefile') diff --git a/support/highlight/makefile b/support/highlight/makefile new file mode 100644 index 0000000000..7961a076c2 --- /dev/null +++ b/support/highlight/makefile @@ -0,0 +1,161 @@ +# Installation script for highlight. +# See INSTALL for details. +# IMPORTANT: Update highlight.spec file after changing paths! + +# 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 examples: +examples_dir = ${doc_dir}examples/ + +# 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 "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}plugins \ + ${DESTDIR}${examples_dir}plugins/dokuwiki \ + ${DESTDIR}${examples_dir}plugins/movabletype \ + ${DESTDIR}${examples_dir}plugins/wordpress \ + ${DESTDIR}${examples_dir}swig + ${MKDIR} ${DESTDIR}${data_dir} \ + ${DESTDIR}${data_dir}themes \ + ${DESTDIR}${data_dir}langDefs + ${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/*.style ${DESTDIR}${data_dir}themes/ + ${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} ./ChangeLog ${DESTDIR}${doc_dir} + ${INSTALL_DATA} ./COPYING ${DESTDIR}${doc_dir} + ${INSTALL_DATA} ./INSTALL ${DESTDIR}${doc_dir} + ${INSTALL_DATA} ./examples/plugins/dokuwiki/* ${DESTDIR}${examples_dir}plugins/dokuwiki/ + ${INSTALL_DATA} ./examples/plugins/movabletype/* ${DESTDIR}${examples_dir}plugins/movabletype/ + ${INSTALL_DATA} ./examples/plugins/wordpress/* ${DESTDIR}${examples_dir}plugins/wordpress/ + ${INSTALL_DATA} ./examples/swig/*.py ./examples/swig/*.pl ${DESTDIR}${examples_dir}swig + ${INSTALL_DATA} ./examples/swig/*.i ./examples/swig/makefile ${DESTDIR}${examples_dir}swig + ${INSTALL_DATA} ./examples/swig/README_SWIG ${DESTDIR}${doc_dir} + ${INSTALL_DATA} ./examples/highlight_pipe.* ${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 plugins and SWIG language 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 (4.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 -- cgit v1.2.3