1c43cc173Smrg#
2c43cc173Smrg# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
3c27c18e8Smrg#
437eb1ca1Smrg# Permission is hereby granted, free of charge, to any person obtaining a
537eb1ca1Smrg# copy of this software and associated documentation files (the "Software"),
637eb1ca1Smrg# to deal in the Software without restriction, including without limitation
737eb1ca1Smrg# the rights to use, copy, modify, merge, publish, distribute, sublicense,
837eb1ca1Smrg# and/or sell copies of the Software, and to permit persons to whom the
937eb1ca1Smrg# Software is furnished to do so, subject to the following conditions:
10c27c18e8Smrg#
1137eb1ca1Smrg# The above copyright notice and this permission notice (including the next
1237eb1ca1Smrg# paragraph) shall be included in all copies or substantial portions of the
1337eb1ca1Smrg# Software.
14c27c18e8Smrg#
1537eb1ca1Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1637eb1ca1Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1737eb1ca1Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1837eb1ca1Smrg# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1937eb1ca1Smrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2037eb1ca1Smrg# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2137eb1ca1Smrg# DEALINGS IN THE SOFTWARE.
22c27c18e8Smrg#
23c43cc173Smrg
24c43cc173Smrglibmandir = $(LIB_MAN_DIR)
25c43cc173Smrg
2637eb1ca1Smrg# Source files for X Input v2 man pages
2737eb1ca1SmrgXI2_txt = 					\
2887404ef7Smrg	XIAllowEvents.txt 			\
29f1ee322dSmrg	XIBarrierReleasePointer.txt 		\
3037eb1ca1Smrg	XIChangeHierarchy.txt			\
3137eb1ca1Smrg	XIDefineCursor.txt			\
3237eb1ca1Smrg	XIGrabButton.txt			\
3337eb1ca1Smrg	XIGrabDevice.txt			\
3437eb1ca1Smrg	XIGrabEnter.txt				\
3537eb1ca1Smrg	XIQueryDevice.txt			\
3637eb1ca1Smrg	XIQueryPointer.txt			\
3737eb1ca1Smrg	XIQueryVersion.txt			\
3837eb1ca1Smrg	XISelectEvents.txt			\
3937eb1ca1Smrg	XISetClientPointer.txt			\
4037eb1ca1Smrg	XISetFocus.txt				\
4137eb1ca1Smrg	XIWarpPointer.txt			\
4237eb1ca1Smrg	XIListProperties.txt			\
43c27c18e8Smrg	XIChangeProperty.txt
44c27c18e8Smrg
4537eb1ca1Smrg# Source files for X Input v1 man pages
46c27c18e8Smrglibman_txt = \
4737eb1ca1Smrg	XAllowDeviceEvents.txt			\
4837eb1ca1Smrg	XChangeDeviceDontPropagateList.txt	\
4937eb1ca1Smrg	XChangeKeyboardDevice.txt		\
5037eb1ca1Smrg	XChangePointerDevice.txt		\
5137eb1ca1Smrg	XDeviceBell.txt				\
5237eb1ca1Smrg	XGetDeviceControl.txt			\
5337eb1ca1Smrg	XGetDeviceKeyMapping.txt		\
5437eb1ca1Smrg	XGetDeviceModifierMapping.txt		\
5537eb1ca1Smrg	XGetDeviceMotionEvents.txt		\
5637eb1ca1Smrg	XGetDeviceProperty.txt			\
5737eb1ca1Smrg	XGetExtensionVersion.txt		\
5837eb1ca1Smrg	XGetFeedbackControl.txt			\
5937eb1ca1Smrg	XGrabDeviceButton.txt			\
6037eb1ca1Smrg	XGrabDeviceKey.txt			\
6137eb1ca1Smrg	XGrabDevice.txt				\
6237eb1ca1Smrg	XListDeviceProperties.txt		\
6337eb1ca1Smrg	XListInputDevices.txt			\
6437eb1ca1Smrg	XOpenDevice.txt				\
6537eb1ca1Smrg	XQueryDeviceState.txt			\
6637eb1ca1Smrg	XSelectExtensionEvent.txt		\
6737eb1ca1Smrg	XSendExtensionEvent.txt			\
6837eb1ca1Smrg	XSetDeviceButtonMapping.txt		\
6937eb1ca1Smrg	XSetDeviceFocus.txt			\
7037eb1ca1Smrg	XSetDeviceMode.txt			\
7137eb1ca1Smrg	XSetDeviceValuators.txt			\
7237eb1ca1Smrg	$(XI2_txt)
7337eb1ca1Smrg
7437eb1ca1Smrg# Name of DocBook XML files generated from .txt files by asciidoc
75c27c18e8Smrglibman_xml = $(libman_txt:.txt=.xml)
76c27c18e8Smrg
7737eb1ca1Smrg# Shadow man pages are simply links to a main man page.
7837eb1ca1Smrg# They are created by the xmlto command when generating man pages from DocBook
7937eb1ca1Smrg# The shadow man page contains a gtroff .so request to include the main man page
8037eb1ca1SmrgXI2_shadows = 					\
81f1ee322dSmrg	XIBarrierReleasePointers.man 		\
8237eb1ca1Smrg	XIUndefineCursor.man			\
8337eb1ca1Smrg	XIUngrabButton.man			\
8437eb1ca1Smrg	XIGrabKeycode.man			\
8537eb1ca1Smrg	XIUngrabKeycode.man			\
8637eb1ca1Smrg	XIUngrabDevice.man			\
8737eb1ca1Smrg	XIUngrabEnter.man			\
8837eb1ca1Smrg	XIGrabFocusIn.man			\
8937eb1ca1Smrg	XIUngrabFocusIn.man			\
9037eb1ca1Smrg	XIGetClientPointer.man			\
9137eb1ca1Smrg	XIGetFocus.man				\
9237eb1ca1Smrg	XIGetSelectedEvents.man			\
9337eb1ca1Smrg	XIDeleteProperty.man			\
9437eb1ca1Smrg	XIGetProperty.man			\
95f1ee322dSmrg	XIFreeDeviceInfo.man			\
96f1ee322dSmrg	XIGrabTouchBegin.man			\
97f1ee322dSmrg	XIUngrabTouchBegin.man
98c27c18e8Smrg
9937eb1ca1Smrglibman_shadows =				\
10037eb1ca1Smrg	XGetDeviceDontPropagateList.man		\
10137eb1ca1Smrg	XChangeDeviceControl.man		\
10237eb1ca1Smrg	XChangeDeviceKeyMapping.man		\
10337eb1ca1Smrg	XSetDeviceModifierMapping.man		\
10437eb1ca1Smrg	XChangeFeedbackControl.man		\
10537eb1ca1Smrg	XUngrabDeviceButton.man			\
10637eb1ca1Smrg	XUngrabDeviceKey.man			\
10737eb1ca1Smrg	XUngrabDevice.man			\
10837eb1ca1Smrg	XDeviceTimeCoord.man			\
10937eb1ca1Smrg	XFreeDeviceList.man			\
11037eb1ca1Smrg	XCloseDevice.man			\
11137eb1ca1Smrg	XGetSelectedExtensionEvents.man		\
11237eb1ca1Smrg	XGetDeviceButtonMapping.man		\
11337eb1ca1Smrg	XGetDeviceFocus.man			\
11437eb1ca1Smrg	XChangeDeviceProperty.man		\
11537eb1ca1Smrg	XDeleteDeviceProperty.man		\
11637eb1ca1Smrg	$(XI2_shadows)
11737eb1ca1Smrg
11837eb1ca1Smrg# Name of man page files generated from DocBook XML files by xmlto
11937eb1ca1Smrglibman_PRE = $(libman_txt:.txt=.man) $(libman_shadows)
120c27c18e8Smrg
1213e256790Smrgif INSTALL_MANPAGES
12237eb1ca1Smrglibman_DATA = $(libman_PRE:.man=.$(LIB_MAN_SUFFIX))
123c27c18e8Smrgendif
124c27c18e8Smrg
12537eb1ca1SmrgEXTRA_DIST = $(libman_txt) $(libman_PRE)
12637eb1ca1SmrgCLEANFILES = $(libman_DATA) *.libmansuffix
12737eb1ca1SmrgMAINTAINERCLEANFILES = $(libman_PRE) *.xml
128c27c18e8Smrg
12937eb1ca1Smrg# Dependencies for X Input v1 shadow pages
130c27c18e8SmrgXGetDeviceDontPropagateList.man: XChangeDeviceDontPropagateList.man
131c27c18e8SmrgXChangeDeviceControl.man: XGetDeviceControl.man
132c27c18e8SmrgXChangeDeviceKeyMapping.man: XGetDeviceKeyMapping.man
133c27c18e8SmrgXSetDeviceModifierMapping.man: XGetDeviceModifierMapping.man
134c27c18e8SmrgXDeviceTimeCoord.man: XGetDeviceMotionEvents.man
135c27c18e8SmrgXChangeFeedbackControl.man: XGetFeedbackControl.man
136c27c18e8SmrgXUngrabDeviceButton.man: XGrabDeviceButton.man
137c27c18e8SmrgXUngrabDeviceKey.man: XGrabDeviceKey.man
138c27c18e8SmrgXUngrabDevice.man: XGrabDevice.man
139c27c18e8SmrgXFreeDeviceList.man: XListInputDevices.man
140c27c18e8SmrgXCloseDevice.man: XOpenDevice.man
141c27c18e8SmrgXGetSelectedExtensionEvents.man: XSelectExtensionEvent.man
142c27c18e8SmrgXGetDeviceButtonMapping.man: XSetDeviceButtonMapping.man
143c27c18e8SmrgXGetDeviceFocus.man: XSetDeviceFocus.man
144c27c18e8SmrgXChangeDeviceProperty.man: XGetDeviceProperty.man
145c27c18e8SmrgXDeleteDeviceProperty.man: XGetDeviceProperty.man
146c27c18e8Smrg
14737eb1ca1Smrg# Dependencies for X Input v2 shadow pages
148c27c18e8SmrgXIUndefineCursor.man: XIDefineCursor.man
149f1ee322dSmrgXIUngrabButton.man XIGrabKeycode.man XIUngrabKeycode.man XIGrabTouchBegin.man XIUngrabTouchBegin.man: XIGrabButton.man
150c27c18e8SmrgXIGetClientPointer.man: XISetClientPointer.man
151c27c18e8SmrgXIGetFocus.man: XISetFocus.man
152c27c18e8SmrgXIUngrabDevice.man: XIGrabDevice.man
153c27c18e8SmrgXIGetProperty.man: XIChangeProperty.man
154c27c18e8SmrgXIDeleteProperty.man: XIChangeProperty.man
155c27c18e8SmrgXIUngrabEnter.man XIGrabFocusIn.man XIUngrabFocusIn.man: XIGrabEnter.man
156c27c18e8SmrgXIGetSelectedEvents.man: XISelectEvents.man
157c27c18e8SmrgXIFreeDeviceInfo.man: XIQueryDevice.man
158f1ee322dSmrgXIBarrierReleasePointers.man: XIBarrierReleasePointer.man
159c43cc173Smrg
16037eb1ca1Smrg# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
16137eb1ca1Smrg# Unable to use __libmansuffix__ as underscores are lost in txt --> xml conversion
16237eb1ca1SmrgMAN_SUBSTS += -e 's/libmansuffix/$(LIB_MAN_SUFFIX)/g'
163c43cc173Smrg
164f1ee322dSmrg# asciidoc is generating [FIXME...] values in the .TH line we should fix.
165f1ee322dSmrgMAN_SUBSTS += -e 's/\[FIXME: source\]/$(XORG_MAN_PAGE)/'
166f1ee322dSmrgMAN_SUBSTS += -e 's/\[FIXME: manual\]/XINPUT FUNCTIONS/'
167f1ee322dSmrg
168f1ee322dSmrg# asciidoc generates shadow page references without the man section directory
169f1ee322dSmrgMAN_SUBSTS += -e 's/^\.so X/.so man$(LIB_MAN_SUFFIX)\/X/'
170f1ee322dSmrg
171c27c18e8SmrgSUFFIXES = .man .$(LIB_MAN_SUFFIX)
172c43cc173Smrg.man.$(LIB_MAN_SUFFIX):
17337eb1ca1Smrg	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
174c27c18e8Smrg
17537eb1ca1Smrg# Generate man pages and shadow pages from .txt and then from DocBook XML
176c27c18e8Smrgif HAVE_DOCTOOLS
177c27c18e8SmrgSUFFIXES += .txt .xml
178c27c18e8Smrg.txt.xml:
17937eb1ca1Smrg	$(AM_V_GEN)$(ASCIIDOC) -b docbook -d manpage -o $@ $<
180c27c18e8Smrg.xml.man:
18137eb1ca1Smrg	$(AM_V_GEN)$(XMLTO) man $<
182f1ee322dSmrg	$(AM_V_at)mv -f $(@:.man=.libmansuffix) $@
183c27c18e8Smrg
18437eb1ca1Smrg# Invoke asciidoc/xmlto main man page generation for shadow pages
18537eb1ca1Smrg$(libman_shadows):
186c27c18e8Smrg	@if test ! -f $(@:.man=.libmansuffix); then \
187f1ee322dSmrg	  rm -f $<; \
188f1ee322dSmrg	  $(MAKE) $(AM_MAKEFLAGS) $< || exit 1; \
189c27c18e8Smrg	fi
190f1ee322dSmrg	$(AM_V_at)mv -f $(@:.man=.libmansuffix) $@
191c27c18e8Smrgendif
192