srcdir = @srcdir@
VPATH = @srcdir@
+top_srcdir = @top_srcdir@
+top_builddir = ..
install_prefix =
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
+datadir = @datadir@
mandir = @mandir@
+libexecdir = @libexecdir@
# maybe this should be 6 (games)?
mansuffix = 1
manNdir = $(mandir)/man$(mansuffix)
-# maybe this should be 6 (games)?
-mansuffix = 1
+HACKDIR = @HACKDIR@
+HACK_CONF_DIR = @HACK_CONF_DIR@
CC = @CC@
CFLAGS = @CFLAGS@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_DIRS = @INSTALL_DIRS@
-HACKDIR = @HACKDIR@
X_CFLAGS = @X_CFLAGS@
X_LIBS = @X_LIBS@
flipflop.c antspotlight.c polytopes.c gleidescope.c \
mirrorblob.c blinkbox.c noof.c polyhedra.c polyhedra-gl.c \
antinspect.c providence.c pinion.c boing.c texfont.c \
- carousel.c
-
+ carousel.c fliptext.c antmaze.c tangram.c tangram_shapes.c \
+ crackberg.c glhanoi.c cube21.c timetunnel.c juggler3d.c
OBJS = xscreensaver-gl-helper.o normals.o glxfonts.o \
atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
flipflop.o antspotlight.o polytopes.o gleidescope.o \
mirrorblob.o blinkbox.o noof.o polyhedra.o polyhedra-gl.o \
antinspect.o providence.o pinion.o boing.o texfont.o \
- carousel.o
+ carousel.o fliptext.o antmaze.o tangram.o tangram_shapes.o \
+ crackberg.o glhanoi.o cube21.o timetunnel.o juggler3d.o
GL_EXES = cage gears moebius pipes sproingies stairs superquadrics \
morph3d rubik atlantis lament bubble3d glplanet pulsar \
glslideshow jigglypuff klein hypertorus glmatrix cubestorm \
glknots blocktube flipflop antspotlight polytopes \
gleidescope mirrorblob blinkbox noof polyhedra \
- antinspect providence pinion boing carousel
+ antinspect providence pinion boing carousel fliptext \
+ antmaze tangram crackberg glhanoi cube21 timetunnel juggler3d
GLE_EXES = extrusion
GL_UTIL_EXES = xscreensaver-gl-helper
HACK_EXES = @GL_EXES@ @GLE_EXES@
stonerview-move.h stonerview-osc.h glutstroke.h \
glut_roman.h marching.h rotator.h trackball.h gltrackball.h \
chessmodels.h chessgames.h gllist.h flurry.h tunnel_draw.h \
- ants.h polyhedra.h normals.h glxfonts.h texfont.h
+ ants.h polyhedra.h normals.h glxfonts.h texfont.h \
+ tangram_shapes.h
GL_MEN = atlantis.man boxed.man bubble3d.man cage.man circuit.man \
cubenetic.man dangerball.man engine.man extrusion.man \
flipscreen3d.man gears.man gflux.man glforestfire.man \
antspotlight.man polytopes.man gleidescope.man \
mirrorblob.man blinkbox.man noof.man polyhedra.man \
antinspect.man providence.man pinion.man boing.man \
- carousel.man
+ carousel.man fliptext.man antmaze.man tangram.man \
+ crackberg.man glhanoi.man cube21.man timetunnel.man \
+ juggler3d.man
MEN = @GL_MEN@
EXTRAS = README Makefile.in dxf2gl.pl starwars.txt
default: all
all: $(EXES)
-install: install-program install-man
-uninstall: uninstall-program uninstall-man
+install: install-program install-xml install-man
+uninstall: uninstall-program uninstall-xml uninstall-man
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
done ; \
fi
+# When installing man pages, we install "foo.man" as "foo.N" and update
+# the .TH line in the installed file with one like
+#
+# .TH XScreenSaver N "V.VV (DD-MMM-YYYY)" "X Version 11"
+#
+# where N is the manual section suffix.
+#
install-man: $(MEN)
@men="$(MEN)" ; \
- idir="$(install_prefix)$(manNdir)" ; \
- if [ ! -d $$idir ]; then \
- $(INSTALL_DIRS) $$idir ; \
+ U=$(UTILS_SRC)/version.h ; \
+ V=`sed -n 's/.*\([0-9]\.[^)]*)\).*/\1/p' < $$U` ; \
+ T=/tmp/xs$$$$.$(mansuffix) ; \
+ TH=".TH XScreenSaver $(mansuffix) \"$$V\" \"X Version 11\"" ; \
+ echo "installing man pages: $$TH" ; \
+ \
+ if [ ! -d $(install_prefix)$(manNdir) ]; then \
+ $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \
fi ; \
- for man in $$men; do \
- instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
- echo $(INSTALL_DATA) $(srcdir)/$$man $$idir/$$instname ; \
- $(INSTALL_DATA) $(srcdir)/$$man $$idir/$$instname ; \
- done
+ \
+ for man in $$men; do \
+ instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
+ sed -e "s/^\.TH.*/$$TH/" \
+ -e 's@(MANSUFFIX)@($(mansuffix))@g' \
+ < $(srcdir)/$$man > $$T ; \
+ echo $(INSTALL_DATA) $(srcdir)/$$man \
+ $(install_prefix)$(manNdir)/$$instname ; \
+ $(INSTALL_DATA) $$T \
+ $(install_prefix)$(manNdir)/$$instname ; \
+ done ; \
+ rm -f $$T
+
+install-xml:
+ @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
+ if [ ! -d $$dest ]; then \
+ $(INSTALL_DIRS) $$dest ; \
+ fi ; \
+ src=$(srcdir)/../config ; \
+ for file in $(EXES) $(SCRIPTS) ; do \
+ if [ -f $$src/$$file.xml ]; then \
+ echo $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
+ $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
+ fi ; \
+ done
# the hacks, in $HACKDIR
uninstall-program::
uninstall-man:
@men="$(MEN)" ; \
- idir="$(install_prefix)$(manNdir)" ; \
- for man in $$men; do \
- instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
- echo rm -f $$idir/$$instname ; \
- rm -f $$idir/$$instname ; \
+ for man in $$men; do \
+ instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
+ echo rm -f $(install_prefix)$(manNdir)/$$instname* ; \
+ rm -f $(install_prefix)$(manNdir)/$$instname* ; \
+ done
+
+uninstall-xml:
+ @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
+ for file in $(EXES) $(SCRIPTS) ; do \
+ echo rm -f $$dest/$$file.xml ; \
+ rm -f $$dest/$$file.xml ; \
done
clean:
klein: klein.o $(HACK_TRACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
-hypertorus: hypertorus.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+hypertorus: hypertorus.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
glmatrix: glmatrix.o xpm-ximage.o $(HACK_OBJS)
$(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_OBJS) $(XPM_LIBS)
antspotlight: antspotlight.o $(HACK_TRACK_GRAB_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
-polytopes: polytopes.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+polytopes: polytopes.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
# This one works differently (it's not xlock-like.)
#
carousel: carousel.o texfont.o $(HACK_TRACK_GRAB_OBJS)
$(CC_HACK) -o $@ $@.o texfont.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
+fliptext: fliptext.o texfont.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o texfont.o $(HACK_OBJS) $(HACK_LIBS)
+
+antmaze: antmaze.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+TANGRAM_OBJS=tangram_shapes.o glxfonts.o $(HACK_OBJS)
+tangram: tangram.o $(TANGRAM_OBJS)
+ $(CC_HACK) -o $@ $@.o $(TANGRAM_OBJS) $(HACK_LIBS)
+
+crackberg: crackberg.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+glhanoi: glhanoi.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+cube21: cube21.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+TIMETUNNEL_OBJS = xpm-ximage.o $(HACK_TRACK_OBJS)
+timetunnel: timetunnel.o $(TIMETUNNEL_OBJS)
+ $(CC_HACK) -o $@ $@.o $(TIMETUNNEL_OBJS) $(XPM_LIBS)
+
+juggler3d: juggler3d.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
dnalogo: dnalogo.o tube.o normals.o $(HACK_TRACK_OBJS)
$(CC_HACK) -o $@ $@.o tube.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
antinspect.o: ../../config.h
antinspect.o: $(srcdir)/gltrackball.h
+antmaze.o: $(srcdir)/ants.h
+antmaze.o: ../../config.h
+antmaze.o: $(srcdir)/gltrackball.h
+antmaze.o: $(srcdir)/rotator.h
antspotlight.o: $(srcdir)/ants.h
antspotlight.o: ../../config.h
antspotlight.o: $(srcdir)/gltrackball.h
cow_horns.o: $(srcdir)/gllist.h
cow_tail.o: $(srcdir)/gllist.h
cow_udder.o: $(srcdir)/gllist.h
+crackberg.o: ../../config.h
+cube21.o: ../../config.h
cubenetic.o: ../../config.h
cubenetic.o: $(srcdir)/gltrackball.h
cubenetic.o: $(srcdir)/rotator.h
flipscreen3d.o: ../../config.h
flipscreen3d.o: $(srcdir)/gltrackball.h
flipscreen3d.o: $(srcdir)/grab-ximage.h
+fliptext.o: ../../config.h
+fliptext.o: $(srcdir)/texfont.h
flurry.o: ../../config.h
flurry.o: $(srcdir)/flurry.h
flurry.o: $(srcdir)/gltrackball.h
glforestfire.o: $(HACK_SRC)/images/ground.xpm
glforestfire.o: $(HACK_SRC)/images/tree.xpm
glforestfire.o: $(srcdir)/xpm-ximage.h
+glhanoi.o: ../../config.h
+glhanoi.o: $(srcdir)/rotator.h
glknots.o: ../../config.h
glknots.o: $(srcdir)/gltrackball.h
glknots.o: $(srcdir)/rotator.h
glxfonts.o: $(srcdir)/glxfonts.h
grab-ximage.o: ../../config.h
hypertorus.o: ../../config.h
+hypertorus.o: $(srcdir)/gltrackball.h
jigglypuff.o: ../../config.h
jigglypuff.o: $(srcdir)/gltrackball.h
jigglypuff.o: $(HACK_SRC)/images/jigglymap.xpm
jigglypuff.o: $(srcdir)/xpm-ximage.h
+juggler3d.o: ../../config.h
+juggler3d.o: $(srcdir)/gltrackball.h
klein.o: ../../config.h
klein.o: $(srcdir)/gltrackball.h
klein.o: $(srcdir)/rotator.h
polyhedra.o: ../../config.h
polyhedra.o: $(srcdir)/polyhedra.h
polytopes.o: ../../config.h
+polytopes.o: $(srcdir)/gltrackball.h
providence.o: ../../config.h
providence.o: $(srcdir)/gltrackball.h
pulsar.o: ../../config.h
stonerview-move.o: $(srcdir)/stonerview-move.h
stonerview-move.o: $(srcdir)/stonerview-osc.h
stonerview.o: ../../config.h
+stonerview.o: $(srcdir)/stonerview-move.h
stonerview-osc.o: ../../config.h
stonerview-osc.o: $(srcdir)/stonerview-osc.h
-stonerview.o: $(srcdir)/stonerview-move.h
stonerview-view.o: ../../config.h
stonerview-view.o: $(srcdir)/stonerview-move.h
stonerview-view.o: $(srcdir)/stonerview-osc.h
superquadrics.o: ../../config.h
swim.o: $(srcdir)/atlantis.h
swim.o: ../../config.h
+tangram.o: ../../config.h
+tangram.o: $(srcdir)/glxfonts.h
+tangram.o: $(srcdir)/tangram_shapes.h
texfont.o: ../../config.h
texfont.o: $(srcdir)/texfont.h
+timetunnel.o: ../../config.h
+timetunnel.o: $(srcdir)/gltrackball.h
+timetunnel.o: $(HACK_SRC)/images/timetunnel0.xpm
+timetunnel.o: $(HACK_SRC)/images/timetunnel1.xpm
+timetunnel.o: $(HACK_SRC)/images/timetunnel2.xpm
+timetunnel.o: $(HACK_SRC)/images/tunnelstar.xpm
+timetunnel.o: $(srcdir)/rotator.h
+timetunnel.o: $(UTILS_SRC)/images/logo-180.xpm
+timetunnel.o: $(srcdir)/xpm-ximage.h
toast2.o: $(srcdir)/gllist.h
toaster_base.o: $(srcdir)/gllist.h
toaster_handle2.o: $(srcdir)/gllist.h