1039 lines
27 KiB
Makefile
1039 lines
27 KiB
Makefile
# Network UPS Tools: man
|
|
#
|
|
|
|
# Notes:
|
|
# - sources (.txt) and groff formats are both distributed,
|
|
# - only sources are versioned ; groff files are generated at worst
|
|
# during 'make dist' (while preparing a release tarball)
|
|
# - HTML files are built upon request, if AsciiDoc is available,
|
|
# - groff update will only happen if AsciiDoc is available too,
|
|
# - all this can probably (and hopefully) be improved, but I've not
|
|
# found a way to do pattern replacement on the fly for target deps!
|
|
# FIXME: investigate an autogen.sh hook
|
|
# - Ref: http://www.gnu.org/software/hello/manual/automake/Man-pages.html
|
|
# - WITH_MANS can be enabled if either we are building man-pages, or if
|
|
# the --with-doc=man=auto detected an inability to build the man-pages
|
|
# but enabled the DOC_INSTALL_DISTED_MANS toggle so we deliver disted
|
|
# files from source tree
|
|
|
|
# Is "egrep == grep -E" always valid? (maybe all a job for configure.ac)
|
|
EGREP = egrep
|
|
#EGREP = grep -E
|
|
|
|
# Base configuration and client manpages, always installed
|
|
SRC_CONF_PAGES = \
|
|
nut.conf.txt \
|
|
ups.conf.txt \
|
|
upsd.conf.txt \
|
|
upsd.users.txt \
|
|
upsmon.conf.txt \
|
|
upssched.conf.txt
|
|
|
|
if WITH_MANS
|
|
MAN_CONF_PAGES = \
|
|
nut.conf.5 \
|
|
ups.conf.5 \
|
|
upsd.conf.5 \
|
|
upsd.users.5 \
|
|
upsmon.conf.5 \
|
|
upssched.conf.5
|
|
endif
|
|
|
|
man5_MANS = $(MAN_CONF_PAGES)
|
|
|
|
HTML_CONF_MANS = \
|
|
nut.conf.html \
|
|
ups.conf.html \
|
|
upsd.conf.html \
|
|
upsd.users.html \
|
|
upsmon.conf.html \
|
|
upssched.conf.html
|
|
|
|
# NOTE: Currently SRC_DRIVERTOOL_PAGES are a separate list to generate
|
|
# a linkman-drivertool-names.txt file, but historically remain part of
|
|
# MAN/HTML_CLIENT_PAGES in the bigger picture.
|
|
SRC_DRIVERTOOL_PAGES = \
|
|
nut-driver-enumerator.txt \
|
|
upsdrvctl.txt \
|
|
upsdrvsvcctl.txt
|
|
|
|
SRC_CLIENT_PAGES = \
|
|
$(SRC_DRIVERTOOL_PAGES) \
|
|
nutupsdrv.txt \
|
|
upsc.txt \
|
|
upscmd.txt \
|
|
upsd.txt \
|
|
upslog.txt \
|
|
upsmon.txt \
|
|
upsrw.txt \
|
|
upssched.txt
|
|
|
|
if WITH_MANS
|
|
MAN_CLIENT_PAGES = \
|
|
nutupsdrv.8 \
|
|
nut-driver-enumerator.8 \
|
|
upsc.8 \
|
|
upscmd.8 \
|
|
upsd.8 \
|
|
upsdrvctl.8 \
|
|
upsdrvsvcctl.8 \
|
|
upslog.8 \
|
|
upsmon.8 \
|
|
upsrw.8 \
|
|
upssched.8
|
|
endif
|
|
|
|
man8_MANS = $(MAN_CLIENT_PAGES)
|
|
|
|
HTML_CLIENT_MANS = \
|
|
nutupsdrv.html \
|
|
nut-driver-enumerator.html \
|
|
upsc.html \
|
|
upscmd.html \
|
|
upsd.html \
|
|
upsdrvctl.html \
|
|
upsdrvsvcctl.html \
|
|
upslog.html \
|
|
upsmon.html \
|
|
upsrw.html \
|
|
upssched.html
|
|
|
|
SRC_TOOL_PAGES = nut-scanner.txt nut-recorder.txt
|
|
|
|
if WITH_MANS
|
|
MAN_TOOL_PAGES = nut-scanner.8 nut-recorder.8
|
|
endif
|
|
|
|
man8_MANS += $(MAN_TOOL_PAGES)
|
|
|
|
HTML_TOOL_MANS = nut-scanner.html nut-recorder.html
|
|
|
|
# CGI (--with-cgi) related manpages
|
|
SRC_CGI_PAGES = \
|
|
hosts.conf.txt \
|
|
upsset.conf.txt \
|
|
upsstats.html.txt \
|
|
upsset.cgi.txt \
|
|
upsstats.cgi.txt \
|
|
upsimage.cgi.txt
|
|
|
|
if WITH_MANS
|
|
MAN5_CGI_PAGES = \
|
|
hosts.conf.5 \
|
|
upsset.conf.5 \
|
|
upsstats.html.5
|
|
|
|
MAN8_CGI_PAGES = \
|
|
upsset.cgi.8 \
|
|
upsstats.cgi.8 \
|
|
upsimage.cgi.8
|
|
endif
|
|
|
|
if WITH_CGI
|
|
man5_MANS += $(MAN5_CGI_PAGES)
|
|
man8_MANS += $(MAN8_CGI_PAGES)
|
|
endif
|
|
|
|
HTML_CGI_MANS = \
|
|
hosts.conf.html \
|
|
upsset.conf.html \
|
|
upsstats.html.html \
|
|
upsset.cgi.html \
|
|
upsstats.cgi.html \
|
|
upsimage.cgi.html
|
|
|
|
|
|
# Development (--with-dev) related manpages
|
|
SRC_DEV_PAGES = \
|
|
upsclient.txt \
|
|
upscli_add_host_cert.txt \
|
|
upscli_cleanup.txt \
|
|
upscli_connect.txt \
|
|
upscli_disconnect.txt \
|
|
upscli_fd.txt \
|
|
upscli_get.txt \
|
|
upscli_init.txt \
|
|
upscli_list_next.txt \
|
|
upscli_list_start.txt \
|
|
upscli_readline.txt \
|
|
upscli_sendline.txt \
|
|
upscli_splitaddr.txt \
|
|
upscli_splitname.txt \
|
|
upscli_ssl.txt \
|
|
upscli_strerror.txt \
|
|
upscli_upserror.txt \
|
|
libnutclient.txt \
|
|
libnutclient_commands.txt \
|
|
libnutclient_devices.txt \
|
|
libnutclient_general.txt \
|
|
libnutclient_misc.txt \
|
|
libnutclient_tcp.txt \
|
|
libnutclient_variables.txt \
|
|
nutscan.txt \
|
|
nutscan_scan_snmp.txt \
|
|
nutscan_scan_usb.txt \
|
|
nutscan_scan_xml_http_range.txt \
|
|
nutscan_scan_nut.txt \
|
|
nutscan_scan_avahi.txt \
|
|
nutscan_scan_ipmi.txt \
|
|
nutscan_scan_eaton_serial.txt \
|
|
nutscan_display_ups_conf.txt \
|
|
nutscan_display_parsable.txt \
|
|
nutscan_cidr_to_ip.txt \
|
|
nutscan_new_device.txt \
|
|
nutscan_free_device.txt \
|
|
nutscan_add_option_to_device.txt \
|
|
nutscan_add_device_to_device.txt \
|
|
nutscan_init.txt \
|
|
nutscan_get_serial_ports_list.txt \
|
|
libupsclient-config.txt \
|
|
skel.txt
|
|
|
|
if WITH_MANS
|
|
# NOTE: nutclient_*.3 has no source counterpart (libnutclient_*.txt)
|
|
|
|
LIBNUTCLIENT_MISC_DEPS= \
|
|
nutclient_authenticate.3 \
|
|
nutclient_logout.3 \
|
|
nutclient_device_login.3 \
|
|
nutclient_get_device_num_logins.3 \
|
|
nutclient_device_master.3 \
|
|
nutclient_device_forced_shutdown.3
|
|
|
|
$(LIBNUTCLIENT_MISC_DEPS): libnutclient_misc.3
|
|
touch $@
|
|
|
|
LIBNUTCLIENT_TCP_DEPS= \
|
|
nutclient_tcp_create_client.3 \
|
|
nutclient_tcp_disconnect.3 \
|
|
nutclient_tcp_get_timeout.3 \
|
|
nutclient_tcp_is_connected.3 \
|
|
nutclient_tcp_reconnect.3 \
|
|
nutclient_tcp_set_timeout.3
|
|
|
|
$(LIBNUTCLIENT_TCP_DEPS): libnutclient_tcp.3
|
|
touch $@
|
|
|
|
LIBNUTCLIENT_GENERAL_DEPS= \
|
|
nutclient_destroy.3
|
|
|
|
$(LIBNUTCLIENT_GENERAL_DEPS): libnutclient_general.3
|
|
touch $@
|
|
|
|
LIBNUTCLIENT_VARIABLES_DEPS= \
|
|
nutclient_get_device_rw_variables.3 \
|
|
nutclient_get_device_variable_description.3 \
|
|
nutclient_get_device_variables.3 \
|
|
nutclient_get_device_variable_values.3 \
|
|
nutclient_has_device_variable.3 \
|
|
nutclient_set_device_variable_value.3 \
|
|
nutclient_set_device_variable_values.3
|
|
|
|
$(LIBNUTCLIENT_VARIABLES_DEPS): libnutclient_variables.3
|
|
touch $@
|
|
|
|
LIBNUTCLIENT_COMMANDS_DEPS= \
|
|
nutclient_execute_device_command.3 \
|
|
nutclient_get_device_command_description.3 \
|
|
nutclient_get_device_commands.3 \
|
|
nutclient_has_device_command.3
|
|
|
|
$(LIBNUTCLIENT_COMMANDS_DEPS): libnutclient_commands.3
|
|
touch $@
|
|
|
|
LIBNUTCLIENT_DEVICES_DEPS= \
|
|
nutclient_get_device_description.3 \
|
|
nutclient_get_devices.3 \
|
|
nutclient_has_device.3
|
|
|
|
$(LIBNUTCLIENT_DEVICES_DEPS): libnutclient_devices.3
|
|
touch $@
|
|
|
|
MAN3_DEV_PAGES = \
|
|
upsclient.3 \
|
|
upscli_add_host_cert.3 \
|
|
upscli_cleanup.3 \
|
|
upscli_connect.3 \
|
|
upscli_disconnect.3 \
|
|
upscli_fd.3 \
|
|
upscli_get.3 \
|
|
upscli_init.3 \
|
|
upscli_list_next.3 \
|
|
upscli_list_start.3 \
|
|
upscli_readline.3 \
|
|
upscli_readline_timeout.3 \
|
|
upscli_sendline.3 \
|
|
upscli_sendline_timeout.3 \
|
|
upscli_splitaddr.3 \
|
|
upscli_splitname.3 \
|
|
upscli_ssl.3 \
|
|
upscli_strerror.3 \
|
|
upscli_upserror.3 \
|
|
libnutclient.3 \
|
|
libnutclient_commands.3 \
|
|
$(LIBNUTCLIENT_COMMANDS_DEPS) \
|
|
libnutclient_devices.3 \
|
|
$(LIBNUTCLIENT_DEVICES_DEPS) \
|
|
libnutclient_general.3 \
|
|
$(LIBNUTCLIENT_GENERAL_DEPS) \
|
|
libnutclient_misc.3 \
|
|
$(LIBNUTCLIENT_MISC_DEPS) \
|
|
libnutclient_tcp.3 \
|
|
$(LIBNUTCLIENT_TCP_DEPS) \
|
|
libnutclient_variables.3 \
|
|
$(LIBNUTCLIENT_VARIABLES_DEPS) \
|
|
nutscan.3 \
|
|
nutscan_scan_snmp.3 \
|
|
nutscan_scan_usb.3 \
|
|
nutscan_scan_xml_http_range.3 \
|
|
nutscan_scan_nut.3 \
|
|
nutscan_scan_avahi.3 \
|
|
nutscan_scan_ipmi.3 \
|
|
nutscan_scan_eaton_serial.3 \
|
|
nutscan_display_ups_conf.3 \
|
|
nutscan_display_parsable.3 \
|
|
nutscan_cidr_to_ip.3 \
|
|
nutscan_new_device.3 \
|
|
nutscan_free_device.3 \
|
|
nutscan_add_option_to_device.3 \
|
|
nutscan_add_device_to_device.3 \
|
|
nutscan_get_serial_ports_list.3 \
|
|
nutscan_init.3
|
|
|
|
upscli_readline_timeout.3: upscli_readline.3
|
|
touch $@
|
|
|
|
upscli_sendline_timeout.3: upscli_sendline.3
|
|
touch $@
|
|
|
|
MAN1_DEV_PAGES = \
|
|
libupsclient-config.1
|
|
endif
|
|
|
|
if WITH_DEV
|
|
man3_MANS = $(MAN3_DEV_PAGES)
|
|
|
|
if !WITH_PKG_CONFIG
|
|
man1_MANS = $(MAN1_DEV_PAGES)
|
|
endif
|
|
# WITH_DEV
|
|
endif
|
|
|
|
HTML_DEV_MANS = \
|
|
upsclient.html \
|
|
upscli_add_host_cert.html \
|
|
upscli_cleanup.html \
|
|
upscli_connect.html \
|
|
upscli_disconnect.html \
|
|
upscli_fd.html \
|
|
upscli_get.html \
|
|
upscli_init.html \
|
|
upscli_list_next.html \
|
|
upscli_list_start.html \
|
|
upscli_readline.html \
|
|
upscli_sendline.html \
|
|
upscli_splitaddr.html \
|
|
upscli_splitname.html \
|
|
upscli_ssl.html \
|
|
upscli_strerror.html \
|
|
upscli_upserror.html \
|
|
libnutclient.html \
|
|
libnutclient_commands.html \
|
|
libnutclient_devices.html \
|
|
libnutclient_general.html \
|
|
libnutclient_misc.html \
|
|
libnutclient_tcp.html \
|
|
libnutclient_variables.html \
|
|
nutscan.html \
|
|
nutscan_scan_snmp.html \
|
|
nutscan_scan_usb.html \
|
|
nutscan_scan_xml_http_range.html \
|
|
nutscan_scan_nut.html \
|
|
nutscan_scan_avahi.html \
|
|
nutscan_scan_ipmi.html \
|
|
nutscan_scan_eaton_serial.html \
|
|
nutscan_display_ups_conf.html \
|
|
nutscan_display_parsable.html \
|
|
nutscan_cidr_to_ip.html \
|
|
nutscan_new_device.html \
|
|
nutscan_free_device.html \
|
|
nutscan_add_option_to_device.html \
|
|
nutscan_add_device_to_device.html \
|
|
nutscan_get_serial_ports_list.html \
|
|
nutscan_init.html \
|
|
libupsclient-config.html \
|
|
skel.html
|
|
|
|
|
|
# Drivers related manpages
|
|
|
|
# (--with-drivers=...)
|
|
if SOME_DRIVERS
|
|
man8_MANS += $(DRIVER_MAN_LIST)
|
|
|
|
else
|
|
|
|
# (--with-serial)
|
|
SRC_SERIAL_PAGES = \
|
|
al175.txt \
|
|
apcsmart.txt \
|
|
apcsmart-old.txt \
|
|
bcmxcp.txt \
|
|
belkin.txt \
|
|
belkinunv.txt \
|
|
bestfortress.txt \
|
|
bestuferrups.txt \
|
|
bestups.txt \
|
|
bestfcom.txt \
|
|
blazer-common.txt \
|
|
blazer_ser.txt \
|
|
clone.txt \
|
|
dummy-ups.txt \
|
|
etapro.txt \
|
|
everups.txt \
|
|
gamatronic.txt \
|
|
genericups.txt \
|
|
isbmex.txt \
|
|
ivtscd.txt \
|
|
liebert.txt \
|
|
liebert-esp2.txt \
|
|
masterguard.txt \
|
|
metasys.txt \
|
|
mge-shut.txt \
|
|
mge-utalk.txt \
|
|
oneac.txt \
|
|
microdowell.txt \
|
|
microsol-apc.txt \
|
|
nutdrv_siemens_sitop.txt \
|
|
optiups.txt \
|
|
powercom.txt \
|
|
powerpanel.txt \
|
|
rhino.txt \
|
|
riello_ser.txt \
|
|
safenet.txt \
|
|
solis.txt \
|
|
tripplite.txt \
|
|
tripplitesu.txt \
|
|
upscode2.txt \
|
|
victronups.txt \
|
|
apcupsd-ups.txt
|
|
|
|
if WITH_MANS
|
|
MAN_SERIAL_PAGES = \
|
|
al175.8 \
|
|
apcsmart.8 \
|
|
apcsmart-old.8 \
|
|
bcmxcp.8 \
|
|
belkin.8 \
|
|
belkinunv.8 \
|
|
bestfortress.8 \
|
|
bestuferrups.8 \
|
|
bestups.8 \
|
|
bestfcom.8 \
|
|
blazer_ser.8 \
|
|
clone.8 \
|
|
dummy-ups.8 \
|
|
etapro.8 \
|
|
everups.8 \
|
|
gamatronic.8 \
|
|
genericups.8 \
|
|
isbmex.8 \
|
|
ivtscd.8 \
|
|
liebert.8 \
|
|
liebert-esp2.8 \
|
|
masterguard.8 \
|
|
metasys.8 \
|
|
mge-shut.8 \
|
|
mge-utalk.8 \
|
|
oneac.8 \
|
|
microdowell.8 \
|
|
microsol-apc.8 \
|
|
nutdrv_siemens_sitop.8 \
|
|
optiups.8 \
|
|
powercom.8 \
|
|
powerpanel.8 \
|
|
rhino.8 \
|
|
riello_ser.8 \
|
|
safenet.8 \
|
|
solis.8 \
|
|
tripplite.8 \
|
|
tripplitesu.8 \
|
|
upscode2.8 \
|
|
victronups.8 \
|
|
apcupsd-ups.8
|
|
endif
|
|
|
|
if WITH_SERIAL
|
|
man8_MANS += $(MAN_SERIAL_PAGES)
|
|
endif
|
|
|
|
HTML_SERIAL_MANS = \
|
|
al175.html \
|
|
apcsmart.html \
|
|
apcsmart-old.html \
|
|
bcmxcp.html \
|
|
belkin.html \
|
|
belkinunv.html \
|
|
bestfortress.html \
|
|
bestuferrups.html \
|
|
bestups.html \
|
|
bestfcom.html \
|
|
blazer_ser.html \
|
|
clone.html \
|
|
dummy-ups.html \
|
|
etapro.html \
|
|
everups.html \
|
|
gamatronic.html \
|
|
genericups.html \
|
|
isbmex.html \
|
|
ivtscd.html \
|
|
liebert.html \
|
|
liebert-esp2.html \
|
|
masterguard.html \
|
|
metasys.html \
|
|
mge-shut.html \
|
|
mge-utalk.html \
|
|
oneac.html \
|
|
microdowell.html \
|
|
microsol-apc.html \
|
|
nutdrv_siemens_sitop.html \
|
|
optiups.html \
|
|
powercom.html \
|
|
powerpanel.html \
|
|
rhino.html \
|
|
riello_ser.html \
|
|
safenet.html \
|
|
solis.html \
|
|
tripplite.html \
|
|
tripplitesu.html \
|
|
upscode2.html \
|
|
victronups.html \
|
|
apcupsd-ups.html
|
|
|
|
# (--with-snmp)
|
|
SRC_SNMP_PAGES = snmp-ups.txt
|
|
if WITH_MANS
|
|
MAN_SNMP_PAGES = snmp-ups.8
|
|
endif
|
|
|
|
if WITH_SNMP
|
|
man8_MANS += $(MAN_SNMP_PAGES)
|
|
endif
|
|
|
|
HTML_SNMP_MANS = snmp-ups.html
|
|
|
|
# (--with-usb)
|
|
SRC_USB_LIBUSB_PAGES = \
|
|
bcmxcp_usb.txt \
|
|
blazer-common.txt \
|
|
blazer_usb.txt \
|
|
nutdrv_atcl_usb.txt \
|
|
richcomm_usb.txt \
|
|
riello_usb.txt \
|
|
tripplite_usb.txt \
|
|
usbhid-ups.txt
|
|
|
|
if WITH_MANS
|
|
MAN_USB_LIBUSB_PAGES = \
|
|
bcmxcp_usb.8 \
|
|
blazer_usb.8 \
|
|
nutdrv_atcl_usb.8 \
|
|
richcomm_usb.8 \
|
|
riello_usb.8 \
|
|
tripplite_usb.8 \
|
|
usbhid-ups.8
|
|
endif
|
|
|
|
if WITH_USB
|
|
man8_MANS += $(MAN_USB_LIBUSB_PAGES)
|
|
endif
|
|
|
|
HTML_USB_LIBUSB_MANS = \
|
|
bcmxcp_usb.html \
|
|
blazer_usb.html \
|
|
nutdrv_atcl_usb.html \
|
|
richcomm_usb.html \
|
|
riello_usb.html \
|
|
tripplite_usb.html \
|
|
usbhid-ups.html
|
|
|
|
# (--with-serial / --with-usb)
|
|
SRC_SERIAL_USB_PAGES = \
|
|
nutdrv_qx.txt
|
|
|
|
if WITH_MANS
|
|
MAN_SERIAL_USB_PAGES = \
|
|
nutdrv_qx.8
|
|
endif
|
|
|
|
if WITH_SERIAL
|
|
man8_MANS += $(MAN_SERIAL_USB_PAGES)
|
|
else
|
|
if WITH_USB
|
|
man8_MANS += $(MAN_SERIAL_USB_PAGES)
|
|
endif
|
|
endif
|
|
|
|
HTML_SERIAL_USB_MANS = \
|
|
nutdrv_qx.html
|
|
|
|
# (--with-neon)
|
|
SRC_NETXML_PAGES = netxml-ups.txt
|
|
if WITH_MANS
|
|
MAN_NETXML_PAGES = netxml-ups.8
|
|
endif
|
|
|
|
if WITH_NEON
|
|
man8_MANS += $(MAN_NETXML_PAGES)
|
|
endif
|
|
|
|
HTML_NETXML_MANS = netxml-ups.html
|
|
|
|
# (--with-powerman)
|
|
SRC_POWERMAN_PAGES = powerman-pdu.txt
|
|
if WITH_MANS
|
|
MAN_POWERMAN_PAGES = powerman-pdu.8
|
|
endif
|
|
|
|
if WITH_LIBPOWERMAN
|
|
man8_MANS += $(MAN_POWERMAN_PAGES)
|
|
endif
|
|
|
|
HTML_POWERMAN_MANS = powerman-pdu.html
|
|
|
|
# (--with-ipmi)
|
|
SRC_IPMIPSU_PAGES = nut-ipmipsu.txt
|
|
if WITH_MANS
|
|
MAN_IPMIPSU_PAGES = nut-ipmipsu.8
|
|
endif
|
|
|
|
if WITH_IPMI
|
|
man8_MANS += $(MAN_IPMIPSU_PAGES)
|
|
endif
|
|
|
|
HTML_IPMIPSU_MANS = nut-ipmipsu.html
|
|
|
|
SRC_MACOSX_PAGES = macosx-ups.txt
|
|
if WITH_MANS
|
|
MAN_MACOSX_PAGES = macosx-ups.8
|
|
endif
|
|
|
|
if WITH_MACOSX
|
|
man8_MANS += $(MAN_MACOSX_PAGES)
|
|
endif
|
|
|
|
HTML_MACOSX_MANS = macosx-ups.html
|
|
|
|
SRC_MODBUS_PAGES = phoenixcontact_modbus.txt \
|
|
generic_modbus.txt \
|
|
huawei-ups2000.txt \
|
|
socomec_jbus.txt \
|
|
adelsystem_cbi.txt
|
|
if WITH_MANS
|
|
MAN_MODBUS_PAGES = phoenixcontact_modbus.8 \
|
|
generic_modbus.8 \
|
|
huawei-ups2000.8 \
|
|
socomec_jbus.8 \
|
|
adelsystem_cbi.8
|
|
endif
|
|
|
|
if WITH_MODBUS
|
|
man8_MANS += $(MAN_MODBUS_PAGES)
|
|
endif
|
|
|
|
HTML_MODBUS_MANS = phoenixcontact_modbus.html \
|
|
generic_modbus.html \
|
|
huawei-ups2000.html \
|
|
socomec_jbus.html \
|
|
adelsystem_cbi.html
|
|
|
|
SRC_LINUX_I2C_PAGES = asem.txt pijuice.txt
|
|
if WITH_MANS
|
|
MAN_LINUX_I2C_PAGES = asem.8 pijuice.8
|
|
endif
|
|
|
|
if WITH_LINUX_I2C
|
|
man8_MANS += $(MAN_LINUX_I2C_PAGES)
|
|
endif
|
|
|
|
HTML_LINUX_I2C_MANS = asem.html pijuice.html
|
|
|
|
# SOME_DRIVERS
|
|
endif
|
|
|
|
MAN_MANS =
|
|
if WITH_MANS
|
|
MAN_MANS += \
|
|
$(MAN_CONF_PAGES) \
|
|
$(MAN_CLIENT_PAGES) \
|
|
$(MAN_TOOL_PAGES) \
|
|
$(MAN5_CGI_PAGES) \
|
|
$(MAN8_CGI_PAGES) \
|
|
$(MAN1_DEV_PAGES) \
|
|
$(MAN3_DEV_PAGES) \
|
|
$(MAN_SERIAL_PAGES) \
|
|
$(MAN_SNMP_PAGES) \
|
|
$(MAN_USB_LIBUSB_PAGES) \
|
|
$(MAN_SERIAL_USB_PAGES) \
|
|
$(MAN_NETXML_PAGES) \
|
|
$(MAN_POWERMAN_PAGES) \
|
|
$(MAN_IPMIPSU_PAGES) \
|
|
$(MAN_MACOSX_PAGES) \
|
|
$(MAN_MODBUS_PAGES) \
|
|
$(MAN_LINUX_I2C_PAGES)
|
|
endif
|
|
|
|
SRC_DRIVERS_PAGES = \
|
|
$(SRC_SERIAL_PAGES) \
|
|
$(SRC_SNMP_PAGES) \
|
|
$(SRC_USB_LIBUSB_PAGES) \
|
|
$(SRC_SERIAL_USB_PAGES) \
|
|
$(SRC_NETXML_PAGES) \
|
|
$(SRC_POWERMAN_PAGES) \
|
|
$(SRC_IPMIPSU_PAGES) \
|
|
$(SRC_MACOSX_PAGES) \
|
|
$(SRC_MODBUS_PAGES) \
|
|
$(SRC_LINUX_I2C_PAGES)
|
|
|
|
# distribute everything, even those not installed by default
|
|
# Note that 'dist' target requires AsciiDoc!
|
|
SRC_ALL_PAGES = \
|
|
$(SRC_CONF_PAGES) \
|
|
$(SRC_CLIENT_PAGES) \
|
|
$(SRC_TOOL_PAGES) \
|
|
$(SRC_CGI_PAGES) \
|
|
$(SRC_DEV_PAGES) \
|
|
$(SRC_DRIVERS_PAGES)
|
|
|
|
EXTRA_DIST = \
|
|
$(SRC_ALL_PAGES) \
|
|
$(MAN_MANS) \
|
|
asciidoc.conf
|
|
|
|
if ! WITH_MANS
|
|
if ! SKIP_MANS
|
|
# Cause "make dist" to fail, unless caller (like the stack of distcheck-dmf)
|
|
# runs ./configure --with-doc=skip (or --with-doc=man=skip specifically)
|
|
EXTRA_DIST += dist
|
|
dist:
|
|
@echo "ERROR: Manpage building was disabled by configure script, and these pages are required for our proper 'make dist'" >&2 ; false
|
|
endif
|
|
endif
|
|
|
|
# For builds done from dist'ed sources, there may be a conflict of timestamps
|
|
# between original *.txt files and pre-built manpages etc. leading to skipping
|
|
# of manpage re-generation even if that activity is possible and requested.
|
|
# Possibly a cleaner, but less portable, solution would be to touch the
|
|
# generated files to long ago. Current solution assumes good valid clocks :)
|
|
dist-hook:
|
|
@echo "Fix up manpage source timestamps" && cd $(distdir) && touch $(SRC_ALL_PAGES)
|
|
|
|
HTML_MANS = \
|
|
$(HTML_CONF_MANS) \
|
|
$(HTML_CLIENT_MANS) \
|
|
$(HTML_TOOL_MANS) \
|
|
$(HTML_CGI_MANS) \
|
|
$(HTML_DEV_MANS) \
|
|
$(HTML_SERIAL_MANS) \
|
|
$(HTML_SNMP_MANS) \
|
|
$(HTML_USB_LIBUSB_MANS) \
|
|
$(HTML_SERIAL_USB_MANS) \
|
|
$(HTML_NETXML_MANS) \
|
|
$(HTML_POWERMAN_MANS) \
|
|
$(HTML_IPMIPSU_MANS) \
|
|
$(HTML_MACOSX_MANS) \
|
|
$(HTML_MODBUS_MANS) \
|
|
$(HTML_LINUX_I2C_MANS)
|
|
|
|
# Note: target documents, except nutupsdrv.txt itself, start the
|
|
# list of drivers with `- linkman:nutupsdrv[8]` entry
|
|
# To regenerate these files, do `make distclean` first
|
|
LINKMAN_INCLUDE_GENERATED = linkman-driver-names.txt linkman-drivertool-names.txt
|
|
LINKMAN_INCLUDE_CONSUMERS = index.txt upsd.txt nutupsdrv.txt
|
|
|
|
linkman-driver-names.txt:
|
|
@if test x"$(srcdir)" != x"$(builddir)" ; then \
|
|
if ! test -s "$(builddir)/$@" && test -s "$(srcdir)/$(@F)" ; then \
|
|
ln -fs "$(srcdir)/$(@F)" "$(builddir)/" ; \
|
|
fi ; \
|
|
fi
|
|
@if test -s "$@" ; then exit 0 ; fi ; \
|
|
(LC_ALL=C; LANG=C; export LC_ALL LANG; \
|
|
for F in $(SRC_DRIVERS_PAGES) ; do echo "$$F" ; done \
|
|
| grep -vE '^nutupsdrv\.txt$$' \
|
|
| sort -n | uniq \
|
|
| sed 's,^\(.*\)\.txt$$,- linkman:\1[8],' ; \
|
|
) > "$@"
|
|
|
|
linkman-drivertool-names.txt:
|
|
@if test x"$(srcdir)" != x"$(builddir)" ; then \
|
|
if ! test -s "$(builddir)/$@" && test -s "$(srcdir)/$(@F)" ; then \
|
|
ln -fs "$(srcdir)/$(@F)" "$(builddir)/" ; \
|
|
fi ; \
|
|
fi
|
|
@if test -s "$@" ; then exit 0 ; fi ; \
|
|
(LC_ALL=C; LANG=C; export LC_ALL LANG; \
|
|
for F in $(SRC_DRIVERTOOL_PAGES) ; do echo "$$F" ; done \
|
|
| sort -n | uniq \
|
|
| sed 's,^\(.*\)\.txt$$,- linkman:\1[8],' ; \
|
|
) > "$@"
|
|
|
|
# Dependencies are about particular filenames, since over time
|
|
# we might have several use-cases for LINKMAN_INCLUDE_GENERATED:
|
|
$(LINKMAN_INCLUDE_CONSUMERS): linkman-driver-names.txt linkman-drivertool-names.txt
|
|
|
|
# These files are generated when we build from git source so not tracked in
|
|
# git, and not part of tarball (to be in builddir) - so not in EXTRA_DIST.
|
|
DISTCLEANFILES = $(LINKMAN_INCLUDE_GENERATED)
|
|
|
|
all:
|
|
|
|
all-html html-man: $(HTML_MANS) index.html
|
|
|
|
# Have a way to build all man pages, not just those that fit currently
|
|
# configured drivers, daemons, developer aspect, etc.
|
|
all-man man-man: $(MAN_MANS)
|
|
|
|
if WITH_MANS
|
|
if ! SKIP_MANS
|
|
check-local: check-man
|
|
else
|
|
check-local: check-man-txt check-man-pages
|
|
@echo "Man-page generation was SKIPPED per user request, so pregenerated pages were sanity-checked (if any)" >&2
|
|
endif
|
|
else
|
|
check-local: check-man-txt check-man-pages
|
|
@echo "Man-page generation was not done, so pregenerated pages were sanity-checked (if any)" >&2
|
|
endif
|
|
|
|
check-man: check-man-txt check-man-pages check-html-man
|
|
|
|
# the "for" loops might better use $^ but it might be not portable
|
|
check-man-html: check-html-man
|
|
|
|
check-html-man: $(HTML_MANS)
|
|
@FAILED=""; CHECKED=0; LANG=C; LC_ALL=C; export LANG; export LC_ALL; \
|
|
for F in $(HTML_MANS) ; do \
|
|
CHECKED="`expr $$CHECKED + 1`"; \
|
|
test -s "$$F" && { file "$$F" | $(EGREP) -i '(XML|HTML.*document)' > /dev/null ; } || FAILED="$$FAILED $$F" ; \
|
|
done; if test -n "$$FAILED" ; then \
|
|
echo "FAILED HTML-man sanity check for:$$FAILED" >&2 ; file $$FAILED >&2 ; exit 1; \
|
|
fi; echo "PASSED HTML-man sanity check (checked $$CHECKED files)"; exit 0
|
|
|
|
# Note: many man-pages here have code samples and are mis-identified as C code
|
|
check-man-page: check-man-pages
|
|
|
|
# Man-pages may be pre-generated (srcdir), or re-built (builddir)
|
|
check-man-pages: $(MAN_MANS)
|
|
@FAILED=""; CHECKED=0; LANG=C; LC_ALL=C; export LANG; export LC_ALL; \
|
|
for F in $(MAN_MANS) ; do \
|
|
CHECKED="`expr $$CHECKED + 1`"; \
|
|
( test -s "$(abs_srcdir)/$$F" && { file "$(abs_srcdir)/$$F" | $(EGREP) -i '(roff.* input|C source|ASCII text)' > /dev/null ; } ) || \
|
|
( test -s "$(abs_builddir)/$$F" && { file "$(abs_builddir)/$$F" | $(EGREP) -i '(roff.* input|C source|ASCII text)' > /dev/null ; } ) || \
|
|
FAILED="$$FAILED $$F" ; \
|
|
done; if test -n "$$FAILED" ; then \
|
|
echo "FAILED man-page sanity check for:$$FAILED" >&2 ; \
|
|
( echo "SRCDIR:"; cd "$(abs_srcdir)/" && file $$FAILED ; \
|
|
echo "BUILDDIR:"; cd "$(abs_builddir)/" && file $$FAILED ; \
|
|
) >&2 ; exit 1; \
|
|
fi; echo "PASSED man-page sanity check (checked $$CHECKED files)"; exit 0
|
|
|
|
check-man-source: check-man-txt
|
|
|
|
# Note: (GNU) make can helpfully add VPATH to the short source filenames
|
|
# which we had listed above, so the "case" below handles two possibilities
|
|
check-man-txt: $(SRC_ALL_PAGES)
|
|
@FAILED=""; CHECKED=0; LANG=C; LC_ALL=C; export LANG; export LC_ALL; \
|
|
( cd $(abs_srcdir) ) || exit; \
|
|
for F in $(SRC_ALL_PAGES) ; do \
|
|
CHECKED="`expr $$CHECKED + 1`"; \
|
|
case "$$F" in \
|
|
*/*) ;; \
|
|
*) F="$(abs_srcdir)/$$F" ;; \
|
|
esac ; \
|
|
test -s "$$F" && { file "$$F" | $(EGREP) -i '(ASCII|UTF-8|Unicode|ISO-8859|English).* text' > /dev/null ; } || FAILED="$$FAILED $$F" ; \
|
|
done; if test -n "$$FAILED" ; then \
|
|
echo "FAILED man-source sanity check for:$$FAILED" >&2 ; file $$FAILED >&2 ; exit 1; \
|
|
fi; echo "PASSED man-source sanity check (checked $$CHECKED files)"; exit 0
|
|
|
|
CLEANFILES = *-spellchecked
|
|
|
|
SUFFIXES = .txt .html .1 .3 .5 .8
|
|
|
|
# For builds with allowed installation of prebuild man pages, check that
|
|
# they exist in sources (make would pull them automatically as a fallback
|
|
# from failed lookup in build products). For builds that require rebuild
|
|
# of man pages, abort with error if build product is missing.
|
|
if DOC_INSTALL_DISTED_MANS
|
|
SRC_PREBUILT_CLAUSE=|| [ -r "$(srcdir)/`basename $@`" ]
|
|
else
|
|
SRC_PREBUILT_CLAUSE=
|
|
endif
|
|
|
|
if HAVE_ASCIIDOC
|
|
|
|
CLEANFILES += *.1 *.3 *.5 *.8 *.xml *.html *.pdf
|
|
|
|
# Working around a2x not friendly to parallelized runs.
|
|
# See more details in the main NUT docs/Makefile.am
|
|
DOCBUILD_BEGIN = { \
|
|
if test -n "$${A2X_OUTDIR}" && test "$${A2X_OUTDIR}" != '.' ; then \
|
|
rm -rf "./$${A2X_OUTDIR}" || true ; \
|
|
test -d "$@" && rm -rf "$@" || true ; \
|
|
mkdir -p "./$${A2X_OUTDIR}" || exit ; \
|
|
for F in $(LINKMAN_INCLUDE_GENERATED) ; do \
|
|
if [ -s "./$$F" ] ; then ln -f -s "../../$$F" "./$${A2X_OUTDIR}/" ; else \
|
|
if [ -s "$(abs_srcdir)/$$F" ] ; then ln -f -s "$(abs_srcdir)/$$F" "./$${A2X_OUTDIR}/" ; fi ; fi ; \
|
|
done ; \
|
|
else A2X_OUTDIR='.' ; fi; \
|
|
if test -s "${builddir}/docbook-xsl.css" \
|
|
&& test -r "${builddir}/docbook-xsl.css" \
|
|
&& ! test -w "${builddir}/docbook-xsl.css" \
|
|
; then chmod u+w "${builddir}/docbook-xsl.css" ; fi ; \
|
|
chmod -R u+w "./$${A2X_OUTDIR}" || true ; \
|
|
if test x"$(srcdir)" != x"$(builddir)" ; then \
|
|
if ! test -s "$(builddir)/$<" && test -s "$(srcdir)/`basename $<`" ; then \
|
|
ln -fs "$(srcdir)/`basename $<`" "$(builddir)/" ; \
|
|
fi ; \
|
|
fi ; \
|
|
A2X_VERBOSE="$(ASCIIDOC_VERBOSE)"; if [ "$(V)" = 1 ]; then A2X_VERBOSE="--verbose"; fi; \
|
|
}
|
|
|
|
# Note that documents with sub-pages (see LIBNUTCLIENT_*_DEPS above)
|
|
# may generate multiple files in one go... so we move "*" and hope
|
|
# for no required hidden files (or would have to `find` them all).
|
|
DOCBUILD_END = { \
|
|
if test -n "$${A2X_OUTDIR}" && test "$${A2X_OUTDIR}" != '.' ; then \
|
|
chmod -R u+w "./$${A2X_OUTDIR}" || true ; \
|
|
test -d "$@" && rm -rf "$@" || true ; \
|
|
for F in $(LINKMAN_INCLUDE_GENERATED) ; do \
|
|
rm -f "./$${A2X_OUTDIR}/$$F" || true ; \
|
|
done ; \
|
|
mv -f "./$${A2X_OUTDIR}/$(@F)" ./ || exit ; \
|
|
mv -f "./$${A2X_OUTDIR}/"*.* ./ 2>/dev/null || true ; \
|
|
rm -rf "./$${A2X_OUTDIR}" ; \
|
|
fi ; \
|
|
}
|
|
|
|
### Regarding absolute paths in attributes below: by default asciidoc
|
|
### resolves include paths relative to the main document, so while we
|
|
### see the relative builddir as "." in the makefile, for included
|
|
### data it would mean the source directory where the .txt resides.
|
|
.txt.html:
|
|
@A2X_OUTDIR="tmp/man-html.$(@F).$$$$" ; \
|
|
echo " DOC-MAN-HTML Generating $@"; \
|
|
$(DOCBUILD_BEGIN) ; RES=0; \
|
|
$(ASCIIDOC) --backend=xhtml11 $${A2X_VERBOSE} \
|
|
--attribute localdate="`TZ=UTC date +%Y-%m-%d`" \
|
|
--attribute localtime="`TZ=UTC date +%H:%M:%S`" \
|
|
--attribute nutversion="@PACKAGE_VERSION@" \
|
|
--attribute srcdir="$(abs_srcdir)" \
|
|
--attribute builddir="$(abs_builddir)" \
|
|
-o "$${A2X_OUTDIR}/$(@F)" $< || RES=$$? ; \
|
|
$(DOCBUILD_END) ; exit $$RES
|
|
|
|
### Prior to Asciidoc ~8.6.8, the --destination-dir flag didn't seem to affect the location of the intermediate .xml file.
|
|
### This parameter is currently required; see docs/Makefile.am for more detail.
|
|
A2X_MANPAGE_OPTS = --doctype manpage --format manpage $${A2X_VERBOSE} \
|
|
--xsltproc-opts="--nonet" \
|
|
--attribute mansource="Network UPS Tools" \
|
|
--attribute manversion="@PACKAGE_VERSION@" \
|
|
--attribute manmanual="NUT Manual" \
|
|
--attribute srcdir="$(abs_srcdir)" \
|
|
--attribute builddir="$(abs_builddir)" \
|
|
--destination-dir="$${A2X_OUTDIR}"
|
|
|
|
.txt.1:
|
|
@A2X_OUTDIR="tmp/man1.$(@F).$$$$" ; \
|
|
echo " DOC-MAN Generating $@"; \
|
|
$(DOCBUILD_BEGIN) ; RES=0; \
|
|
$(A2X) $(A2X_MANPAGE_OPTS) $< || RES=$$? ; \
|
|
$(DOCBUILD_END) ; exit $$RES
|
|
|
|
.txt.3:
|
|
@A2X_OUTDIR="tmp/man3.$(@F).$$$$" ; \
|
|
echo " DOC-MAN Generating $@"; \
|
|
$(DOCBUILD_BEGIN) ; RES=0; \
|
|
$(A2X) $(A2X_MANPAGE_OPTS) $< || RES=$$? ; \
|
|
$(DOCBUILD_END) ; exit $$RES
|
|
|
|
.txt.5:
|
|
@A2X_OUTDIR="tmp/man5.$(@F).$$$$" ; \
|
|
echo " DOC-MAN Generating $@"; \
|
|
$(DOCBUILD_BEGIN) ; RES=0; \
|
|
$(A2X) $(A2X_MANPAGE_OPTS) $< || RES=$$? ; \
|
|
$(DOCBUILD_END) ; exit $$RES
|
|
|
|
.txt.8:
|
|
@A2X_OUTDIR="tmp/man8.$(@F).$$$$" ; \
|
|
echo " DOC-MAN Generating $@"; \
|
|
$(DOCBUILD_BEGIN) ; RES=0; \
|
|
$(A2X) $(A2X_MANPAGE_OPTS) $< || RES=$$? ; \
|
|
$(DOCBUILD_END) ; exit $$RES
|
|
|
|
else !HAVE_ASCIIDOC
|
|
|
|
.txt.html:
|
|
@if [ -r "$@" ] $(SRC_PREBUILT_CLAUSE); then \
|
|
echo "Not (re)building $@ manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found." ; \
|
|
else \
|
|
echo "Could not find prebuilt $@ manual page." ; \
|
|
echo "If you are building from Git, do you have all of the asciidoc/a2x tools installed?"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
.txt.1:
|
|
@if [ -r "$@" ] $(SRC_PREBUILT_CLAUSE); then \
|
|
echo "Not (re)building $@ manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found." ; \
|
|
else \
|
|
echo "Could not find prebuilt $@ manual page." ; \
|
|
echo "If you are building from Git, do you have all of the asciidoc/a2x tools installed?"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
.txt.3:
|
|
@if [ -r "$@" ] $(SRC_PREBUILT_CLAUSE); then \
|
|
echo "Not (re)building $@ manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found." ; \
|
|
else \
|
|
echo "Could not find prebuilt $@ manual page." ; \
|
|
echo "If you are building from Git, do you have all of the asciidoc/a2x tools installed?"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
.txt.5:
|
|
@if [ -r "$@" ] $(SRC_PREBUILT_CLAUSE); then \
|
|
echo "Not (re)building $@ manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found." ; \
|
|
else \
|
|
echo "Could not find prebuilt $@ manual page." ; \
|
|
echo "If you are building from Git, do you have all of the asciidoc/a2x tools installed?"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
.txt.8:
|
|
@if [ -r "$@" ] $(SRC_PREBUILT_CLAUSE); then \
|
|
echo "Not (re)building $@ manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found." ; \
|
|
else \
|
|
echo "Could not find prebuilt $@ manual page." ; \
|
|
echo "If you are building from Git, do you have all of the asciidoc/a2x tools installed?"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
endif !HAVE_ASCIIDOC
|
|
|
|
# NOTE: Due to portability, we do not use a GNU percent-wildcard extension:
|
|
#%-spellchecked: % Makefile.am $(top_srcdir)/docs/Makefile.am $(abs_srcdir)/$(NUT_SPELL_DICT)
|
|
# $(MAKE) -s -f $(top_builddir)/docs/Makefile SPELLCHECK_SRC_ONE="$<" SPELLCHECK_DIR="$(srcdir)" $@
|
|
|
|
# NOTE: Portable suffix rules do not allow prerequisites, so we shim them here
|
|
# by a wildcard target in case the make implementation can put the two together.
|
|
*.txt-spellchecked: Makefile.am $(abs_top_srcdir)/docs/Makefile.am $(abs_srcdir)/$(NUT_SPELL_DICT)
|
|
.txt.txt-spellchecked:
|
|
$(MAKE) -s -f $(top_builddir)/docs/Makefile SPELLCHECK_SRC_ONE="$<" SPELLCHECK_DIR="$(srcdir)" $@
|
|
|
|
spellcheck spellcheck-interactive spellcheck-sortdict:
|
|
$(MAKE) -f $(top_builddir)/docs/Makefile SPELLCHECK_SRC="$(SRC_ALL_PAGES)" SPELLCHECK_DIR="$(srcdir)" $@
|
|
|
|
MAINTAINERCLEANFILES = Makefile.in .dirstamp
|
|
|
|
clean-local:
|
|
rm -rf tmp
|