appmandir = $(APP_MAN_DIR)
#appman_PRE = list of application man page files set by calling Makefile.am
appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))

drivermandir = $(DRIVER_MAN_DIR)
#driverman_PRE = list of driver man page files set by calling Makefile.am
driverman_DATA = $(driverman_PRE:man=$(DRIVER_MAN_SUFFIX))

filemandir = $(FILE_MAN_DIR)
#fileman_PRE = list of file man page files set by calling Makefile.am
fileman_DATA = $(fileman_PRE:man=$(FILE_MAN_SUFFIX))

# The calling Makefile should only contain man page targets
# Otherwise the following three global variables may conflict
EXTRA_DIST = $(appman_PRE) $(driverman_PRE) $(fileman_PRE)
CLEANFILES = $(appman_DATA) $(driverman_DATA) $(fileman_DATA)
SUFFIXES = .$(APP_MAN_SUFFIX) .$(DRIVER_MAN_SUFFIX) .$(FILE_MAN_SUFFIX) .man

# Add server specific man pages string substitution from XORG_MANPAGE_SECTIONS
# 's|/,|/, |g' will add a space to help font path formatting
MAN_SUBSTS += 	-e 's|__logdir__|$(logdir)|g' \
		-e 's|__datadir__|$(datadir)|g' \
		-e 's|__mandir__|$(mandir)|g' \
		-e 's|__sysconfdir__|$(sysconfdir)|g' \
		-e 's|__xconfigdir__|$(__XCONFIGDIR__)|g' \
		-e 's|__xkbdir__|$(XKB_BASE_DIRECTORY)|g' \
		-e 's|__XKB_DFLT_RULES__|$(XKB_DFLT_RULES)|g' \
		-e 's|__XKB_DFLT_MODEL__|$(XKB_DFLT_MODEL)|g' \
		-e 's|__XKB_DFLT_LAYOUT__|$(XKB_DFLT_LAYOUT)|g' \
		-e 's|__XKB_DFLT_VARIANT__|$(XKB_DFLT_VARIANT)|g' \
		-e 's|__XKB_DFLT_OPTIONS__|$(XKB_DFLT_OPTIONS)|g' \
		-e 's|__bundle_id_prefix__|$(BUNDLE_ID_PREFIX)|g' \
		-e 's|__modulepath__|$(DEFAULT_MODULE_PATH)|g' \
		-e 's|__default_font_path__|$(COMPILEDDEFAULTFONTPATH)|g' \
		-e '\|$(COMPILEDDEFAULTFONTPATH)| s|/,|/, |g'

.man.$(APP_MAN_SUFFIX):
	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
.man.$(DRIVER_MAN_SUFFIX):
	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
.man.$(FILE_MAN_SUFFIX):
	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@