# Generated automatically from Makefile.in by configure.
# driver/Makefile.in --- xscreensaver, Copyright (c) 1997-1999 Jamie Zawinski.
# the `../configure' script generates `driver/Makefile' from this file.


.SUFFIXES:
.SUFFIXES: .c .o

srcdir		= .

install_prefix	=
prefix		= /elmar/sdl/xscreensaver/
exec_prefix	= /elmar/sdl/xscreensaver/
bindir		= ${exec_prefix}/bin
mandir		= ${prefix}/man
man1dir		= $(mandir)/man1
mansuffix	= 1

GNOME_DATADIR	= /usr/share
GNOME_CCDIR	= $(GNOME_DATADIR)/control-center/Desktop
GNOME_PANELDIR	= $(GNOME_DATADIR)/gnome/apps/Settings/Desktop

CC		= gcc -Wall -Wstrict-prototypes -Wnested-externs -Wno-format -Wp,-lang-c89
CFLAGS		= -g -O2
LDFLAGS		=  -L${exec_prefix}/lib
DEFS		= -DHAVE_CONFIG_H
DEFS2		= $(DEFS) -DDEFAULT_PATH_PREFIX='"${bindir}"'
LIBS		= 

DEPEND		= makedepend
DEPEND_FLAGS	= 
DEPEND_DEFINES	= 

SHELL		= /bin/sh
INSTALL		= /usr/bin/install -c
SUID_FLAGS      = -o root -m 4755
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT  = ${INSTALL}
INSTALL_SETUID  = $(INSTALL) $(SUID_FLAGS)
INSTALL_DATA	= ${INSTALL} -m 644
INSTALL_DIRS	= ${INSTALL} -d

X_CFLAGS	=  -I/usr/X11R6/include
X_LIBS		=  -L/usr/X11R6/lib
X_PRE_LIBS	=  -lSM -lICE
X_EXTRA_LIBS	= 

# Note:
#
# X_LIBS would more properly be called X_LDFLAGS (it contains the -L args.)
# X_PRE_LIBS contains extra libraries you have to link against on some systems,
#         and that must come before -lX11.  (e.g., -lSM and -lICE.)
# X_EXTRA_LIBS contains extra libraries needed by X that aren't a part of X.
#         (e.g., -lsocket, -lnsl, etc.)
#
# I think (but am not totally sure) that LIBS is also really "LDFLAGS".
#
# SAVER_LIBS is the link line for "xscreensaver", and
# CMD_LIBS is the link line for "xscreensaver-command".


AD_DIR		= /usr/X11R6/lib/X11/app-defaults
PAM_DIR		= /etc/pam.d
PAM_CONF	= /etc/pam.conf

UTILS_SRC	= $(srcdir)/../utils
UTILS_BIN	= ../utils

INCLUDES	= -I. -I$(srcdir) -I$(UTILS_SRC) -I..  -I/usr/include -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/lib/glib/include -I/usr/X11R6/include -I${prefix}/include

MOTIF_SRCS	= demo-Xm.c demo-Xm-widgets.c
MOTIF_OBJS	= demo-Xm.o demo-Xm-widgets.o

GTK_SRCS	= demo-Gtk.c demo-Gtk-widgets.c
GTK_OBJS	= demo-Gtk.o demo-Gtk-widgets.o

PWENT_SRCS	= passwd-pwent.c
PWENT_OBJS	= passwd-pwent.o

KERBEROS_SRCS	= passwd-kerberos.c
KERBEROS_OBJS	= passwd-kerberos.o

PAM_SRCS	= passwd-pam.c
PAM_OBJS	= passwd-pam.o

LOCK_SRCS_1	= lock.c passwd.c
LOCK_OBJS_1	= lock.o passwd.o
NOLOCK_SRCS_1	= lock.c
NOLOCK_OBJS_1	= lock.o

TEST_SRCS	= test-passwd.c test-uid.c test-xdpms.c test-grab.c \
		  test-apm.c xdpyinfo.c

MOTIF_LIBS	= -lXmu  -lXpm
GTK_LIBS	= -lXmu  -rdynamic -L/usr/lib -L/usr/X11R6/lib -lcapplet -lORBitCosNaming -lORBit -lIIOP -lORBitutil -lnsl -lgnorba -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lgmodule -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb1 -lglib -ldl

PASSWD_SRCS	=  $(PAM_SRCS) $(PWENT_SRCS)
PASSWD_OBJS	=  $(PAM_OBJS) $(PWENT_OBJS)
PASSWD_LIBS	=  -lpam -ldl -lcrypt

LOCK_SRCS	= $(LOCK_SRCS_1) $(PASSWD_SRCS)
LOCK_OBJS	= $(LOCK_OBJS_1) $(PASSWD_OBJS)

XMU_SRCS	= 
XMU_OBJS	= 

GL_SRCS		= 
GL_OBJS		= 
GL_LIBS		= 

DEMO_UTIL_SRCS	= $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
		  $(UTILS_SRC)/visual.c
DEMO_UTIL_OBJS	= $(UTILS_BIN)/resources.o $(UTILS_BIN)/usleep.o \
		  $(UTILS_BIN)/visual.o

SAVER_UTIL_SRCS	= $(UTILS_SRC)/fade.c $(UTILS_SRC)/overlay.c \
		  $(UTILS_SRC)/xroger.c $(UTILS_SRC)/spline.c \
		  $(UTILS_SRC)/yarandom.c \
		  $(DEMO_UTIL_SRCS)
SAVER_UTIL_OBJS	= $(UTILS_BIN)/fade.o $(UTILS_BIN)/overlay.o \
		  $(UTILS_BIN)/xroger.o $(UTILS_BIN)/spline.o \
		  $(UTILS_BIN)/yarandom.o \
		  $(DEMO_UTIL_OBJS)

SAVER_SRCS_1	= xscreensaver.c windows.c timers.c subprocs.c \
		  xset.c splash.c setuid.c stderr.c
SAVER_OBJS_1	= xscreensaver.o windows.o timers.o subprocs.o \
		  xset.o splash.o setuid.o stderr.o

SAVER_SRCS	= $(SAVER_SRCS_1) prefs.c $(LOCK_SRCS) \
		  $(SAVER_UTIL_SRCS) $(GL_SRCS) $(XMU_SRCS)
SAVER_OBJS	= $(SAVER_OBJS_1) prefs.o $(LOCK_OBJS) \
		  $(SAVER_UTIL_OBJS) $(GL_OBJS) $(XMU_OBJS)

CMD_SRCS	= remote.c xscreensaver-command.c
CMD_OBJS	= remote.o xscreensaver-command.o

DEMO_SRCS_1	= prefs.c $(XMU_SRCS)
DEMO_OBJS_1	= prefs.o $(XMU_OBJS)

DEMO_SRCS	= prefs.c remote.c $(DEMO_UTIL_SRCS)
DEMO_OBJS	= prefs.o remote.o $(DEMO_UTIL_OBJS)

SAVER_LIBS	= $(LIBS) $(X_LIBS) -lXmu  -lXss -lXdpms -lXxf86vm $(GL_LIBS) \
		  $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS) \
		  $(PASSWD_LIBS)

CMD_LIBS	= $(LIBS) $(X_LIBS) \
		  $(X_PRE_LIBS) -lX11 -lXext $(X_EXTRA_LIBS)

EXES		= xscreensaver xscreensaver-command xscreensaver-demo
EXES2		= xscreensaver-demo-Gtk 

HDRS		= XScreenSaver_ad.h xscreensaver.h prefs.h remote.h \
		  demo-Gtk-widgets.h demo-Gtk-stubs.h
MEN		= xscreensaver.man xscreensaver-demo.man \
		  xscreensaver-command.man
ALL_MEN		= xscreensaver.man \
		  xscreensaver-demo.man xscreensaver-command.man
EXTRAS		= README Makefile.in XScreenSaver.ad.in xscreensaver.pam \
		  xscreensaver.kss xscreensaver-demo.glade \
		  screensaver-properties.desktop.in .gdbinit
VMSFILES	= compile_axp.com compile_decc.com link_axp.com link_decc.com \
		  vms-getpwnam.c vms-pwd.h vms-hpwd.c vms-validate.c \
		  vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt

TARFILES	= $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) \
		  $(MOTIF_SRCS) $(GTK_SRCS) $(PWENT_SRCS) \
		  $(KERBEROS_SRCS) $(PAM_SRCS) $(LOCK_SRCS_1) $(DEMO_SRCS_1) \
		  $(CMD_SRCS) $(HDRS) $(TEST_SRCS) $(ALL_MEN)


default: $(EXES)
all: $(EXES) $(EXES2)

install:   install-program   install-ad   install-gnome   install-kde   \
	   install-man   install-pam
uninstall: uninstall-program uninstall-ad uninstall-gnome uninstall-kde \
	   uninstall-man

install-strip:
	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
		INSTALL_SETUID='$(INSTALL_SETUID) -s' \
		install

install-program: $(EXES)
	@if [ ! -d $(install_prefix)$(bindir) ]; then			\
	  $(INSTALL_DIRS) $(install_prefix)$(bindir) ;			\
	 fi
	@inst="$(INSTALL_PROGRAM)" ;					\
	if [ yes = yes ]; then				\
	   me=`PATH="$$PATH:/usr/ucb" whoami` ;				\
	   if [ "$$me" = root ]; then					\
	     inst="$(INSTALL_SETUID)" ;					\
	   else								\
	    e=echo ;							\
 $$e ""									     ;\
 $$e "  ####################################################################";\
 $$e "  Warning: xscreensaver has been compiled with support for shadow"     ;\
 $$e "           passwords.  If your system actually uses shadow passwords," ;\
 $$e "           then xscreensaver must be installed as a setuid root"	     ;\
 $$e "           program in order for locking to work.  To do this, you"     ;\
 $$e "           must run 'make install' as 'root', not as '$$me'."	     ;\
 $$e ""									     ;\
 $$e "           For now, xscreensaver will be installed non-setuid, which"  ;\
 $$e "           means that locking might not work.  (Try it and see.)"	     ;\
 $$e "  ####################################################################";\
 $$e ""									     ;\
	   fi ; 							      \
	fi ;								      \
	echo $$inst xscreensaver $(install_prefix)$(bindir)/xscreensaver ;    \
	$$inst xscreensaver $(install_prefix)$(bindir)/xscreensaver
	$(INSTALL_PROGRAM) xscreensaver-command \
	  $(install_prefix)$(bindir)/xscreensaver-command
	$(INSTALL_PROGRAM) xscreensaver-demo \
	  $(install_prefix)$(bindir)/xscreensaver-demo

install-ad: XScreenSaver.ad
	@if [ ! -d $(install_prefix)$(AD_DIR) ]; then			      \
	  $(INSTALL_DIRS) $(install_prefix)$(AD_DIR) ;			      \
	 fi
	@-echo $(INSTALL_DATA) XScreenSaver.ad				      \
	  $(install_prefix)$(AD_DIR)/XScreenSaver ;			      \
	if $(INSTALL_DATA) XScreenSaver.ad				      \
	  $(install_prefix)$(AD_DIR)/XScreenSaver ; then		      \
	  true ;							      \
	else								      \
	  e=echo ;							      \
	  if [ -f $(install_prefix)$(AD_DIR)/XScreenSaver ]; then	      \
 $$e ""									     ;\
 $$e "  ####################################################################";\
 $$e "  Warning: unable to install $(install_prefix)$(AD_DIR)/XScreenSaver"  ;\
 $$e "           That file exists, and is unwritable.  It is probably from"  ;\
 $$e "           an older version of xscreensaver, and could cause things"   ;\
 $$e "           to malfunction.  Please delete it!"			     ;\
 $$e "  ####################################################################";\
 $$e ""									     ;\
	    exit 1 ;							      \
	  else								      \
 $$e ""									     ;\
 $$e "  ####################################################################";\
 $$e "  Warning: unable to install $(install_prefix)$(AD_DIR)/XScreenSaver"  ;\
 $$e "           The directory is unwritable.  This is probably ok;"	     ;\
 $$e "           xscreensaver should work without that file."		     ;\
 $$e "  ####################################################################";\
 $$e ""									     ;\
	    exit 0 ;							      \
	  fi								      \
	fi

install-man: $(MEN)
	@men="$(MEN)" ;							\
	if [ ! -d $(install_prefix)$(man1dir) ]; then			\
	  $(INSTALL_DIRS) $(install_prefix)$(man1dir) ;			\
	 fi ;								\
	for man in $$men; do						\
	  instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;	\
	  echo $(INSTALL_DATA) $(srcdir)/$$man				\
	   $(install_prefix)$(man1dir)/$$instname ;			\
	  $(INSTALL_DATA) $(srcdir)/$$man				\
	    $(install_prefix)$(man1dir)/$$instname ;			\
	done

uninstall-program:
	@for program in $(EXES); do					\
	  echo rm -f $(install_prefix)$(bindir)/$$program ;		\
	  rm -f $(install_prefix)$(bindir)/$$program ;			\
	done

uninstall-ad:
	rm -f $(install_prefix)$(AD_DIR)/XScreenSaver

uninstall-man:
	@men="$(MEN)" ;							\
	for man in $$men; do						\
	  instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;	\
	  echo rm -f $(install_prefix)$(man1dir)/$$instname ;		\
	  rm -f $(install_prefix)$(man1dir)/$$instname ;		\
	done

install-pam:
	@src="$(srcdir)/xscreensaver.pam" ;				\
	dest=`sed -n 's/.*PAM_SERVICE_NAME[ 	]*"\([^"]*\)".*$$/\1/p'	\
	   < ../config.h` ;						\
	dir="$(install_prefix)$(PAM_DIR)" ;				\
	conf="$(PAM_CONF)" ;						\
									\
	if [ -d $$dir ] ; then						\
	  echo $(INSTALL_DATA) $$src $$dir/$$dest ;			\
	  $(INSTALL_DATA) $$src $$dir/$$dest ;				\
	  if [ ! -f $$dir/$$dest ]; then				\
	    e=echo ;							\
 $$e ""									     ;\
 $$e "  ####################################################################";\
 $$e "  Warning: xscreensaver has been compiled with support for Pluggable"  ;\
 $$e "           Authentication Modules (PAM).  However, we were unable to"  ;\
 $$e "           install the file $$dir/$$dest.  PAM is unlikely"	     ;\
 $$e "           to work without this file (and old-style password"	     ;\
 $$e "           authentication will be used instead, which may or may not"  ;\
 $$e "           work.)"						     ;\
 $$e "  ####################################################################";\
 $$e ""									     ;\
	  fi ;								\
	elif [ -f $$conf ]; then					\
	  if ( grep $$dest $$conf >/dev/null ); then			\
	   true ;							\
	  else								\
	    e=echo ;							\
 $$e ""									     ;\
 $$e "  ####################################################################";\
 $$e "  Warning: xscreensaver has been compiled with support for Pluggable"  ;\
 $$e "           Authentication Modules (PAM).  To complete the installation";\
 $$e "           of PAM support, you must add the following line to the file";\
 $$e "           $$conf:"						     ;\
 $$e ""									     ;\
 $$e	"	$$dest	auth required	/usr/lib/security/pam_unix.so.1"     ;\
 $$e ""									     ;\
 $$e "           Be careful: if you mess up that file, you could completely" ;\
 $$e "           hose your machine (e.g., \`login' and \`su' won't work, and";\
 $$e "           you'll have to boot single-user to fix it.)"                ;\
 $$e "  ####################################################################";\
	    echo "";							\
	  fi ;								\
	fi

install-gnome: screensaver-properties.desktop
	@lost1=""							     ;\
         lost2=""                                                            ;\
         if [ "$(install_prefix)$(GNOME_DATADIR)" != "" ]; then               \
           echo    $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop   \
             $(install_prefix)$(GNOME_CCDIR)/screensaver-properties.desktop  ;\
           if      $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop   \
             $(install_prefix)$(GNOME_CCDIR)/screensaver-properties.desktop  ;\
             then true                                                       ;\
           else                                                               \
             lost1="$(install_prefix)$(GNOME_CCDIR)"                         ;\
           fi                                                                ;\
           echo $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop      \
                        $(GNOME_PANELDIR)/screensaver-properties.desktop     ;\
           if   $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop      \
       $(install_prefix)$(GNOME_PANELDIR)/screensaver-properties.desktop     ;\
             then true                                                       ;\
           else                                                               \
             lost2="$(install_prefix)$(GNOME_PANELDIR)"                      ;\
           fi                                                                ;\
           if [ "$$lost1" != "" -o "$$lost2" != "" ]; then                    \
             e=echo ;                                                         \
 $$e ""                                                                      ;\
 $$e "  ####################################################################";\
 $$e "  Warning: unable to install screensaver-properties.desktop into"      ;\
                 plurality="this file"                                       ;\
          if [ "$$lost1" != "" -a "$$lost2" != "" ]; then                     \
 $$e "           $$lost1/ or into"                                           ;\
 $$e "           $$lost2/."                                                  ;\
                 plurality="these files"                                     ;\
          elif [ "$$lost1" != "" ]; then                                      \
 $$e "           $$lost1/."                                                  ;\
          else                                                                \
 $$e "           $$lost2/."                                                  ;\
          fi                                                                 ;\
 $$e "           Without $$plurality," 'the "Screen Saver" section of the'   ;\
 $$e "           Gnome Control Center (gnomecc) will not work properly."     ;\
 $$e "  ####################################################################";\
 $$e ""                                                                      ;\
             exit 1 ;                                                         \
           fi                                                                ;\
         fi

uninstall-gnome:
	@if [ "$(install_prefix)$(GNOME_DATADIR)" != "" ]; then		      \
          f=screensaver-properties.desktop                                   ;\
          echo rm -f $(install_prefix)$(GNOME_CCDIR)/$$f                     ;\
               rm -f $(install_prefix)$(GNOME_CCDIR)/$$f                     ;\
          echo rm -f $(install_prefix)$(GNOME_PANELDIR)/$$f                  ;\
               rm -f $(install_prefix)$(GNOME_PANELDIR)/$$f                  ;\
        fi

install-kde:
	@src="$(srcdir)/xscreensaver.kss" ;				      \
	if [ "$$KDEDIR" != "" ]; then					      \
	  dir="$(install_prefix)$$KDEDIR/bin" ;				      \
	  dest="$$dir/xscreensaver.kss" ;				      \
	  echo $(INSTALL_SCRIPT) $$src $$dest ;				      \
	  if $(INSTALL_SCRIPT) $$src $$dest ; then			      \
	    true ;							      \
	  else								      \
	    e=echo ;							      \
 $$e ""									     ;\
 $$e "  ####################################################################";\
 $$e "  Warning: unable to install $$dest"				     ;\
	    if [ ! -d $(install_prefix)$$KDEDIR ]; then			      \
 $$e "           $(install_prefix)$$KDEDIR (\$$KDEDIR) does not exist."	     ;\
	    elif [ ! -d $(install_prefix)$$KDEDIR/bin ]; then		      \
 $$e "           $(install_prefix)$$KDEDIR/bin (\$$KDEDIR/bin) does not exist.";\
	    elif [ -f $$dest ]; then					      \
 $$e "           That file exists, and is unwritable."			     ;\
	    else							      \
 $$e "           The directory is unwritable."				     ;\
	    fi								     ;\
 $$e "  ####################################################################";\
 $$e ""									     ;\
	    exit 1 ;							      \
	  fi ;								      \
	fi

uninstall-kde:
	@if [ "$$KDEDIR" != "" ]; then					\
	  dest="$(install_prefix)$$KDEDIR/bin/xscreensaver.kss" ;	\
	  echo rm -f $$dest ;						\
	  rm -f $$dest ;						\
	fi

clean:
	-rm -f *.o a.out core $(EXES) $(EXES2) XScreenSaver_ad.h

distclean: clean
	-rm -f Makefile XScreenSaver.ad TAGS *~ "#"*

# Adds all current dependencies to Makefile
depend: XScreenSaver_ad.h
	$(DEPEND) -s '# DO NOT DELETE: updated by make depend'		    \
	$(DEPEND_FLAGS) --						    \
	$(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --	    \
	$(SAVER_SRCS) $(CMD_SRCS)

# Adds some dependencies to Makefile.in -- not totally accurate, but pretty
# close.  This excludes dependencies on files in /usr/include, etc.  It tries
# to include only dependencies on files which are themselves a part of this
# package.
distdepend: update_ad_version update_man_version XScreenSaver_ad.h
	@echo updating dependencies in `pwd`/Makefile.in... ;		    \
	$(DEPEND) -w 0 -f - 						    \
	-s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
	$(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --	    \
	$(SAVER_SRCS_1) $(MOTIF_SRCS) $(GTK_SRCS)			    \
	$(PWENT_SRCS) $(LOCK_SRCS_1) $(DEMO_SRCS_1) $(CMD_SRCS)		    \
	$(TEST_SRCS) |							    \
	(								    \
	  awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \
	  sed -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d'			    \
	      -e 's@\.\./utils@$$(UTILS_SRC)@g'				    \
	      -e 's@ \([^$$]\)@ $$(srcdir)/\1@g'			    \
	      -e 's@$$.*\(XScreenSaver_ad\)@\1@g'			    \
	      -e 's@ $$(srcdir)/\(.*config\.h\)@ \1@g' ;		    \
	  echo ''							    \
	) > /tmp/distdepend.$$$$ &&					    \
	mv Makefile.in Makefile.in.bak &&				    \
	mv /tmp/distdepend.$$$$ Makefile.in

# Updates the version number in the app-defaults file to be in sync with 
# the version number in version.h.  This is so people can tell when they
# have a version skew between the app-defaults file and the executable.
update_ad_version::
	@S=XScreenSaver.ad.in ;						    \
	U=$(UTILS_SRC)/version.h ;					    \
	V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ;		    \
	D=`date '+%d-%b-%Y'` ;						    \
	echo -n "Updating version number in $$S to $$V $$D... " ;	    \
	T=/tmp/xs.$$$$ ;						    \
	sed -e "s/\(.*version \)[0-9][0-9]*\.[0-9]*\(.*\)/\1$$V\2/"	    \
	    -e "s/\([0-9][0-9]-[A-Z][a-z][a-z]-[0-9][0-9][0-9]*\)/$$D/"	    \
	  < $$S > $$T ;							    \
	if cmp -s $$S $$T ; then					    \
	  echo "unchanged." ;						    \
	else								    \
	  cat $$T > $$S ;						    \
	  echo "done." ;						    \
	fi ;								    \
	rm $$T

update_man_version::
	@for S in $(MEN); do						    \
	U=$(UTILS_SRC)/version.h ;					    \
	V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ;		    \
	V="`date '+%d-%b-%Y'` ($$V)" ;					    \
	echo -n "Updating footer in $$S to \"$$V\"... " ;		    \
	T=/tmp/xs.$$$$ ;						    \
	sed "s/^\(\.TH[^\"]*\)\"[^\"]*\"\(.*\)/\1\"$$V\"\2/"		    \
	  < $$S > $$T ;							    \
	if cmp -s $$S $$T ; then					    \
	  echo "unchanged." ;						    \
	else								    \
	  cat $$T > $$S ;						    \
	  echo "done." ;						    \
	fi ;								    \
	rm $$T ;							    \
	done

TAGS: tags
tags:
	find $(srcdir) -name '*.[chly]' -print | xargs etags -a

echo_tarfiles:
	@$(MAKE) XScreenSaver_ad.h 2>&1 >&- /dev/null
	@echo $(TARFILES)


# Rules for noticing when the objects from the utils directory are out of
# date with respect to their sources, and going and building them according
# to the rules in their own Makefile...
#
$(UTILS_BIN)/fade.o:		$(UTILS_SRC)/fade.c
$(UTILS_BIN)/overlay.o:		$(UTILS_SRC)/overlay.c
$(UTILS_BIN)/resources.o:	$(UTILS_SRC)/resources.c
$(UTILS_BIN)/usleep.o:		$(UTILS_SRC)/usleep.c
$(UTILS_BIN)/visual.o:		$(UTILS_SRC)/visual.c
$(UTILS_BIN)/xmu.o:		$(UTILS_SRC)/xmu.c
$(UTILS_BIN)/xroger.o:		$(UTILS_SRC)/xroger.c
$(UTILS_BIN)/spline.o:		$(UTILS_SRC)/spline.c
$(UTILS_BIN)/yarandom.o:	$(UTILS_SRC)/yarandom.c

$(SAVER_UTIL_OBJS):
	cd $(UTILS_BIN) ; \
	$(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"

# How we build object files in this directory.
.c.o:
	$(CC) -c $(INCLUDES) $(DEFS)  $(CFLAGS) $(X_CFLAGS) $<

# subprocs is the only one that takes an extra -D option.
subprocs.o: subprocs.c
	$(CC) -c $(INCLUDES) $(DEFS2) $(CFLAGS) $(X_CFLAGS) \
	  $(srcdir)/subprocs.c


# How we build the default app-defaults file into the program.
#
XScreenSaver_ad.h: XScreenSaver.ad
	$(SHELL) $(UTILS_SRC)/ad2c XScreenSaver.ad > XScreenSaver_ad.h

screensaver-properties.desktop: screensaver-properties.desktop.in Makefile
	@echo generating $@... ;					\
	sed "s%[@]bindir[@]%${bindir}%g"				\
	  < ${srcdir}/screensaver-properties.desktop.in			\
	  > $@

# The executables linked in this directory.
#
xscreensaver: $(SAVER_OBJS)
	$(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS)

xscreensaver-command: $(CMD_OBJS)
	$(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS)


xscreensaver-demo: xscreensaver-demo-Gtk
	cp -p xscreensaver-demo-Gtk $@

xscreensaver-demo-Xm: $(DEMO_OBJS) $(MOTIF_OBJS)
	$(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(MOTIF_OBJS) $(LIBS) $(X_LIBS) \
	$(MOTIF_LIBS) $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)

xscreensaver-demo-Gtk: $(DEMO_OBJS) $(GTK_OBJS)
	$(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(GTK_OBJS) $(LIBS) $(X_LIBS) \
	$(GTK_LIBS) $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)



TEST_PASSWD_OBJS = test-passwd.o $(LOCK_OBJS_1) $(PASSWD_OBJS) \
	 subprocs.o setuid.o splash.o prefs.o \
	$(SAVER_UTIL_OBJS)
test-passwd.o: XScreenSaver_ad.h

tests:: test-passwd
test-passwd: $(TEST_PASSWD_OBJS) XScreenSaver_ad.h
	$(CC) $(LDFLAGS) -o $@ $(TEST_PASSWD_OBJS) $(SAVER_LIBS)

tests:: test-uid
test-uid: test-uid.o
	$(CC) $(LDFLAGS) -o $@ test-uid.o

tests:: test-xdpms
test-xdpms: test-xdpms.o
	$(CC) $(LDFLAGS) -o $@ test-xdpms.o $(SAVER_LIBS)

tests:: test-grab
test-grab: test-grab.o
	$(CC) $(LDFLAGS) -o $@ test-grab.o $(SAVER_LIBS)

tests:: test-apm
test-apm: test-apm.o
	$(CC) $(LDFLAGS) -o $@ test-apm.o $(SAVER_LIBS) -lapm


xdpyinfo.o: xdpyinfo.c
	$(CC) -c $(INCLUDES) -DHAVE_GLX $(CFLAGS) $(X_CFLAGS) \
	  $(srcdir)/xdpyinfo.c

xdpyinfo: xdpyinfo.o
	$(CC) $(LDFLAGS) -o $@ xdpyinfo.o \
		$(LIBS) $(X_LIBS)  \
		$(X_PRE_LIBS) -lX11 -lXext $(X_EXTRA_LIBS) -lm


##############################################################################
#
# DO NOT DELETE: updated by make distdepend
# $(srcdir)/DO $(srcdir)/NOT $(srcdir)/DELETE: $(srcdir)/updated $(srcdir)/by $(srcdir)/make $(srcdir)/distdepend

xscreensaver.o: ../config.h
xscreensaver.o: $(srcdir)/xscreensaver.h
xscreensaver.o: $(srcdir)/prefs.h
xscreensaver.o: $(UTILS_SRC)/version.h
xscreensaver.o: $(UTILS_SRC)/yarandom.h
xscreensaver.o: $(UTILS_SRC)/resources.h
xscreensaver.o: $(UTILS_SRC)/visual.h
xscreensaver.o: $(UTILS_SRC)/usleep.h
xscreensaver.o: XScreenSaver_ad.h
windows.o: ../config.h
windows.o: $(srcdir)/xscreensaver.h
windows.o: $(srcdir)/prefs.h
windows.o: $(UTILS_SRC)/visual.h
windows.o: $(UTILS_SRC)/fade.h
timers.o: ../config.h
timers.o: $(srcdir)/xscreensaver.h
timers.o: $(srcdir)/prefs.h
subprocs.o: ../config.h
subprocs.o: $(srcdir)/xscreensaver.h
subprocs.o: $(srcdir)/prefs.h
subprocs.o: $(UTILS_SRC)/yarandom.h
xset.o: ../config.h
xset.o: $(srcdir)/xscreensaver.h
xset.o: $(srcdir)/prefs.h
splash.o: ../config.h
splash.o: $(srcdir)/xscreensaver.h
splash.o: $(srcdir)/prefs.h
splash.o: $(UTILS_SRC)/resources.h
setuid.o: ../config.h
setuid.o: $(srcdir)/xscreensaver.h
setuid.o: $(srcdir)/prefs.h
stderr.o: ../config.h
stderr.o: $(srcdir)/xscreensaver.h
stderr.o: $(srcdir)/prefs.h
stderr.o: $(UTILS_SRC)/resources.h
stderr.o: $(UTILS_SRC)/visual.h
demo-Xm.o: ../config.h
demo-Xm.o: $(UTILS_SRC)/version.h
demo-Xm.o: $(srcdir)/prefs.h
demo-Xm.o: $(UTILS_SRC)/resources.h
demo-Xm.o: $(UTILS_SRC)/visual.h
demo-Xm.o: $(srcdir)/remote.h
demo-Xm.o: $(UTILS_SRC)/usleep.h
demo-Xm.o: XScreenSaver_ad.h
demo-Xm-widgets.o: ../config.h
demo-Gtk.o: ../config.h
demo-Gtk.o: $(UTILS_SRC)/version.h
demo-Gtk.o: $(srcdir)/prefs.h
demo-Gtk.o: $(UTILS_SRC)/resources.h
demo-Gtk.o: $(UTILS_SRC)/visual.h
demo-Gtk.o: $(srcdir)/remote.h
demo-Gtk.o: $(UTILS_SRC)/usleep.h
demo-Gtk.o: $(srcdir)/demo-Gtk-widgets.h
demo-Gtk.o: XScreenSaver_ad.h
demo-Gtk-widgets.o: ../config.h
demo-Gtk-widgets.o: $(srcdir)/demo-Gtk-stubs.h
demo-Gtk-widgets.o: $(srcdir)/demo-Gtk-widgets.h
passwd-pwent.o: ../config.h
lock.o: ../config.h
lock.o: $(srcdir)/xscreensaver.h
lock.o: $(srcdir)/prefs.h
lock.o: $(UTILS_SRC)/resources.h
passwd.o: ../config.h
prefs.o: ../config.h
prefs.o: $(srcdir)/prefs.h
prefs.o: $(UTILS_SRC)/resources.h
remote.o: ../config.h
remote.o: $(srcdir)/remote.h
xscreensaver-command.o: ../config.h
xscreensaver-command.o: $(srcdir)/remote.h
xscreensaver-command.o: $(UTILS_SRC)/version.h
test-passwd.o: ../config.h
test-passwd.o: $(srcdir)/xscreensaver.h
test-passwd.o: $(srcdir)/prefs.h
test-passwd.o: $(UTILS_SRC)/resources.h
test-passwd.o: $(UTILS_SRC)/version.h
test-passwd.o: $(UTILS_SRC)/visual.h
test-passwd.o: XScreenSaver_ad.h
test-uid.o: ../config.h
test-xdpms.o: ../config.h
test-grab.o: ../config.h
test-apm.o: ../config.h

