xenocara/app/rstart/Makefile.am
2006-11-25 20:07:29 +00:00

189 lines
6.2 KiB
Makefile

#
# Copyright 2005 Red Hat, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of Red Hat not be used in
# advertising or publicity pertaining to distribution of the software without
# specific, written prior permission. Red Hat makes no
# representations about the suitability of this software for any purpose. It
# is provided "as is" without express or implied warranty.
#
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# rstartd server
rstart_serverdir = $(libdir)/X11/rstart
rstart_server_PROGRAMS = rstartd.real
rstartd_real_CFLAGS = $(RSTART_CFLAGS) \
-DSERVERNAME=\"rstart\" \
-DDEFAULT_CONFIG=\"$(libdir)/X11/rstart/config\"
rstartd_real_LDADD = $(RSTART_LIBS)
rstartd_real_SOURCES = \
auth.c \
server.c
# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
# to cpp, because that trick does not work on all ANSI C preprocessors.
# Delete line numbers from the cpp output (-P is not portable, I guess).
# Allow XCOMM to be preceded by whitespace and provide a means of generating
# output lines with trailing backslashes.
# Allow XHASH to always be substituted, even in cases where XCOMM isn't.
CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
-e '/^\#line *[0-9][0-9]* *.*$$/d' \
-e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \
-e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
-e '/^[ ]*XHASH/s/XHASH/\#/' \
-e '/\@\@$$/s/\@\@$$/\\/'
# config data
configdir = $(libdir)/X11/rstart
config_DATA = config
config: config.cpp
$(RAWCPP) $(RAWCPPFLAGS) -DPACKAGEname=rstart -DLIBDIR=$(configdir) \
-DENVPREFIX=RSTART < ${srcdir}/config.cpp | $(CPP_SED_MAGIC) > $@
# wrapper scripts
bin_SCRIPTS = rstart rstartd
rstart: client.cpp
$(RAWCPP) $(RAWCPPFLAGS) -DRSHCMD=$(RSH) -DSERVERNAME=rstartd \
< ${srcdir}/client.cpp | $(CPP_SED_MAGIC) > $@
rstartd: server.cpp
$(RAWCPP) $(RAWCPPFLAGS) -DBINDIR=$(rstart_serverdir) \
-DLIBDIR=$(configdir) -DSERVERNAME=rstartd < ${srcdir}/server.cpp | \
$(CPP_SED_MAGIC) > $@
# man pages
appmandir = $(APP_MAN_DIR)
appman_PRE = rstartd.man rstart.man
appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
# Strings to replace in man pages
XORGRELSTRING = @PACKAGE_STRING@
XORGMANNAME = X Version 11
MANDEFS = -D__projectroot__=$(prefix) \
-D__xorgversion__='"$(XORGRELSTRING)" "$(XORGMANNAME)"'
SUFFIXES = .$(APP_MAN_SUFFIX) .man
.man.$(APP_MAN_SUFFIX):
$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@
EXTRA_DIST = client.cpp server.cpp config.cpp $(appman_PRE)
CLEANFILES = rstart rstartd config $(appman_DATA)
#
# commands and contexts
#
# FIXME: Someone who cares about rstart may want to look into sanitizing
# the stuff below.
DATA_DIR = $(libdir)/X11/rstart
install-data-hook:
for name in `find ${srcdir}/commands -print | grep -v CVS` ; do \
if test -f $$name; then \
sed \
-e 's,ENVPREFIX,RSTART,g' \
< $$name > $(DESTDIR)$(DATA_DIR)/$$name; \
case `basename $(DESTDIR)$(DATA_DIR)/$$name` in \
@*) \
;; \
*) \
chmod a+x $(DESTDIR)$(DATA_DIR)/$$name ;; \
esac; \
else \
if [ -d $$name ] ; then \
mkdir -p $(DESTDIR)$(DATA_DIR)/$$name ; \
fi; \
fi; \
done; \
\
for name in `find ${srcdir}/contexts -print | grep -v CVS` ; do \
if test -f $$name; then \
sed \
-e 's,_PATH,$(DEFAULT_USER_PATH),g' \
-e 's,_MANPATH,$(DEFAULT_X_MANPATH),g' \
< $$name > $(DESTDIR)$(DATA_DIR)/$$name ; \
else \
if [ -d $$name ] ; then \
mkdir -p $(DESTDIR)$(DATA_DIR)/$$name ; \
fi ; \
fi ; \
done; \
\
cd $(DESTDIR)$(DATA_DIR)/contexts; \
sed -e '/^$$/d' -e '/^#/d' ${srcdir}/contexts/@Aliases | \
while read real aliases; do \
for i in $$aliases; do \
$(RM) $$i; \
$(LN) $$real $$i; \
$(RM) $(DESTDIR)$(rstart_serverdir)/commands/$$i; \
$(LN) $$real $(DESTDIR)$(rstart_serverdir)/commands/$$i; \
done; \
done; \
$(RM) @Aliases
distuninstallcheck:
@:
EXTRA_DIST += \
server.os2 \
\
commands/ListContexts \
commands/x11r6/Terminal \
commands/x11r6/LoadMonitor \
commands/x11r6/@List \
commands/@List \
commands/ListGenericCommands \
\
contexts/default \
contexts/@Aliases \
contexts/x11r6 \
contexts/@List \
\
samples/commands/openwindows2/Terminal \
samples/commands/openwindows2/LoadMonitor \
samples/commands/openwindows2/@List \
samples/commands/ListContexts \
samples/commands/x11r5/Terminal \
samples/commands/x11r5/LoadMonitor \
samples/commands/x11r5/@List \
samples/commands/odt1/Terminal \
samples/commands/odt1/LoadMonitor \
samples/commands/odt1/@List \
samples/commands/@List \
samples/commands/ListGenericCommands \
samples/commands/openwindows3/Terminal \
samples/commands/openwindows3/LoadMonitor \
samples/commands/openwindows3/@List \
samples/contexts.odt1/openwindows2 \
samples/contexts.odt1/default \
samples/contexts.odt1/@Aliases \
samples/contexts.odt1/x11r5 \
samples/contexts.odt1/odt1 \
samples/contexts.odt1/x11r6 \
samples/contexts.odt1/@List \
samples/contexts.odt1/openwindows3