Makefile revision 970
7a8401ce858002b67e8f4198fde45a1562696ccbChristian Maeder###############################################################################
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski#
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# xdm Makefile
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian Maeder#
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
b4fbc96e05117839ca409f5f20f97b3ac872d1edTill Mossakowski#
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# Permission is hereby granted, free of charge, to any person obtaining a
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# copy of this software and associated documentation files (the "Software"),
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# to deal in the Software without restriction, including without limitation
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder# the rights to use, copy, modify, merge, publish, distribute, sublicense,
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# and/or sell copies of the Software, and to permit persons to whom the
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# Software is furnished to do so, subject to the following conditions:
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski#
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# The above copyright notice and this permission notice (including the next
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# paragraph) shall be included in all copies or substantial portions of the
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# Software.
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski#
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowski# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# DEALINGS IN THE SOFTWARE.
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski#
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder#
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder
e953bea49e7f0e1a43bccf2a66c5e2a2b50848e0Christian Maeder# Package name used in tarballs
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian MaederMODULE_NAME=xdm
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# pkg(5) name we deliver the files in (override default)
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian MaederMODULE_PKGNAME=system/display-manager/xdm
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian MaederMODULE_PKGNAME_SET=yes
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# Version number (used in path names)
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian MaederMODULE_VERSION=1.1.9
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# Checksums for upstream tarball
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian MaederTARBALL_MD5 = 030ae4bd9b8d428749d68bfdf56ce8a5
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian MaederTARBALL_SHA1 = ea0ee2923999d54848dc8a165867ffa7c628fd7b
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# Patches to apply to source after unpacking, in order
4f2f83eb482b9da293cfed2c4e10d9411474d52aChristian MaederSOURCE_PATCHES = \
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder mkdir.patch,-p1 \
4f2f83eb482b9da293cfed2c4e10d9411474d52aChristian Maeder bindir.patch \
4f2f83eb482b9da293cfed2c4e10d9411474d52aChristian Maeder terminateServer.patch \
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder bug-6822636.patch \
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski bug-6820612.patch,-p1 \
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski Xsession.patch
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder
e953bea49e7f0e1a43bccf2a66c5e2a2b50848e0Christian Maeder# Man pages to apply Sun footer to & attributes to list
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian MaederSUNTOUCHED_MANPAGES=xdm.man.cpp
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian MaederMODULE_STABILITY=Committed
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian MaederMODULE_SUNTOUCH_MAN_FLAGS= -p $(MODULE_PREFIX)/sbin/
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian Maeder
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# Where to install xdm files
ab419eb9bb19c32515fb35793f1192a86c74712eTill MossakowskiMODULE_PREFIX=/usr
88c66e48620750c42b94db9feb01b42ae23dba97Till MossakowskiMODULE_PREFIX_SET=yes
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# Additional configure script options
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# Only build shared greeter module, not static
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski# Set various paths to better match Solaris
ab419eb9bb19c32515fb35793f1192a86c74712eTill MossakowskiMODULE_CONFIG_OPTS= \
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski --enable-shared=yes --enable-static=no \
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder --with-xdmconfigdir=/etc/X11/xdm \
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder --with-piddir=/var/run/xdm \
e953bea49e7f0e1a43bccf2a66c5e2a2b50848e0Christian Maeder --with-authdir=/var/run/xdm \
e953bea49e7f0e1a43bccf2a66c5e2a2b50848e0Christian Maeder --bindir=/usr/sbin \
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian Maeder DEF_USER_PATH=/usr/bin:/usr/X11/bin:/usr/sbin:/sbin \
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian Maeder DEF_SYSTEM_PATH=/usr/bin:/usr/X11/bin:/usr/sbin:/sbin
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian Maeder
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# Special handling while xdm is moved to /usr but other apps are still in
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# /usr/X11
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian MaederMODULE_CONFIG_OPTS += \
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowski --with-xrdb='$(X11_BIN_DIR)/xrdb' \
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski --with-default-session=command='$(X11_BIN_DIR)/xterm -ls' \
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder# Additional build & install targets
e953bea49e7f0e1a43bccf2a66c5e2a2b50848e0Christian MaederMODULE_ADD_BUILD_TARGETS=build_xdm_configs
ab419eb9bb19c32515fb35793f1192a86c74712eTill MossakowskiMODULE_ADD_INSTALL_TARGETS=install_xdmshell install_xdm_configs
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowski
ab419eb9bb19c32515fb35793f1192a86c74712eTill Mossakowskiinclude ../Makefile.inc
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowski# Move xdmshell from default location to the place we put in our packages
88c66e48620750c42b94db9feb01b42ae23dba97Till Mossakowskiinstall_xdmshell: default_install
e374cd77f3dbe95289afa9431d36a8a8a8fdc81fChristian Maeder -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_SRCFILES=$(XDM_CONFIG_FILES:%=$(XCF_ETC_SRCDIR)/%)
XCF_USR_SRCDIR=$(SOURCE_DIR)/config/annotated
XCF_USR_SRCFILES=$(XDM_CONFIG_FILES:%=$(XCF_USR_SRCDIR)/%)
build_xdm_configs: $(XCF_USR_SRCFILES)
install_xdm_configs: $(XCF_USR_FILES) $(PROTODIR)/$(XDM_USR_CONFIGDIR)/README
$(XCF_ETC_SRCFILES): 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_SRCDIR):
mkdir -p $@
$(XCF_USR_FILES): $(PROTODIR)/$(XDM_USR_CONFIGDIR) $(XCF_USR_SRCFILES)
-rm -f $@
mkdir -p $(PROTODIR)/$(XDM_USR_CONFIGDIR)
cp -p $(XCF_USR_SRCDIR)/$(@F) $@
$(XCF_USR_SRCFILES): $(XCF_USR_SRCDIR) $(XCF_ETC_SRCFILES)
-rm -f $@
FILENAME=$(@F) ; \
COMMENT_CHAR=$$(head -n 1 $(XCF_ETC_SRCDIR)/$${FILENAME}) ; \
printf '$(XCF_HEADER)' $${COMMENT_CHAR} $${FILENAME} > $@ ; \
cat $(XCF_ETC_SRCDIR)/$${FILENAME} >> $@
$(PROTODIR)/$(XDM_USR_CONFIGDIR)/README:$(PROTODIR)/$(XDM_USR_CONFIGDIR) config-README.txt
cp -p config-README.txt $@