XCOMM @(#)Imakefile	23.9 91/09/27
XCOMM Imakefile - xlock
XCOMM

XCOMM      *** BEGIN XPM CONFIG SECTION ***

XCOMM Only the image.c mode uses this.
XCOMM If your system has libXpm, remove the 'XCOMM ' from the next line.
XCOMM #define XpmLibrary

#ifdef XpmLibrary
          XPMDEF = -DHAS_XPM

XCOMM If you get an error "Cannot find xpm.h" while compiling, set
XCOMM XPMINC to the directory X11/xpm.h is in.  If your xpm.h is not
XCOMM in a X11 directory edit image.c to reflect this.  Below is a guess.
          XPMINC = -I/usr/local/include

XCOMM If you get an error "Connot find libXpm" while linking, set XPMLIBPATH
XCOMM to the directory libXpm.* is in.  Below is a guess.
          XPMLIB = -L/usr/local/lib -lXpm

#endif

XCOMM      *** END XPM CONFIG SECTION ***

      BITMAPDIR = ./bitmaps
      PIXMAPDIR = ./pixmaps

#ifndef __QNX__
#ifndef MathLibrary
#define MathLibrary -lm
#endif
#else
#define MathLibrary
      PASSWDDEF = -DHAS_SHADOW -Dlinux
      PASSWDLIB = -l/src/util/Lib/util
#endif

XCOMM DCE authentication (tested only on HP's)
XCOMM      PASSWDDEF = -DDCE_PASSWD
XCOMM      PASSWDINC = -I/usr/include/reentrant
XCOMM      PASSWDLIB = -ldce -lc_r

#ifdef UltrixArchitecture
EXTRA_LIBRARIES = -lauth
#endif

#ifdef SunArchitecture
#if SystemV4
      PASSWDDEF = -DSOLARIS_SHADOW

XCOMM Solaris may not have its own correct OSMinorVersion
XCOMM compare with uname -a, correct if wrong at /usr/openwin/lib/config/sun.cf
XCOMM If just using gcc, you may want to remove -xF references in sun.cf and
XCOMM Imake.tmpl if you get a
XCOMM cc: language F not recognized

XCOMM If SunOS 5.2 or less, do not have nanosleep
#if OSMajorVersion > 5 || (OSMajorVersion == 5 && OSMinorVersion > 2)
       SLEEPDEF = -DHAS_NANOSLEEP
EXTRA_LIBRARIES += -lposix4 -lthread
#else
EXTRA_LIBRARIES = -lnsl -lposix4
#endif
     PIXMAPTYPE = sol
#else
       SLEEPDEF = -DHAS_USLEEP
#if HasShadowPasswd
XCOMM        PASSWDDEF = -DSUNOS_ADJUNCT_PASSWD
      PASSWDDEF = -DHAS_SHADOW
#endif
     PIXMAPTYPE = sun
#endif
     BITMAPTYPE = sun
#else 
#if HasShadowPasswd
      PASSWDDEF = -DHAS_SHADOW
      PASSWDLIB = -lshadow
#endif
#if defined(HPArchitecture) || defined(ApolloArchitecture)
#ifdef HPArchitecture
XCOMM If your site is using Secured Passwords,
XCOMM     PASSWDDEF = -DHPUX_SECURE_PASSWD
XCOMM If your site is using Passwd Etc,
XCOMM     PASSWDDEF = -DHP_PASSWDETC
XCOMM     PASSWDLIB = -lrgy -lnck -lndbm
      CCOPTIONS = -Aa
      SYSTEMDEF = -D_HPUX_SOURCE -DSYSV
#else
       SLEEPDEF = -DHAS_USLEEP
#endif
EXTRA_LIBRARIES = -lXhp11
     BITMAPTYPE = hp
     PIXMAPTYPE = hp
#else
#if defined(FreeBSDArchitecture) || defined(NetBSDArchitecture) || defined(i386BsdArchitecture)
       SLEEPDEF = -DHAS_USLEEP
     BITMAPTYPE = bsd
     PIXMAPTYPE = bsd
#else
#ifdef LinuxArchitecture
       SLEEPDEF = -DHAS_USLEEP
     BITMAPTYPE = linux
     PIXMAPTYPE = linux
#if HasShadowPasswd
EXTRA_LIBRARIES = -lgdbm
#endif
#else
#ifdef SGIArchitecture
     BITMAPTYPE = sgi
     PIXMAPTYPE = sgi
#else
#ifdef AIXArchitecture
     BITMAPTYPE = x11
     PIXMAPTYPE = x11
XCOMM If AIX 3.1 or less, do not have struct passwd and other things
#if OSMajorVersion < 3 || (OSMajorVersion == 3 && OSMinorVersion < 2)
      SYSTEMDEF = -DLESS_THAN_AIX3_2
#endif
XCOMM Use this if your site is using AFS:
XCOMM       PASSWDDEF = -DAFS
XCOMM       PASSWDINC = -I/usr/afsws/include
XCOMM       PASSWDLIB = -L/usr/afsws/lib -L/usr/afsws/lib/afs -lkauth -lubik -lprot -lrxkad -lrx -llwp -lauth -lsys -ldes -lcmd -lcom_err /usr/afsws/lib/afs/util.a
XCOMM You may need this one too.
XCOMM EXTRA_LIBRARIES = -laudit
#else
XCOMM Use this if your site is using OSF Enhanced Security:
XCOMM       PASSWDDEF = -DOSF1_ENH_SEC
XCOMM       PASSWDLIB = -lsecurity
     BITMAPTYPE = x11
     PIXMAPTYPE = x11
#endif
#endif
#endif
#endif
#endif
#endif

XCOMM  -DALWAYS_ALLOW_ROOT  users can't turn off allowroot
XCOMM
XCOMM For personal use you may want to consider:
XCOMM  -DUSE_XLOCKRC        paranoid admin or unknown shadow passwd alg
XCOMM
XCOMM For labs you may want to consider:
XCOMM  -DAUTO_LOGOUT        enable auto-logout code
XCOMM  -DLOGOUT_BUTTON      enable logout button
XCOMM  -DCLOSEDOWN_LOGOUT   use with above two if using xdm
XCOMM  -DLO_BUTTON_TIME=5   minutes until logout button appears
XCOMM  -DSTAFF_FILE=\"/etc/xlock.staff\"  file of staff who are exempt

XCOMM May have to combine in one long line if "+=" does not work
        OPTDEF = -DALWAYS_ALLOW_ROOT
XCOMM        OPTDEF += -DOLD_EVENT_LOOP
XCOMM        0PTDEF += -DUSE_XLOCKRC
XCOMM        OPTDEF += -DAUTO_LOGOUT
XCOMM        OPTDEF += -DLOGOUT_BUTTON -DLO_BUTTON_TIME=5
XCOMM        OPTDEF += -DCLOSEDOWN_LOGOUT
XCOMM        OPTDEF += -DSTAFF_FILE=\"/etc/xlock.staff\"

XCOMM Here is your chance to override the default icon:
     LIFEBITMAP = $(BITMAPTYPE)
     MAZEBITMAP = $(BITMAPTYPE)
    IMAGEBITMAP = $(BITMAPTYPE)
    IMAGEPIXMAP = $(PIXMAPTYPE)

        DEFINES = -DDEF_FILESEARCHPATH=\"$(LIBDIR)/%T/%N%S\" -DUSE_VROOT \
$(SYSTEMDEF) $(SLEEPDEF) $(OPTDEF) $(PASSWDDEF) $(XPMDEF)\
$(PASSWDINC) $(XPMINC)
		
        DEPLIBS = $(DEPXLIB)
LOCAL_LIBRARIES = $(XLIB) $(XPMLIB)
       LINTLIBS = $(LINTXLIB)
#if HasLibCrypt
       CRYPTLIB = -lcrypt
#endif
  SYS_LIBRARIES = MathLibrary $(CRYPTLIB) $(PASSWDLIB)
#if defined(FreeBSDArchitecture) || defined(NetBSDArchitecture)
   INSTPGMFLAGS = -s -m 4751
#endif
           HDRS = xlock.h mode.h vroot.h
           SRCS = xlock.c passwd.c resource.c utils.c logout.c mode.c\
		ant.c bat.c blot.c bounce.c braid.c bug.c\
		clock.c demon.c flame.c forest.c\
		galaxy.c geometry.c grav.c helix.c hop.c hyper.c\
		image.c kaleid.c laser.c life.c life1d.c life3d.c\
		maze.c mountain.c pedal.c pyro.c\
		qix.c rect.c rock.c rotor.c\
		sphere.c spiral.c spline.c swarm.c\
		wator.c world.c worm.c\
		swirl.c nose.c blank.c random.c
           OBJS = xlock.o passwd.o resource.o utils.o logout.o mode.o\
		ant.o bat.o blot.o bounce.o braid.o bug.o\
		clock.o demon.o flame.o forest.o\
		galaxy.o geometry.o grav.o helix.o hop.o hyper.o\
		image.o kaleid.o laser.o life.o life1d.o life3d.o\
		maze.o mountain.o pedal.o pyro.o\
		qix.o rect.o rock.o rotor.o\
		sphere.o spiral.o spline.o swarm.o\
		wator.o world.o worm.o\
		swirl.o nose.o blank.o random.o

AllTarget(xlock)
#ifdef XpmLibrary
depend:: life.xbm maze.xbm image.xbm image.xpm
#else
depend:: life.xbm maze.xbm image.xbm
#endif
ComplexProgramTarget(xlock)
InstallAppDefaults(XLock)
InstallManPage(xlock,$(MANDIR))

clean::
	$(RM) life.xbm maze.xbm image.xbm image.xpm

clean.all::	clean
	$(RM) Makefile

#if ProjectX < 6
life.c: life.xbm
maze.c: maze.xbm
#ifdef XpmLibrary
image.c: image.xbm image.xpm
#else
image.c: image.xbm
#endif
#endif

life.xbm:
	$(RM) life.xbm
	$(LN) ${BITMAPDIR}/life-$(LIFEBITMAP).xbm life.xbm

maze.xbm:
	$(RM) maze.xbm
	$(LN) ${BITMAPDIR}/maze-$(MAZEBITMAP).xbm maze.xbm

image.xbm:
	$(RM) image.xbm
	$(LN) ${BITMAPDIR}/image-$(IMAGEBITMAP).xbm image.xbm

#ifdef XpmLibrary
image.xpm:
	$(RM) image.xpm
	$(LN) ${PIXMAPDIR}/image-$(IMAGEPIXMAP).xpm image.xpm
#endif
