Makefile revision 1456
98N/A###############################################################################
493N/A#
98N/A# xdm - X Display Manager with support for XDMCP and host chooser
98N/A#
98N/A# Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
98N/A#
98N/A# Permission is hereby granted, free of charge, to any person obtaining a
98N/A# copy of this software and associated documentation files (the "Software"),
98N/A# to deal in the Software without restriction, including without limitation
98N/A# the rights to use, copy, modify, merge, publish, distribute, sublicense,
98N/A# and/or sell copies of the Software, and to permit persons to whom the
98N/A# Software is furnished to do so, subject to the following conditions:
98N/A#
98N/A# The above copyright notice and this permission notice (including the next
98N/A# paragraph) shall be included in all copies or substantial portions of the
98N/A# Software.
98N/A#
98N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
98N/A# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
98N/A# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
98N/A# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
98N/A# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
98N/A# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
98N/A# DEALINGS IN THE SOFTWARE.
98N/A#
98N/A#
98N/A
98N/A# Package name used in tarballs
98N/AMODULE_NAME=xdm
493N/A
98N/A# pkg(5) name we deliver the files in (override default)
98N/AMODULE_PKGNAME=system/display-manager/xdm
98N/AMODULE_PKGNAME_SET=yes
493N/AMODULE_DESC = the X Display Manager (xdm) server
98N/A
98N/A# Version number (used in path names)
493N/AMODULE_VERSION=1.1.9
98N/A
98N/A# Checksums for upstream tarball
98N/ATARBALL_MD5 = 030ae4bd9b8d428749d68bfdf56ce8a5
98N/ATARBALL_SHA1 = ea0ee2923999d54848dc8a165867ffa7c628fd7b
98N/A
98N/A# Patches to apply to source after unpacking, in order
156N/ASOURCE_PATCHES = \
493N/A mkdir.patch,-p1 \
493N/A pam_tty.patch,-p1 \
98N/A pam_user.patch,-p1 \
98N/A greeter-linking.patch,-p1 \
98N/A bindir.patch,-p1 \
98N/A terminateServer.patch \
493N/A bug-6822636.patch \
493N/A bug-6820612.patch,-p1 \
493N/A Xsession.patch \
493N/A 18286609.patch,-p1 \
493N/A 20508188.patch,-p1
98N/A
493N/A# Need to rebuild configure/Makefile.in after applying bindir.patch
493N/AAUTORECONF=yes
493N/A
493N/A# Man pages to apply Sun footer to & attributes to list
98N/ASUNTOUCHED_MANPAGES=xdm.man.cpp
98N/AMODULE_STABILITY=Committed
493N/AMODULE_SUNTOUCH_MAN_FLAGS= -p $(MODULE_PREFIX)/sbin/
98N/A
493N/A# Where to install xdm files
MODULE_PREFIX=/usr
MODULE_PREFIX_SET=yes
# Additional configure script options
# Only build shared greeter module, not static
# Set various paths to better match Solaris
# Find xrdb & xterm in /usr/bin even with --bindir set to /usr/sbin
MODULE_CONFIG_OPTS= \
--enable-shared=yes --enable-static=no \
--with-xdmconfigdir=/etc/X11/xdm \
--with-piddir=/var/run/xdm \
--with-authdir=/var/run/xdm \
--bindir=/usr/sbin \
--with-xrdb='$(X11_BIN_DIR)/xrdb' \
--with-default-session=command='$(X11_BIN_DIR)/xterm -ls' \
DEF_SERVER='$(X11_BIN_DIR)/X' \
DEF_USER_PATH=/usr/bin:/usr/sbin \
DEF_SYSTEM_PATH=/usr/bin:/usr/sbin
# configure scripts add libraries like -lXt & -lXinerama to the global $(LIBS)
# when only some objects need them, so ignore them in the rest.
MODULE_LD_OPTIONS = $(ZDISCARD_UNUSED_DEP)
# but it misses adding -lc to the greeter shared object, so add it
MODULE_LD_OPTIONS += -lc
# Additional build & install targets
MODULE_ADD_BUILD_TARGETS=build_xdm_configs
MODULE_ADD_INSTALL_TARGETS=install_xdmshell install_xdm_configs
# Need to fix libtool interference with our linker flags
DELIBTOOLIZE=yes
include ../Makefile.inc
# Move xdmshell from default location to the place we put in our packages
install_xdmshell: default_install
-rm -f $(PROTODIR)/usr/lib/X11/xdm/xdmshell
mv $(PROTODIR)/usr/sbin/xdmshell $(PROTODIR)/usr/lib/X11/xdm/xdmshell
# Copy xdm config files from /etc to /usr for use as prototypes
XDM_CONFIG_FILES=Xaccess Xresources Xservers xdm-config
XDM_ETC_CONFIGDIR=/etc/X11/xdm
XDM_USR_CONFIGDIR=/usr/lib/X11/xdm
XCF_USR_FILES=$(XDM_CONFIG_FILES:%=$(PROTODIR)/$(XDM_USR_CONFIGDIR)/%)
XCF_ETC_SRCDIR=$(SOURCE_DIR)/config
XCF_ETC_BLDDIR=$(BUILD_DIR)/config
XCF_ETC_BLDFILES=$(XDM_CONFIG_FILES:%=$(XCF_ETC_BLDDIR)/%)
XCF_USR_BLDDIR=$(BUILD_DIR)/config/annotated
XCF_USR_BLDFILES=$(XDM_CONFIG_FILES:%=$(XCF_USR_BLDDIR)/%)
build_xdm_configs: $(XCF_USR_SRCFILES)
install_xdm_configs: $(XCF_USR_FILES) $(PROTODIR)/$(XDM_USR_CONFIGDIR)/README
$(XCF_ETC_BLDFILES): default_build
XCF_HEADER = %1$$s----------------------------------------------------------------------------
XCF_HEADER += \n%1$$s NOTE: The file provided in $(XDM_USR_CONFIGDIR) is a sample %2$$s
XCF_HEADER += \n%1$$s configuration file provided for your reference.
XCF_HEADER += \n%1$$s
XCF_HEADER += \n%1$$s xdm reads the actual configuration from the copies located in $(XDM_ETC_CONFIGDIR)
XCF_HEADER += \n%1$$s (unless configured otherwise by $(XDM_ETC_CONFIGDIR)/xdm-config or
XCF_HEADER += \n%1$$s a file specified via the -config command line option).
XCF_HEADER += \n%1$$s----------------------------------------------------------------------------\n
$(PROTODIR)/$(XDM_USR_CONFIGDIR) $(XCF_USR_BLDDIR):
mkdir -p $@
$(XCF_USR_FILES): $(PROTODIR)/$(XDM_USR_CONFIGDIR) $(XCF_USR_BLDFILES)
-rm -f $@
mkdir -p $(PROTODIR)/$(XDM_USR_CONFIGDIR)
cp -p $(XCF_USR_BLDDIR)/$(@F) $@
$(XCF_USR_BLDFILES): $(XCF_USR_BLDDIR) $(XCF_ETC_BLDFILES)
-rm -f $@
FILENAME=$(@F) ; \
if [[ -f $(XCF_ETC_BLDDIR)/$${FILENAME} ]] ; then \
ORIGFILE="$(XCF_ETC_BLDDIR)/$${FILENAME}" ; \
else \
ORIGFILE="$(XCF_ETC_SRCDIR)/$${FILENAME}" ; \
fi ; \
COMMENT_CHAR=$$(head -n 1 $${ORIGFILE}) ; \
printf '$(XCF_HEADER)' $${COMMENT_CHAR} $${FILENAME} > $@ ; \
cat $${ORIGFILE} >> $@
$(PROTODIR)/$(XDM_USR_CONFIGDIR)/README:$(PROTODIR)/$(XDM_USR_CONFIGDIR) config-README.txt
cp -p config-README.txt $@