Makefile revision 1356
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence###############################################################################
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence#
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# xdm - X Display Manager with support for XDMCP and host chooser
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence#
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence#
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Permission is hereby granted, free of charge, to any person obtaining a
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# copy of this software and associated documentation files (the "Software"),
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# to deal in the Software without restriction, including without limitation
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# the rights to use, copy, modify, merge, publish, distribute, sublicense,
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# and/or sell copies of the Software, and to permit persons to whom the
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Software is furnished to do so, subject to the following conditions:
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence#
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# The above copyright notice and this permission notice (including the next
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# paragraph) shall be included in all copies or substantial portions of the
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Software.
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence#
ce2be9b7211ab5bacaa10fe74ef35def3a3f6089David Lawrence# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
6b7257f756eb0530cdf54df9a7fab8d51a5001c3David Lawrence# DEALINGS IN THE SOFTWARE.
6b7257f756eb0530cdf54df9a7fab8d51a5001c3David Lawrence#
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence#
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
ce2be9b7211ab5bacaa10fe74ef35def3a3f6089David Lawrence# Package name used in tarballs
ce2be9b7211ab5bacaa10fe74ef35def3a3f6089David LawrenceMODULE_NAME=xdm
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence# pkg(5) name we deliver the files in (override default)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceMODULE_PKGNAME=system/display-manager/xdm
f96b41064bcd427d8125a096fd646c1f068d8ed7David LawrenceMODULE_PKGNAME_SET=yes
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid LawrenceMODULE_DESC = the X Display Manager (xdm) server
f96b41064bcd427d8125a096fd646c1f068d8ed7David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Version number (used in path names)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceMODULE_VERSION=1.1.9
3db78e0855a8dfc162180880cd70d9c1a03d9301David Lawrence
3db78e0855a8dfc162180880cd70d9c1a03d9301David Lawrence# Checksums for upstream tarball
30a4d5b0c23eb7a73d9635a98250560437a42d59David LawrenceTARBALL_MD5 = 030ae4bd9b8d428749d68bfdf56ce8a5
30a4d5b0c23eb7a73d9635a98250560437a42d59David LawrenceTARBALL_SHA1 = ea0ee2923999d54848dc8a165867ffa7c628fd7b
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Patches to apply to source after unpacking, in order
dbb33bdc762a897844661e013823672c03af67fcDavid LawrenceSOURCE_PATCHES = \
87983da955bf63128de85d180359bdc418516c3cDavid Lawrence mkdir.patch,-p1 \
87983da955bf63128de85d180359bdc418516c3cDavid Lawrence pam_tty.patch,-p1 \
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence pam_user.patch,-p1 \
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence bindir.patch,-p1 \
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence terminateServer.patch \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence bug-6822636.patch \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence bug-6820612.patch,-p1 \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence Xsession.patch
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Need to rebuild configure/Makefile.in after applying bindir.patch
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceAUTORECONF=yes
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Man pages to apply Sun footer to & attributes to list
30a4d5b0c23eb7a73d9635a98250560437a42d59David LawrenceSUNTOUCHED_MANPAGES=xdm.man.cpp
30a4d5b0c23eb7a73d9635a98250560437a42d59David LawrenceMODULE_STABILITY=Committed
30a4d5b0c23eb7a73d9635a98250560437a42d59David LawrenceMODULE_SUNTOUCH_MAN_FLAGS= -p $(MODULE_PREFIX)/sbin/
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence# Where to install xdm files
30a4d5b0c23eb7a73d9635a98250560437a42d59David LawrenceMODULE_PREFIX=/usr
30a4d5b0c23eb7a73d9635a98250560437a42d59David LawrenceMODULE_PREFIX_SET=yes
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence# Additional configure script options
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence# Only build shared greeter module, not static
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence# Set various paths to better match Solaris
30a4d5b0c23eb7a73d9635a98250560437a42d59David Lawrence# Find xrdb & xterm in /usr/bin even with --bindir set to /usr/sbin
30a4d5b0c23eb7a73d9635a98250560437a42d59David LawrenceMODULE_CONFIG_OPTS= \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence --enable-shared=yes --enable-static=no \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence --with-xdmconfigdir=/etc/X11/xdm \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence --with-piddir=/var/run/xdm \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence --with-authdir=/var/run/xdm \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence --bindir=/usr/sbin \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence --with-xrdb='$(X11_BIN_DIR)/xrdb' \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence --with-default-session=command='$(X11_BIN_DIR)/xterm -ls' \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence DEF_SERVER='$(X11_BIN_DIR)/X' \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence DEF_USER_PATH=/usr/bin:/usr/sbin \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence DEF_SYSTEM_PATH=/usr/bin:/usr/sbin
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# configure scripts add libraries like -lXt & -lXinerama to the global $(LIBS)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# when only some objects need them, so ignore them in the rest.
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceMODTYPE_LD_OPTIONS = -z ignore
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Additional build & install targets
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceMODULE_ADD_BUILD_TARGETS=build_xdm_configs
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceMODULE_ADD_INSTALL_TARGETS=install_xdmshell install_xdm_configs
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Need to fix libtool interference with our linker flags
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceDELIBTOOLIZE=yes
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrenceinclude ../Makefile.inc
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Move xdmshell from default location to the place we put in our packages
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrenceinstall_xdmshell: default_install
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence -rm -f $(PROTODIR)/usr/lib/X11/xdm/xdmshell
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence mv $(PROTODIR)/usr/sbin/xdmshell $(PROTODIR)/usr/lib/X11/xdm/xdmshell
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence# Copy xdm config files from /etc to /usr for use as prototypes
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXDM_CONFIG_FILES=Xaccess Xresources Xservers xdm-config
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXDM_ETC_CONFIGDIR=/etc/X11/xdm
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXDM_USR_CONFIGDIR=/usr/lib/X11/xdm
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_USR_FILES=$(XDM_CONFIG_FILES:%=$(PROTODIR)/$(XDM_USR_CONFIGDIR)/%)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_ETC_SRCDIR=$(SOURCE_DIR)/config
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_ETC_SRCFILES=$(XDM_CONFIG_FILES:%=$(XCF_ETC_SRCDIR)/%)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_USR_SRCDIR=$(SOURCE_DIR)/config/annotated
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_USR_SRCFILES=$(XDM_CONFIG_FILES:%=$(XCF_USR_SRCDIR)/%)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrencebuild_xdm_configs: $(XCF_USR_SRCFILES)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrenceinstall_xdm_configs: $(XCF_USR_FILES) $(PROTODIR)/$(XDM_USR_CONFIGDIR)/README
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence$(XCF_ETC_SRCFILES): default_build
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_HEADER = %1$$s----------------------------------------------------------------------------
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_HEADER += \n%1$$s NOTE: The file provided in $(XDM_USR_CONFIGDIR) is a sample %2$$s
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_HEADER += \n%1$$s configuration file provided for your reference.
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_HEADER += \n%1$$s
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_HEADER += \n%1$$s xdm reads the actual configuration from the copies located in $(XDM_ETC_CONFIGDIR)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_HEADER += \n%1$$s (unless configured otherwise by $(XDM_ETC_CONFIGDIR)/xdm-config or
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_HEADER += \n%1$$s a file specified via the -config command line option).
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David LawrenceXCF_HEADER += \n%1$$s----------------------------------------------------------------------------\n
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence$(PROTODIR)/$(XDM_USR_CONFIGDIR) $(XCF_USR_SRCDIR):
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence mkdir -p $@
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence$(XCF_USR_FILES): $(PROTODIR)/$(XDM_USR_CONFIGDIR) $(XCF_USR_SRCFILES)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence -rm -f $@
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence mkdir -p $(PROTODIR)/$(XDM_USR_CONFIGDIR)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence cp -p $(XCF_USR_SRCDIR)/$(@F) $@
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence$(XCF_USR_SRCFILES): $(XCF_USR_SRCDIR) $(XCF_ETC_SRCFILES)
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence -rm -f $@
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence FILENAME=$(@F) ; \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence COMMENT_CHAR=$$(head -n 1 $(XCF_ETC_SRCDIR)/$${FILENAME}) ; \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence printf '$(XCF_HEADER)' $${COMMENT_CHAR} $${FILENAME} > $@ ; \
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence cat $(XCF_ETC_SRCDIR)/$${FILENAME} >> $@
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence$(PROTODIR)/$(XDM_USR_CONFIGDIR)/README:$(PROTODIR)/$(XDM_USR_CONFIGDIR) config-README.txt
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence cp -p config-README.txt $@
20bd7b4bbf2437ef2f9109edca168ab0ce8445b3David Lawrence