/**/# Imakefile file for xscreensaver, Copyright (c) 1992 Jamie Zawinski.
#
#  If you have the XIdle extension installed, add -DHAVE_XIDLE to $(DEFINES).
#  XIdle comes on the X11r5 contrib tape, in .../contrib/extensions/xidle/.
#  Installing it is the morally superior thing to do, but xscreensaver will
#  work without it.
#
#  If your system doesn't have the select() system call, then you need to
#  add -DNO_SELECT to $(DEFINES).

#        DEFINES = -DHAVE_XIDLE
EXTRA_LIBRARIES = $(XMULIB) $(XTOOLLIB) $(EXTENSIONLIB) $(XLIB) -lm
          SRCS1 = xscreensaver.c resources.c fade.c
          OBJS1 = xscreensaver.o resources.o fade.o
          SRCS2 = xscreensaver-command.c
          OBJS2 = xscreensaver-command.o
          HACKS = attraction.c greynetic.c helix.c hopalong.c xroger.c \
                  noseguy.c noses pyro.c qix.c rocks.c rorschach.c blitspin.c \
                  imsmap.c
          UTILS = screenhack.c screenhack.h hsv.c usleep.c vroot.h \
                  spline.c spline.h ad2c xlock.h
            MEN = xscreensaver.man xscreensaver-command.man \
                  attraction.man greynetic.man helix.man hopalong.man \
                  noseguy.man pyro.man xroger.man qix.man rocks.man \
                  rorschach.man blitspin.man imsmap.man
       TARFILES = README Imakefile XScreenSaver.ad version.h \
                  $(SRCS1) $(SRCS2) $(UTILS) $(HACKS) $(MEN)
            TAR = gnutar

all:: xscreensaver xscreensaver-command
tar:: xsaver.tar.Z
uu::  xsaver.tar.Z.uu

PROGRAMS = xscreensaver xscreensaver-command

ComplexProgramTarget_1(xscreensaver,,)
ComplexProgramTarget_2(xscreensaver-command,,)
InstallAppDefaults(XScreenSaver)

xscreensaver.o: XScreenSaver.ad.h version.h

XScreenSaver.ad.h: XScreenSaver.ad
	./ad2c XScreenSaver.ad > XScreenSaver.ad.h

clean::
	$(RM) XScreenSaver.ad.h

#define	ScreenhackTarget(p,deps)					@@\
all:: p									@@\
PROGRAMS += p								@@\
p: deps p.o $(DEPLIBS)							@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) deps p.o $(LDLIBS) $(EXTRA_LOAD_FLAGS) @@\
									@@\
InstallProgram(p,$(BINDIR))						@@\
InstallManPage(p,$(MANDIR))

HOBJS=screenhack.o resources.o usleep.o

ScreenhackTarget (qix, $(HOBJS) hsv.o)
ScreenhackTarget (helix, $(HOBJS) hsv.o)
ScreenhackTarget (pyro, $(HOBJS) hsv.o)
ScreenhackTarget (attraction, $(HOBJS) hsv.o spline.o)
ScreenhackTarget (rorschach, $(HOBJS) hsv.o)
ScreenhackTarget (hopalong, $(HOBJS) hsv.o)
ScreenhackTarget (xroger, $(HOBJS) hsv.o)
ScreenhackTarget (rocks, $(HOBJS))
ScreenhackTarget (noseguy, $(HOBJS))
ScreenhackTarget (blitspin, $(HOBJS))
ScreenhackTarget (greynetic, $(HOBJS))
ScreenhackTarget (imsmap, $(HOBJS) hsv.o)

xsaver.tar: $(TARFILES)
	$(TAR) -chf $@ $(TARFILES)
xsaver.tar.Z: $(TARFILES)
	$(TAR) -chf - $(TARFILES) | compress > $@
xsaver.tar.Z.uu: $(TARFILES)
	$(TAR) -chf - $(TARFILES) | compress | uuencode $(@:.uu=) > $@
