#ifndef XCOMM
#define XCOMM /**/#
#endif
XCOMM @(#)Imakefile	4.02 97/03/27 xlockmore
XCOMM

N=
C=.c
XCOMM C++
XCOMM C=.cc
O=.o
XCOMM VMS
XCOMM O=.obj
S=$(N) $(N)
XCOMM VMS
XCOMM S=,
E=
XCOMM VMS
XCOMM E=.exe

XCOMM please define
XCOMM C as the C source code extension
XCOMM O as the object extension
XCOMM S as the separator for object code
XCOMM E as the executable extension

LN_S = $(LN)

XCOMM CC = cc
XCOMM CC = acc
XCOMM CC = gcc -Wall
XCOMM CC = g++ -Wall

XCOMM      *** BEGIN XPM CONFIG SECTION ***

XCOMM Only the image.c and bat.c modes use this.
XCOMM If your system has libXpm, remove the 'XCOMM ' from the next line.
XCOMM #define XpmLibrary

#ifdef XpmLibrary
          XPMDEF = -DUSE_XPM
XCOMM Use the following if your xpm.h file is not in an X11 directory
XCOMM     XPMDEF = -DUSE_XPMINC

XCOMM If you get an error "Cannot find xpm.h" while compiling, set
XCOMM XPMINC to the directory X11/xpm.h is in.  Below is a guess.
          XPMINC = -I/usr/local/include
XCOMM SGI's ViewKit (use with -DUSE_XPMINC)
XCOMM     XPMINC = -I/usr/include/Vk

XCOMM If you get an error "Cannot 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 ***

XCOMM      *** BEGIN XM CONFIG SECTION ***
 
XCOMM Only options.c and xmlock.c uses Motif.
XCOMM You must copy it out of the hackers directory.
XCOMM It is there because it is experimental. 
XCOMM If your system has libXm, remove the 'XCOMM ' from the next line.
XCOMM #define XmLibrary
 
#ifdef XmLibrary
XCOMM If its not with your X11 stuff you should set the following
XCOMM       MOTIFHOME = /usr/local
XCOMM       MOTIFHOME = /usr/dt
 
XCOMM If you get an error "Cannot find Xm/PanedW.h" while compiling, set
XCOMM XMINC to the directory Xm/PanedW.h is in.  Below is a guess.
XCOMM           XMINC = -I$(MOTIFHOME)/include
 
XCOMM If you get an error "Cannot find libXm" while linking, set XMLIBPATH
XCOMM to the directory libXm.* is in.  Below is a guess.
XCOMM           XMLIB = -L$(MOTIFHOME)/lib -lXm
           XMLIB = -lXm
 
XCOMM Debugging with editres
XCOMM     EDITRESDEF = -DUSE_XMU
XCOMM     EDITRESLIB = -lXmu
#endif
 
XCOMM      *** END XM CONFIG SECTION ***

XCOMM      *** BEGIN MESAGL CONFIG SECTION ***

XCOMM gears, morph3d, pipes, superquadrics, sproingies modes use this.
XCOMM If your system has libMesaGL & widgets,
XCOMM remove the 'XCOMM ' from the next line.
XCOMM #define GLLibrary

#ifdef GLLibrary
          GLDEF = -DUSE_GL

XCOMM If you get an error "Cannot find GL/xmesa.h" while compiling, set
XCOMM GLINC to the directory GL/xmesa.h is in.
          GLINC = -I/usr/local/include

XCOMM If you get an error "Cannot find libMesaGL" while linking, set GLLIBPATH
XCOMM to the directory libMesaGL.* is in.  Below is a guess.
          GLLIB = -L/usr/local/lib -lMesaGL -lMesaGLU
XCOMM On SGI
XCOMM          GLLIB = -L/usr/local/lib -lGL -lGLU
XCOMM Also need to comment out all sections of '#include <GL/mesa.h>'
#endif

XCOMM      *** END MESAGL CONFIG SECTION ***

XCOMM      *** BEGIN CDE DT CONFIG SECTION ***
 
XCOMM COMMON DESKTOP ENVIRONMENT
XCOMM if your system has libDtSvc, remove the 'XCOMM ' from the next line
XCOMM #define DtSaverLibrary

#ifdef DtSaverLibrary
DTSAVERDEF = -DUSE_DTSAVER
DTSAVERINC = -I/usr/dt/include
DTSAVERLIB = -L/usr/dt/lib -lDtSvc
#endif

XCOMM      *** END CDE DT CONFIG SECTION ***

XCOMM      *** BEGIN SOUND CONFIG SECTION ***
 
XCOMM Only xlock.c and resource.c use this
XCOMM if your system has these sound libraries, remove the 'XCOMM '
XCOMM #define RplayLibrary
XCOMM #define NasLibrary

#ifdef RplayLibrary
SOUNDDEF = -DUSE_RPLAY
SOUNDINC = -I/usr/local/include
#SOUNDLIB = -L/share/lib -lrplay
SOUNDLIB = -L/usr/local/lib -lrplay
#endif

#ifdef NasLibrary
SOUNDDEF = -DUSE_NAS
SOUNDINC = -I/usr/X11R6/include
SOUNDLIB = -L/usr/X11R6/lib -laudio
#endif

XCOMM system play (optional software)
XCOMM SUNOS 4.1.3
XCOMM DEF_PLAY = "/usr/demo/SOUND/play /usr/local/share/sounds/xlock/"
XCOMM IRIX 5.3
XCOMM DEF_PLAY = "/usr/sbin/sfplay /usr/local/share/sounds/xlock/"
XCOMM Digital Unix with Multimedia Services installed:
XCOMM DEF_PLAY = "/usr/bin/mme/decsound -play /usr/local/share/sounds/xlock/"
XCOMM LINUX and others (see config directory)
XCOMM DEF_PLAY = "/usr/local/bin/play.sh /usr/local/share/sounds/xlock/"
XCOMM Uncomment line below if you have one of the above
XCOMM SOUNDDEF = -DDEF_PLAY=\"$(DEF_PLAY)\"

XCOMM      *** END SOUND CONFIG SECTION ***

XCOMM      *** BEGIN RNG CONFIG SECTION ***

XCOMM Uncomment to use your system's Random Number Generator
XCOMM They usually come in 3 types

XCOMM Uncomment to use high-precision (but expensive) RNG
XCOMM SRANDDEF = -DSRAND=srand48
XCOMM LRANDDEF = -DLRAND=lrand48

XCOMM SRANDDEF = -DSRAND=srandom
XCOMM LRANDDEF = -DLRAND=random

XCOMM Least desirable RNG
XCOMM SRANDDEF = -DSRAND=srand
XCOMM LRANDDEF = -DLRAND=rand

XCOMM Normally use the above with (default)
XCOMM MAXRANDDEF = -DMAXRAND=2147483648.0
XCOMM Use the following if using srand/rand and NOT AIXV3
XCOMM MAXRANDDEF = -DMAXRAND=32767.0
RANDDEF = $(SRANDDEF) $(LRANDDEF) $(MAXRANDDEF)

XCOMM      *** END RNG CONFIG SECTION ***

XCOMM      *** BEGIN EXTRA MODES CONFIG SECTION ***

XCOMM Uncomment to use sproingies mode.  It may be slow on certain machines.

XCOMM #define Sproingies
#ifdef Sproingies
XCOMM If you only want some of these you must remove the ones you do
XCOMM not want from mode.c and mode.h and from SRC2 and OBJ2 below.
SPROINGIEDEF = -DUSE_SPROINGIES
#endif

XCOMM Uncomment to use hackers modes.  It may make xlock unstable.
XCOMM Please do not uncomment for precompiled distributions.
XCOMM #define Hackers

#ifdef Hackers
XCOMM If you only want some of these you must remove the ones you do
XCOMM not want from mode.c and mode.h and from SRC2 and OBJ2 below.
HACKERDEF = -DUSE_HACKERS
#endif

XCOMM      *** END EXTRA MODES CONFIG SECTION ***

      BITMAPDIR = ./bitmaps/
      PIXMAPDIR = ./pixmaps/
      FLAGDIR = ./flags/
      CONFIGDIR = ./config/
      HACKERDIR = ./hackers/
      SPROINGIEDIR = ./sproingies/

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

XCOMM KERBEROS
XCOMM   Kerberbos ver. 4
XCOMM      PASSWDDEF = -DHAVE_KRB4
XCOMM      PASSWDINC = -I/usr/athena/include
XCOMM      PASSWDLIB = -L/usr/athena/lib -lkrb -ldes -lresolv
XCOMM
XCOMM   Kerberos ver. 5  (good with b6)
XCOMM      PASSWDDEF = -DHAVE_KRB5
XCOMM      PASSWDINC = -I/opt/krb5/include
XCOMM      PASSWDLIB = -L/opt/krb5/lib -lkrb5 -lcrypto -lcom_err

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
       FLAGTYPE = ultrix
#endif

#ifdef SunArchitecture
#if SystemV4
         HOSTOS = -DSOLARIS2
XCOMM imake is usually not set up right here.
XCOMM Assume shadowing... usually correct.
XCOMM #if HasShadowPasswd
XCOMM       PASSWDDEF = -DHAVE_SHADOW
XCOMM #endif
      PASSWDDEF = -DHAVE_SHADOW
XCOMM       SLEEPDEF = -DHAVE_NAONOSLEEP

XCOMM Problems finding libXext.so.0 when sticky bit is set
EXTRA_LDOPTIONS = -R/usr/lib:/usr/openwin/lib:/usr/dt/lib:/usr/local/lib

     PIXMAPTYPE = sol
       FLAGTYPE = sol
#else
         HOSTOS = -DSUNOS4
       SLEEPDEF = -DHAVE_USLEEP
#if HasShadowPasswd
XCOMM        PASSWDDEF = -DSUNOS_ADJUNCT_PASSWD
      PASSWDDEF = -DHAVE_SHADOW
#endif
     PIXMAPTYPE = sun
       FLAGTYPE = sun
#endif
     BITMAPTYPE = sun
#else 
#if HasShadowPasswd
      PASSWDDEF = -DHAVE_SHADOW
XCOMM   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
XCOMM     PASSWDLIB = -lrgy -lnck -lndbm -lsec
      CCOPTIONS = -Aa
      SYSTEMDEF = -D_HPUX_SOURCE -DSYSV
#else
       SLEEPDEF = -DHAVE_USLEEP
#endif
EXTRA_LIBRARIES = -lXhp11
     BITMAPTYPE = hp
     PIXMAPTYPE = hp
       FLAGTYPE = hp
#else
#ifdef i386SVR4Architecture
EXTRA_LIBRARIES = -lsocket -lnsl -lgen
      PASSWDDEF = -DHAVE_SHADOW
     BITMAPTYPE = x11
     PIXMAPTYPE = x11
       FLAGTYPE = sysv
#else
#if defined(FreeBSDArchitecture) || defined(NetBSDArchitecture) || defined(i386BsdArchitecture)
       SLEEPDEF = -DHAVE_USLEEP
     BITMAPTYPE = bsd
     PIXMAPTYPE = bsd
#if defined(FreeBSDArchitecture)
       FLAGTYPE = freebsd
#else
       FLAGTYPE = bsd
#endif
#else
#ifdef LinuxArchitecture
       SLEEPDEF = -DHAVE_USLEEP
     BITMAPTYPE = linux
     PIXMAPTYPE = linux
       FLAGTYPE = linux
#if HasShadowPasswd && !UseElfFormat
EXTRA_LIBRARIES = -lgdbm
#endif
#else
#ifdef SGIArchitecture
     BITMAPTYPE = sgi
     PIXMAPTYPE = sgi
       FLAGTYPE = sgi
      SYSTEMDEF = -D_SGI_SOURCE
#else
#ifdef AIXArchitecture
     BITMAPTYPE = x11
     PIXMAPTYPE = x11
       FLAGTYPE = aix
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
XCOMM INSTPGMFLAGS = -g auth -m 2111
     BITMAPTYPE = x11
     PIXMAPTYPE = x11
       FLAGTYPE = unix
#endif
#endif
#endif
#endif
#endif
#endif
#endif

XCOMM  -DUSE_VROOT          Allows xlock to run in root window (some
XCOMM                       window managers have problems)
XCOMM  -DALWAYS_ALLOW_ROOT  Users can not turn off allowroot
XCOMM  -DUSE_SYSLOG         Paranoid administrator option (a check is also
XCOMM                       done to see if you have it)
XCOMM  -DUSE_MULTIPLE_ROOT  Multiple root users ... security?
XCOMM  -DUSE_MOUSE_MOTION   Password screen displayed with mouse motion
XCOMM  -DUSE_OLD_EVENT_LOOP Some machines may still need this (fd_set
XCOMM                       errors may be a sign)
XCOMM  -DUSE_VMSUTILS       This patches up old __VMS_VER < 70000000
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  -DUSE_AUTO_LOGOUT=240  Enable auto-logout and set deadline (minutes)
XCOMM  -DDEF_AUTO_LOGOUT=\"120\" Set default auto-logout deadline (minutes)
XCOMM  -DUSE_BUTTON_LOGOUT=10 Enable logout button and set when to appear (min) 
XCOMM  -DDEF_BUTTON_LOGOUT=\"5\" Set default logout button (min) 
XCOMM  -DUSE_BOMB           Enable automatic logout mode (does not come up
XCOMM                       in random mode)
XCOMM  -DCLOSEDOWN_LOGOUT   Use with USE_AUTO_LOGOUT, USE_LOGOUT_BUTTON,
XCOMM                       USE_BOMB if using xdm
XCOMM  -DSESSION_LOGOUT     Alternate of above
XCOMM  -DSTAFF_FILE=\"/etc/xlock.staff\"  File of staff who are exempt
XCOMM  -DSTAFF_NETGROUP=\"/etc/xlock.netgroup\"  Netgroup that is exempt

XCOMM May have to combine in one long line if "+=" does not work
        OPTDEF = -DUSE_VROOT -DALWAYS_ALLOW_ROOT -DUSE_BOMB
XCOMM        OPTDEF += -DUSE_SYSLOG
XCOMM        OPTDEF += -DUSE_MOUSE_MOTION
XCOMM        OPTDEF += -DUSE_MULTIPLE_ROOT
XCOMM        OPTDEF += -DUSE_OLD_EVENT_LOOP
XCOMM        OPTDEF += -DUSE_XLOCKRC
XCOMM        OPTDEF += -DUSE_AUTO_LOGOUT=240
XCOMM        OPTDEF += -DDEF_AUTO_LOGOUT=\"120\"
XCOMM        OPTDEF += -DUSE_LOGOUT_BUTTON=10
XCOMM        OPTDEF += -DDEF_LOGOUT_BUTTON=\"5\"
XCOMM        OPTDEF += -DCLOSEDOWN_LOGOUT
XCOMM        OPTDEF += -DSESSION_LOGOUT
XCOMM        OPTDEF += -DSTAFF_FILE=\"/etc/xlock.staff\"
XCOMM        OPTDEF += -DSTAFF_NETGROUP=\"/etc/xlock.netgroup\"

XCOMM Here is your chance to override the default icon:
XCOMM TINYBITMAP = $(BITMAPTYPE)
TINYBITMAP = t-x11
SMALLBITMAP = s-$(BITMAPTYPE)
MEDIUMBITMAP = m-$(BITMAPTYPE)
LARGEBITMAP = l-$(BITMAPTYPE)
MEDIUMPIXMAP = m-$(PIXMAPTYPE)
LARGEPIXMAP = l-$(PIXMAPTYPE)

XCOMM EYESBITMAP = $(MEDIUMBITMAP)
EYESBITMAP = m-grelb
IMAGEBITMAP = $(MEDIUMBITMAP)
XCOMM IMAGEBITMAP = l-bob #Slackware icon
XCOMM IMAGEBITMAP = m-xlock #XLock icon
XCOMM LIFEBITMAP = $(SMALLBITMAP)
LIFEBITMAP = s-grelb
LIFE1DBITMAP = $(TINYBITMAP)
MAZEBITMAP = $(LARGEBITMAP)
XCOMM MAZEBITMAP = m-xlock
XCOMM PACMANBITMAP = $(MEDIUMBITMAP)
PACMANBITMAP = m-ghost
XCOMM PUZZLEBITMAP = $(LARGEBITMAP)
PUZZLEBITMAP = l-xlock
XCOMM PUZZLEBITMAP = l-linux
IMAGEPIXMAP = $(MEDIUMPIXMAP)
XCOMM IMAGEPIXMAP = m-xlock
XCOMM PUZZLEPIXMAP = $(LARGEPIXMAP)
PUZZLEPIXMAP = l-xlock
XCOMM PUZZLEPIXMAP = l-linux

        DEFINES = $(HOSTOS) -DDEF_FILESEARCHPATH=\"$(LIBDIR)/%T/%N%S\" \
$(SYSTEMDEF) $(EDITRESDEF) $(SLEEPDEF) $(OPTDEF) $(RANDDEF) \
$(SPROINGIEDEF) $(HACKERDEF) \
$(PASSWDDEF) $(XMINC) $(XPMDEF) $(GLDEF) $(DTSAVERDEF) $(SOUNDDEF) \
$(PASSWDINC) $(XPMINC) $(GLINC) $(DTSAVERINC) $(SOUNDINC)

        DEPLIBS = $(DEPXLIB)
LOCAL_LIBRARIES = $(XLIB) $(XPMLIB) $(GLLIB) $(DTSAVERLIB) $(SOUNDLIB)
        GUILIBS = $(XMLIB) $(EDITRESLIB) -lXt $(XLIB) $(SMLIB) $(ICELIB)
       LINTLIBS = $(LINTXLIB)
#if HasLibCrypt
       CRYPTLIB = -lcrypt
#endif
  SYS_LIBRARIES = $(CRYPTLIB) $(PASSWDLIB) MathLibrary
#if defined(FreeBSDArchitecture) || defined(NetBSDArchitecture)
   INSTPGMFLAGS = -s -m 4751
#endif

XLOCKCOREOBJS = xlock$(O)$(S)passwd$(O)$(S)resource$(O)$(S)\
utils$(O)$(S)logout$(O)$(S)mode$(O)$(S)\
ras$(O)$(S)xbm$(O)$(S)color$(O)$(S)sound$(O)
XLOCKMODEOBJS = ant$(O)$(S)ball$(O)$(S)bat$(O)$(S)blot$(O)$(S)\
bouboule$(O)$(S)bounce$(O)$(S)braid$(O)$(S)bug$(O)$(S)clock$(O)$(S)\
daisy$(O)$(S)dclock$(O)$(S)demon$(O)$(S)drift$(O)$(S)eyes$(O)$(S)\
flag$(O)$(S)flame$(O)$(S)forest$(O)$(S)fract$(O)$(S)\
galaxy$(O)$(S)geometry$(O)$(S)grav$(O)$(S)\
helix$(O)$(S)hop$(O)$(S)hyper$(O)$(S)\
ico$(O)$(S)ifs$(O)$(S)image$(O)$(S)julia$(O)$(S)kaleid$(O)$(S)\
laser$(O)$(S)life$(O)$(S)life1d$(O)$(S)life3d$(O)$(S)\
lightning$(O)$(S)lisa$(O)$(S)lissie$(O)$(S)loop$(O)$(S)\
marquee$(O)$(S)maze$(O)$(S)mountain$(O)$(S)nose$(O)$(S)\
pacman$(O)$(S)penrose$(O)$(S)petal$(O)$(S)puzzle$(O)$(S)pyro$(O)$(S)\
qix$(O)$(S)roll$(O)$(S)rotor$(O)$(S)\
shape$(O)$(S)slip$(O)$(S)sphere$(O)$(S)spiral$(O)$(S)spline$(O)$(S)\
star$(O)$(S)strange$(O)$(S)swarm$(O)$(S)swirl$(O)$(S)\
tri$(O)$(S)triangle$(O)$(S)tube$(O)$(S)turtle$(O)$(S)\
wator$(O)$(S)wire$(O)$(S)world$(O)$(S)worm$(O)$(S)\
cartoon$(O)$(S)gears$(O)$(S)morph3d$(O)$(S)pipes$(O)$(S)superquadrics$(O)
XLOCKCOREMODEOBJS = blank$(O)$(S)bomb$(O)$(S)random$(O)
#ifdef Sproingies
XLOCKSPROINGIEOBJS = $(S)sproingies$(O)$(S)sproingiewrap$(O)$(S)\
s1_1$(O)$(S)s1_2$(O)$(S)s1_3$(O)$(S)s1_4$(O)$(S)s1_5$(O)$(S)s1_6$(O)$(S)\
s1_b$(O)
#endif
#ifdef Hackers
XLOCKHACKEROBJS = $(S)fadeplot$(O)
#endif
XLOCKOBJS = $(XLOCKCOREOBJS)$(S)$(XLOCKMODEOBJS)$(S)$(XLOCKCOREMODEOBJS)\
$(XLOCKSPROINGIEOBJS)$(XLOCKHACKEROBJS)
XMLOCKOBJS = option$(O)$(S)xmlock$(O)

BITMAPS = eyes.xbm ghost.xbm image.xbm life.xbm life1d.xbm \
maze.xbm puzzle.xbm
PIXMAPS = image.xpm puzzle.xpm
XLOCKHDRS = xlock.h mode.h vroot.h ras.h version.h
XLOCKCORESRCS = xlock$(C) passwd$(C) resource$(C) \
utils$(C) logout$(C) mode$(C) ras$(C) xbm$(C) \
color$(C) sound$(C)
XLOCKMODESRCS = ant$(C) ball$(C) bat$(C) blot$(C) \
bouboule$(C) bounce$(C) braid$(C) bug$(C) clock$(C) \
daisy$(C) dclock$(C) demon$(C) drift$(C) eyes$(C) \
flag$(C) flame$(C) forest$(C) fract$(C) \
galaxy$(C) geometry$(C) grav$(C) \
helix$(C) hop$(C) hyper$(C) \
ico$(C) ifs$(C) image$(C) julia$(C) kaleid$(C) \
laser$(C) life$(C) life1d$(C) life3d$(C) \
lightning$(C) lisa$(C) lissie$(C) loop$(C) \
marquee$(C) maze$(C) mountain$(C) nose$(C) \
pacman$(C) penrose$(C) petal$(C) puzzle$(C) pyro$(C) \
qix$(C) roll$(C) rotor$(C) \
shape$(C) slip$(C) sphere$(C) spiral$(C) spline$(C) \
star$(C) strange$(C) swarm$(C) swirl$(C) \
tri$(C) triangle$(C) tube$(C) turtle$(C) \
wator$(C) wire$(C) world$(C) worm$(C) \
cartoon$(C) gears$(C) morph3d$(C) pipes$(C) superquadrics$(C)
XLOCKCOREMODESRCS = blank$(C) bomb$(C) random$(C)
XLOCKSPROINGIESRCS = sproingies$(C) sproingiewrap$(C) \
s1_1$(C) s1_2$(C) s1_3$(C) s1_4$(C) s1_5$(C) s1_6$(C) s1_b$(C)
XLOCKHACKERSRCS = fadeplot$(C)
XLOCKSRCS = $(XLOCKCORESRCS) $(XLOCKMODESRCS) $(XLOCKCOREMODESRCS) \
$(XLOCKSPROINGIESRCS) $(XLOCKHACKERSRCS)

XMLOCKSRCS = option$(C) xmlock$(C)


AllTarget(xlock$(E))
#ifdef XpmLibrary
depend:: flag.h $(BITMAPS) $(PIXMAPS)
#else
depend:: flag.h $(BITMAPS)
#endif
NormalProgramTarget(xlock$(E), $(XLOCKOBJS), $(DEPXLIB), $(LOCAL_LIBRARIES), NullParameter)
#ifdef XmLibrary
AllTarget(xmlock$(E))
NormalProgramTarget(xmlock$(E), $(XMLOCKOBJS), $(DEPXLIB), $(GUILIBS), NullParameter)
#else
clean::
	$(RM) xmlock$(E)
#endif

DependTarget()
LintTarget()

InstallProgram(xlock$(E),$(BINDIR))
#ifdef XmLibrary
InstallProgram(xmlock$(E),$(BINDIR))
InstallAppDefaults(XmLock)
#endif
InstallAppDefaults(XLock)
InstallManPage(xlock,$(MANDIR))

clean::
	$(RM) flag.h $(BITMAPS) $(PIXMAPS) $(XLOCKSPROINGIESRCS) $(XLOCKHACKERSRCS)

distclean::	clean
	$(RM) Makefile config.status config.cache config.log config.h

clean.all:: distclean

#if ProjectX < 6
flag.c: flag.h
eyes.c: eyes.xbm
life.c: life.xbm
life1d.c: life1d.xbm
maze.c: maze.xbm
pacman.c: ghost.xbm
#ifdef XpmLibrary
image.c: image.xbm image.xpm
puzzle.c: puzzle.xbm puzzle.xpm
#else
image.c: image.xbm
puzzle.c: puzzle.xbm
#endif
#endif

flag.h:
	$(RM) flag.h ; $(LN_S) $(FLAGDIR)flag-$(FLAGTYPE).h flag.h

eyes.xbm:
	$(RM) eyes.xbm ; $(LN_S) $(BITMAPDIR)$(EYESBITMAP).xbm eyes.xbm

image.xbm:
	$(RM) image.xbm ; $(LN_S) $(BITMAPDIR)$(IMAGEBITMAP).xbm image.xbm

life.xbm:
	$(RM) life.xbm ; $(LN_S) $(BITMAPDIR)$(LIFEBITMAP).xbm life.xbm

life1d.xbm:
	$(RM) life1d.xbm ; $(LN_S) $(BITMAPDIR)$(LIFE1DBITMAP).xbm life1d.xbm

maze.xbm:
	$(RM) maze.xbm ; $(LN_S) $(BITMAPDIR)$(MAZEBITMAP).xbm maze.xbm

ghost.xbm:
	$(RM) ghost.xbm ; $(LN_S) $(BITMAPDIR)$(PACMANBITMAP).xbm ghost.xbm

puzzle.xbm:
	$(RM) puzzle.xbm ; $(LN_S) $(BITMAPDIR)$(PUZZLEBITMAP).xbm puzzle.xbm

image.xpm:
	$(RM) image.xpm ; $(LN_S) $(PIXMAPDIR)$(IMAGEPIXMAP).xpm image.xpm

puzzle.xpm:
	$(RM) puzzle.xpm ; $(LN_S) $(PIXMAPDIR)$(PUZZLEPIXMAP).xpm puzzle.xpm

sproingies$(C) : $(SPROINGIEDIR)/sproingies$(C)
	$(RM) sproingies$(C) ; $(LN_S) $(SPROINGIEDIR)/sproingies$(C) sproingies$(C)

sproingiewrap$(C) : $(SPROINGIEDIR)/sproingiewrap$(C)
	$(RM) sproingiewrap$(C) ; $(LN_S) $(SPROINGIEDIR)/sproingiewrap$(C) sproingiewrap$(C)

s1_1$(C) : $(SPROINGIEDIR)/s1_1$(C)
	$(RM) s1_1$(C) ; $(LN_S) $(SPROINGIEDIR)/s1_1$(C) s1_1$(C)

s1_2$(C) : $(SPROINGIEDIR)/s1_2$(C)
	$(RM) s1_2$(C) ; $(LN_S) $(SPROINGIEDIR)/s1_2$(C) s1_2$(C)

s1_3$(C) : $(SPROINGIEDIR)/s1_3$(C)
	$(RM) s1_3$(C) ; $(LN_S) $(SPROINGIEDIR)/s1_3$(C) s1_3$(C)

s1_4$(C) : $(SPROINGIEDIR)/s1_4$(C)
	$(RM) s1_4$(C) ; $(LN_S) $(SPROINGIEDIR)/s1_4$(C) s1_4$(C)

s1_5$(C) : $(SPROINGIEDIR)/s1_5$(C)
	$(RM) s1_5$(C) ; $(LN_S) $(SPROINGIEDIR)/s1_5$(C) s1_5$(C)

s1_6$(C) : $(SPROINGIEDIR)/s1_6$(C)
	$(RM) s1_6$(C) ; $(LN_S) $(SPROINGIEDIR)/s1_6$(C) s1_6$(C)

s1_b$(C) : $(SPROINGIEDIR)/s1_b$(C)
	$(RM) s1_b$(C) ; $(LN_S) $(SPROINGIEDIR)/s1_b$(C) s1_b$(C)

fadeplot$(C) : $(HACKERDIR)fadeplot$(C)
	$(RM) fadeplot$(C) ; $(LN_S) $(HACKERDIR)fadeplot$(C) fadeplot$(C)

VER = xlockmore
DISTVER = xlockmore-4.02
