Add support for man page generation and installation
Man pages are installed gzipped by default, and can be generated from .pod files using pod2man.
This commit is contained in:
parent
8914a36a4a
commit
14a2be96b0
|
@ -39,6 +39,8 @@ INSTALL_BIN= $(INSTALL)
|
|||
INSTALL_HDR= $(INSTALL_DATA)
|
||||
INSTALL_SHR= $(INSTALL_DATA)
|
||||
INSTALL_LIB= $(INSTALL)
|
||||
INSTALL_MAN= $(INSTALL_DATA)
|
||||
INSTALL_ETC= $(INSTALL_DATA)
|
||||
UNINSTALL= /bin/rm -f
|
||||
UNINSTALL_DIR= /bin/rmdir > /dev/null 2>&1
|
||||
UNINSTALL_OK= || true
|
||||
|
|
|
@ -98,6 +98,7 @@ PREFIX_LIB?=$(PREFIX)lib/
|
|||
PREFIX_DLL?=$(PREFIX_LIB)
|
||||
PREFIX_HDR?=$(PREFIX)include/
|
||||
PREFIX_SHR?=$(PREFIX)share/
|
||||
PREFIX_MAN?=$(PREFIX_SHR)man/
|
||||
|
||||
# Package configuration directories by default
|
||||
# The defaut is to install binaries and shared libraries in the prefix
|
||||
|
@ -108,8 +109,10 @@ PACKAGE_INSTALL_LIB?=$(DESTDIR)$(PREFIX_LIB)
|
|||
PACKAGE_INSTALL_DLL?=$(DESTDIR)$(PREFIX_DLL)
|
||||
PACKAGE_INSTALL_HDR?=$(DESTDIR)$(PREFIX_HDR)$(PACKAGE_DIR)
|
||||
PACKAGE_INSTALL_SHR?=$(DESTDIR)$(PREFIX_SHR)$(PACKAGE_DIR)
|
||||
PACKAGE_INSTALL_MAN?=$(DESTDIR)$(PREFIX_MAN)
|
||||
PACKAGE_INSTALL_PKGCONFIG?=$(DESTDIR)$(PREFIX_SHR)pkgconfig/
|
||||
PACKAGE_INSTALL_SYSCONFIG?=$(DESTDIR)$(SYSCONFIG)
|
||||
PACKAGE_INSTALL_SYSCONFIG?=$(DESTDIR)$(SYSCONFIG)$(PACKAGE_DIR)
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Compilation flags
|
||||
|
@ -140,7 +143,7 @@ CXXFLAGS_TARGET_release= $(CFLAGS_TARGET_release)
|
|||
|
||||
ECHO= /bin/echo
|
||||
TIME= time
|
||||
|
||||
MKDIR= mkdir
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# OS name for a given build environment
|
||||
|
|
29
rules.mk
29
rules.mk
|
@ -81,7 +81,9 @@ MIQ_INSTALL= $(TO_INSTALL:%=%.$(DO_INSTALL)) \
|
|||
$(DLL_INSTALL:%=%.$(DO_INSTALL)_dll) \
|
||||
$(HEADERS:%=%.$(DO_INSTALL)_hdr) \
|
||||
$(HDR_INSTALL:%=%.$(DO_INSTALL)_hdr) \
|
||||
$(SHR_INSTALL:%=%.$(DO_INSTALL)_shr) \
|
||||
$(MANPAGES:%=%.gz.$(DO_INSTALL)_man) \
|
||||
$(MAN_INSTALL:%=%.gz.$(DO_INSTALL)_man) \
|
||||
$(ETC_INSTALL:%=%.$(DO_INSTALL)_etc) \
|
||||
$(MIQ_PACKAGE:%=%.$(DO_INSTALL)_pc)
|
||||
|
||||
MIQ_SOURCES= $(SOURCES) \
|
||||
|
@ -90,6 +92,10 @@ MIQ_SOURCES= $(SOURCES) \
|
|||
$(SOURCES_VARIANT_$(VARIANT)) \
|
||||
$(MIQ_OUT_SOURCES)
|
||||
|
||||
# Automatically put the man pages in the correct section
|
||||
MIQ_MANDIR= $(PACKAGE_INSTALL_MAN)man$(MIQ_MANSECT)/
|
||||
MIQ_MANSECT= $(subst .,,$(suffix $(*:.gz=)))
|
||||
|
||||
ifndef MIQ_DIR
|
||||
MIQ_FULLDIR:= $(abspath .)/
|
||||
MIQ_DIR:= $(subst $(abspath $(TOP))/,,$(MIQ_FULLDIR))
|
||||
|
@ -476,7 +482,6 @@ $(MIQ_OUTDLL): $(MIQ_TOLINK) $$(MIQ_TOLINK) $(MIQ_MAKEDEPS)
|
|||
$(MIQ_OUTEXE): $(MIQ_TOLINK) $$(MIQ_TOLINK) $(MIQ_MAKEDEPS)
|
||||
$(PRINT_BUILD) $(MAKE_EXE)
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Package configuration
|
||||
#------------------------------------------------------------------------------
|
||||
|
@ -576,6 +581,17 @@ $(MIQ_OBJDIR)CFG_HAVE_PACKAGE_%.h: $(MIQ_CONFIGDEPS)
|
|||
endif
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Documentation generation
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Man pages
|
||||
man/%.gz: man/%
|
||||
$(PRINT_GENERATE) gzip -9 < $< > $@
|
||||
man/%.[1-9]: man/%.pod
|
||||
$(PRINT_GENERATE) pod2man $< $@
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Test targets
|
||||
#------------------------------------------------------------------------------
|
||||
|
@ -618,6 +634,11 @@ benchmark: $(BENCHMARKS:%=%.benchmark)
|
|||
$(PRINT_INSTALL) $(INSTALL_HDR) $* $(PACKAGE_INSTALL_HDR)
|
||||
%.install_shr: $(PACKAGE_INSTALL_SHR).mkdir-only
|
||||
$(PRINT_INSTALL) $(INSTALL_SHR) $* $(PACKAGE_INSTALL_SHR)
|
||||
%.install_man: $(PACKAGE_INSTALL_MAN).mkdir-only %
|
||||
$(PRINT_COMMAND) $(MKDIR) -p $(MIQ_MANDIR)
|
||||
$(PRINT_INSTALL) $(INSTALL_MAN) $* $(MIQ_MANDIR)
|
||||
%.install_etc: $(PACKAGE_INSTALL_SYSCONFIG).mkdir-only %
|
||||
$(PRINT_INSTALL) $(INSTALL_ETC) $* $(PACKAGE_INSTALL_SYSCONFIG)
|
||||
%.install_pc: $(PACKAGE_INSTALL_PKGCONFIG).mkdir-only %
|
||||
$(PRINT_INSTALL) $(INSTALL_DATA) $* $(PACKAGE_INSTALL_PKGCONFIG)
|
||||
|
||||
|
@ -634,6 +655,10 @@ benchmark: $(BENCHMARKS:%=%.benchmark)
|
|||
$(PRINT_UNINSTALL) $(UNINSTALL) $(*F:%=$(PACKAGE_INSTALL_HDR)%) ; $(UNINSTALL_DIR) $(PACKAGE_INSTALL_HDR) $(UNINSTALL_OK)
|
||||
%.uninstall_shr:
|
||||
$(PRINT_UNINSTALL) $(UNINSTALL) $(*F:%=$(PACKAGE_INSTALL_SHR)%) ; $(UNINSTALL_DIR) $(PACKAGE_INSTALL_SHR) $(UNINSTALL_OK)
|
||||
%.uninstall_man:
|
||||
$(PRINT_UNINSTALL) $(UNINSTALL) $(*F:%=$(PACKAGE_INSTALL_MAN)%)
|
||||
%.uninstall_etc:
|
||||
$(PRINT_UNINSTALL) $(UNINSTALL) $(*F:%=$(PACKAGE_INSTALL_SYSCONFIG)%)
|
||||
%.uninstall_pc:
|
||||
$(PRINT_UNINSTALL) $(UNINSTALL) $(*F:%=$(PACKAGE_INSTALL_PKGCONFIG)%) ; $(UNINSTALL_DIR) $(PACKAGE_INSTALL_PKGCONFIG) $(UNINSTALL_OK)
|
||||
|
||||
|
|
Loading…
Reference in New Issue