X_PRE_LIBS = @X_PRE_LIBS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
XMU_LIBS = @XMU_LIBS@
+XFT_LIBS = @XFT_LIBS@
# Note: see comment in ../../driver/Makefile.in for explanation of X_LIBS, etc.
#
HACK_PRE = $(LIBS) $(X_LIBS)
-HACK_POST = $(X_PRE_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS) -lm
+HACK_POST = $(X_PRE_LIBS) $(XFT_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS) -lm
HACK_POST2 = @GL_LIBS@ @HACK_LIBS@ $(HACK_POST)
-HACK_LIBS = $(HACK_PRE) $(HACK_POST2)
+HACK_LIBS = $(HACK_PRE) @ANIM_LIBS@ $(HACK_POST2)
XPM_LIBS = $(HACK_PRE) @XPM_LIBS@ $(HACK_POST2)
GLE_LIBS = $(HACK_PRE) @GLE_LIBS@ @XPM_LIBS@ $(HACK_POST2)
TEXT_LIBS = @PTY_LIBS@
INCLUDES_1 = -I. -I$(srcdir) -I$(UTILS_SRC) -I$(HACK_SRC) -I../..
INCLUDES = $(INCLUDES_1) @INCLUDES@
-UTIL_SRCS = $(UTILS_SRC)/colors.c $(UTILS_SRC)/hsv.c \
- $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
- $(UTILS_SRC)/visual.c $(UTILS_SRC)/visual-gl.c \
- $(UTILS_SRC)/yarandom.c $(UTILS_SRC)/xshm.c \
- $(UTILS_SRC)/textclient.c
-UTIL_OBJS = $(UTILS_SRC)/colors.o $(UTILS_SRC)/hsv.o \
- $(UTILS_SRC)/resources.o $(UTILS_SRC)/usleep.o \
- $(UTILS_SRC)/visual.o $(UTILS_SRC)/visual-gl.o \
- $(UTILS_SRC)/yarandom.o $(UTILS_SRC)/xshm.o \
- $(UTILS_SRC)/textclient.o
-
-SRCS = xscreensaver-gl-helper.c normals.c glxfonts.c fps-gl.c \
+UTILDIR_OBJS = $(UTILS_BIN)/colors.o $(UTILS_BIN)/grabclient.o \
+ $(UTILS_BIN)/hsv.o $(UTILS_BIN)/resources.o \
+ $(UTILS_BIN)/usleep.o $(UTILS_BIN)/visual.o \
+ $(UTILS_BIN)/xmu.o $(UTILS_BIN)/xft.o \
+ $(UTILS_BIN)/utf8wc.o $(UTILS_BIN)/logo.o \
+ $(UTILS_BIN)/minixpm.o $(UTILS_BIN)/visual-gl.o \
+ $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/xshm.o \
+ $(UTILS_BIN)/textclient.o $(UTILS_BIN)/async_netdb.o \
+ $(UTILS_BIN)/aligned_malloc.o $(UTILS_BIN)/thread_util.o \
+ $(UTILS_BIN)/spline.o
+HACKDIR_OBJS = $(HACK_SRC)/screenhack.o $(UTILS_SRC)/xlockmore.o \
+ $(HACK_SRC)/fps.o
+
+SRCS = xscreensaver-gl-helper.c normals.c fps-gl.c \
atlantis.c b_draw.c b_lockglue.c b_sphere.c bubble3d.c \
- buildlwo.c cage.c dolphin.c gears.c lament.c moebius.c \
- morph3d.c pipeobjs.c pipes.c rubik.c s1_1.c s1_2.c s1_3.c \
- s1_4.c s1_5.c s1_6.c s1_b.c shark.c sproingies.c \
+ buildlwo.c cage.c dolphin.c gears.c lament.c lament_model.c \
+ moebius.c morph3d.c pipeobjs.c pipes.c rubik.c s1_1.c s1_2.c \
+ s1_3.c s1_4.c s1_5.c s1_6.c s1_b.c shark.c sproingies.c \
sproingiewrap.c stairs.c superquadrics.c swim.c whale.c \
xlock-gl-utils.c xpm-ximage.c glplanet.c pulsar.c \
extrusion.c extrusion-helix2.c extrusion-helix3.c \
gflux.c stonerview.c stonerview-move.c stonerview-osc.c \
stonerview-view.c starwars.c glut_stroke.c glut_swidth.c \
gltext.c molecule.c dangerball.c sphere.c tube.c circuit.c \
- menger.c engine.c flipscreen3d.c font-ximage.c dnalogo.c \
+ menger.c engine.c flipscreen3d.c dnalogo.c \
grab-ximage.c glsnake.c boxed.c glforestfire.c sballs.c \
cubenetic.c spheremonics.c marching.c lavalite.c rotator.c \
trackball.c gltrackball.c queens.c endgame.c chessmodels.c \
hilbert.c companion.c companion_quad.c companion_disc.c \
companion_heart.c tronbit.c tronbit_idle1.c tronbit_idle2.c \
tronbit_no.c tronbit_yes.c jwzgles.c kaleidocycle.c \
- quasicrystal.c unknownpleasures.c
+ quasicrystal.c unknownpleasures.c geodesic.c geodesicgears.c \
+ projectiveplane.c winduprobot.c robot.c robot-wireframe.c \
+ cityflow.c romanboy.c splitflap.c splitflap_obj.c
-OBJS = xscreensaver-gl-helper.o normals.o glxfonts.o fps-gl.o \
+OBJS = xscreensaver-gl-helper.o normals.o fps-gl.o \
atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
- buildlwo.o cage.o dolphin.o gears.o lament.o moebius.o \
- morph3d.o pipeobjs.o pipes.o rubik.o s1_1.o s1_2.o s1_3.o \
- s1_4.o s1_5.o s1_6.o s1_b.o shark.o sproingies.o \
+ buildlwo.o cage.o dolphin.o gears.o lament.o lament_model.o \
+ moebius.o morph3d.o pipeobjs.o pipes.o rubik.o s1_1.o s1_2.o \
+ s1_3.o s1_4.o s1_5.o s1_6.o s1_b.o shark.o sproingies.o \
sproingiewrap.o stairs.o superquadrics.o swim.o whale.o \
xlock-gl-utils.o xpm-ximage.o glplanet.o pulsar.o \
extrusion.o extrusion-helix2.o extrusion-helix3.o \
gflux.o stonerview.o stonerview-move.o stonerview-osc.o \
stonerview-view.o starwars.o glut_stroke.o glut_swidth.o \
gltext.o molecule.o dangerball.o sphere.o tube.o circuit.o \
- menger.o engine.o flipscreen3d.o font-ximage.o dnalogo.o \
+ menger.o engine.o flipscreen3d.o dnalogo.o \
grab-ximage.o glsnake.o boxed.o glforestfire.o sballs.o \
cubenetic.o spheremonics.o marching.o lavalite.o rotator.o \
trackball.o gltrackball.o queens.o endgame.o chessmodels.o \
hilbert.o companion.o companion_quad.o companion_disc.o \
companion_heart.o tronbit.o tronbit_idle1.o tronbit_idle2.o \
tronbit_no.o tronbit_yes.o jwzgles.o kaleidocycle.o \
- quasicrystal.o unknownpleasures.o
+ quasicrystal.o unknownpleasures.o geodesic.o geodesicgears.o \
+ projectiveplane.o winduprobot.o robot.o robot-wireframe.o \
+ cityflow.o romanboy.o splitflap.o splitflap_obj.o
GL_EXES = cage gears moebius pipes sproingies stairs superquadrics \
morph3d rubik atlantis lament bubble3d glplanet pulsar \
juggler3d topblock glschool glcells voronoi moebiusgears \
lockward cubicgrid hypnowheel skytentacles jigsaw photopile \
rubikblocks surfaces hilbert companioncube tronbit \
- kaleidocycle quasicrystal unknownpleasures
+ kaleidocycle quasicrystal unknownpleasures geodesic \
+ geodesicgears projectiveplane winduprobot cityflow romanboy \
+ splitflap
GLE_EXES = extrusion
SUID_EXES = sonar
GL_UTIL_EXES = xscreensaver-gl-helper
HACK_EXES = $(HACK_EXES_1) @SUID_EXES@
XSHM_OBJS = $(UTILS_BIN)/xshm.o
GRAB_OBJS = $(UTILS_BIN)/grabclient.o grab-ximage.o $(XSHM_OBJS)
+ANIM_OBJS = recanim-gl.o
+ANIM_LIBS = @XPM_LIBS@
EXES = @GL_UTIL_EXES@ $(HACK_EXES)
RETIRED_EXES = @RETIRED_GL_EXES@
RETIRED_GL_EXES = glforestfire
-FPS_OBJS = @GLFPS_OBJS@ $(HACK_BIN)/fps.o
-FONT_OBJS = @GLFONT_OBJS@
-
-HACK_OBJS = $(JWZGLES_OBJS) $(HACK_BIN)/screenhack.o \
+FPS_OBJS = texfont.o $(HACK_BIN)/fps.o fps-gl.o @XFT_OBJS@
+HACK_OBJS = $(JWZGLES_OBJS) $(HACK_BIN)/screenhack.o @ANIM_OBJS@ \
xlockmore-gl.o xlock-gl-utils.o ${FPS_OBJS} \
$(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
$(UTILS_BIN)/visual-gl.o $(UTILS_BIN)/usleep.o \
$(UTILS_BIN)/yarandom.o $(UTILS_BIN)/hsv.o \
- $(UTILS_BIN)/colors.o
+ $(UTILS_BIN)/colors.o $(UTILS_BIN)/async_netdb.o \
+ $(UTILS_BIN)/aligned_malloc.o $(UTILS_BIN)/thread_util.o \
+ $(UTILS_BIN)/utf8wc.o
HDRS = atlantis.h bubble3d.h buildlwo.h e_textures.h xpm-ximage.h \
- grab-ximage.h font-ximage.h tube.h sphere.h boxed.h \
+ grab-ximage.h tube.h sphere.h boxed.h \
stonerview.h 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 \
+ tunnel_draw.h ants.h polyhedra.h normals.h \
texfont.h tangram_shapes.h sproingies.h extrusion.h \
glschool.h glschool_gl.h glschool_alg.h topblock.h \
involute.h teapot.h sonar.h dropshadow.h starwars.h \
- jwzgles.h jwzglesI.h teapot2.h dnapizza.h
+ jwzgles.h jwzglesI.h teapot2.h dnapizza.h curlicue.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 \
hypnowheel.man skytentacles.man sonar.man jigsaw.man \
photopile.man rubikblocks.man surfaces.man hilbert.man \
companioncube.man tronbit.man kaleidocycle.man \
- quasicrystal.man unknownpleasures.man
+ quasicrystal.man unknownpleasures.man geodesic.man \
+ geodesicgears.man projectiveplane.man winduprobot.man \
+ cityflow.man romanboy.man splitflap.man
MEN = @GL_MEN@
RETIRED_MEN = glforestfire.man
EXTRAS = README Makefile.in dxf2gl.pl vrml2gl.pl wfront2gl.pl \
- molecules.sh starwars.txt
+ molecules.sh starwars.txt zalgo.txt *.dxf
-TARFILES = $(SRCS) $(HDRS) $(MEN) $(RETIRED_MEN) $(EXTRAS)
+TARFILES = $(SRCS) $(HDRS) $(GL_MEN) $(RETIRED_MEN) $(EXTRAS)
default: all
validate_xml:
@echo "Validating XML..." ; \
- cd $(HACK_SRC) ; ./check-configs.pl $(EXES)
+ cd $(HACK_SRC) ; ./check-configs.pl $(GL_EXES) $(GLE_EXES) $(SUID_EXES)
distdepend:: check_men validate_xml
-# 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...
+# Rules for noticing when the objects from the utils and hacks
+# directories are out of date with respect to their sources, and going
+# and building them according to the rules in their own Makefile...
#
$(UTILS_BIN)/colors.o: $(UTILS_SRC)/colors.c
$(UTILS_BIN)/grabclient.o: $(UTILS_SRC)/grabclient.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)/xft.o: $(UTILS_SRC)/xft.c
+$(UTILS_BIN)/utf8wc.o: $(UTILS_SRC)/utf8wc.c
+$(UTILS_BIN)/logo.o: $(UTILS_SRC)/logo.c
+$(UTILS_BIN)/minixpm.o: $(UTILS_SRC)/minixpm.c
$(UTILS_BIN)/visual-gl.o: $(UTILS_SRC)/visual-gl.c
$(UTILS_BIN)/yarandom.o: $(UTILS_SRC)/yarandom.c
$(UTILS_BIN)/xshm.o: $(UTILS_SRC)/xshm.c
$(UTILS_BIN)/textclient.o: $(UTILS_SRC)/textclient.c
-
-$(UTIL_OBJS):
- $(MAKE) -C $(UTILS_BIN) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
-
-$(HACK_BIN)/xlockmore.o: $(HACK_SRC)/xlockmore.c
+$(UTILS_BIN)/async_netdb.o: $(UTILS_SRC)/async_netdb.c
+$(UTILS_BIN)/aligned_malloc.o: $(UTILS_SRC)/aligned_malloc.c
+$(UTILS_BIN)/thread_util.o: $(UTILS_SRC)/thread_util.c
+$(UTILS_BIN)/spline.o: $(UTILS_SRC)/spline.c
+$(HACK_BIN)/screenhack.o: $(HACK_SRC)/screenhack.c
+$(HACK_BIN)/xlockmore.o: $(HACK_SRC)/xlockmore.c
+$(HACK_BIN)/fps.o: $(HACK_SRC)/fps.c
+
+$(UTILDIR_OBJS):
+ $(MAKE) -C $(UTILS_BIN) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)"
+$(HACKDIR_OBJS):
$(MAKE) -C $(HACK_BIN) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)"
# How we build object files in this directory.
.c.o:
- $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
+ $(CC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $<
# How to build the "xscreensaver-gl-helper" program, that lets the daemon
# These hacks use a slightly-differently-compiled variant of xlockmore.c.
# This is how to make the the other .o file from it.
#
-XLM_CFLAGS=-DUSE_GL $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS)
+XLM_CFLAGS=-DUSE_GL $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS)
xlockmore-gl.o: $(HACK_SRC)/xlockmore.c
$(CC) -o $@ -c $(XLM_CFLAGS) $(HACK_SRC)/xlockmore.c
+recanim-gl.o: $(HACK_SRC)/recanim.c
+ $(CC) -o $@ -c $(XLM_CFLAGS) $(HACK_SRC)/recanim.c
CC_HACK = $(CC) $(LDFLAGS)
flurry: flurry.o $(FLURRY_OBJS)
$(CC_HACK) -o $@ $@.o $(FLURRY_OBJS) $(HACK_LIBS) -lm
-GEARS_OBJS=normals.o involute.o $(HACK_TRACK_OBJS)
+GEARS_OBJS_1=normals.o involute.o
+GEARS_OBJS=$(GEARS_OBJS_1) $(HACK_TRACK_OBJS)
gears: gears.o tube.o $(GEARS_OBJS)
$(CC_HACK) -o $@ $@.o tube.o $(GEARS_OBJS) $(HACK_LIBS)
sproingies: sproingies.o $(HACK_OBJS) $(SPROINGIES)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SPROINGIES) $(HACK_LIBS)
-LAMENTOBJS = $(HACK_TRACK_OBJS) xpm-ximage.o normals.o
+LAMENTOBJS = gllist.o lament_model.o $(HACK_TRACK_OBJS) xpm-ximage.o normals.o
lament: lament.o $(LAMENTOBJS)
$(CC_HACK) -o $@ $@.o $(LAMENTOBJS) $(XPM_LIBS)
+lament_dxf::
+ ./dxf2gl.pl --smooth --layers lament.dxf lament_model.c
+
+
B3D_OBJS = b_sphere.o b_draw.o b_lockglue.o $(HACK_OBJS)
bubble3d: bubble3d.o $(B3D_OBJS)
$(CC_HACK) -o $@ $@.o $(B3D_OBJS) $(HACK_LIBS)
gflux: gflux.o $(HACK_TRACK_GRAB_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
-SW_OBJS=starwars.o glut_stroke.o glut_swidth.o \
- $(TEXT) ${FONT_OBJS} $(HACK_OBJS)
+SW_OBJS=starwars.o glut_stroke.o glut_swidth.o $(TEXT) $(HACK_OBJS)
starwars: $(SW_OBJS)
$(CC_HACK) -o $@ $(SW_OBJS) $(HACK_LIBS) $(TEXT_LIBS)
dangerball: dangerball.o $(DB_OBJS)
$(CC_HACK) -o $@ $@.o $(DB_OBJS) $(HACK_LIBS)
-circuit: circuit.o font-ximage.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o font-ximage.o $(HACK_OBJS) $(HACK_LIBS)
+circuit: circuit.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
menger: menger.o $(HACK_TRACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
flyingtoasters: $(TOAST_OBJS)
$(CC_HACK) -o $@ $(TOAST_OBJS) $(XPM_LIBS)
+toaster_dxf::
+ @set -e ; \
+ for f in \
+ toaster.dxf \
+ toaster_base.dxf \
+ toaster_handle.dxf \
+ toaster_handle2.dxf \
+ toaster_jet.dxf \
+ toaster_knob.dxf \
+ toaster_slots.dxf \
+ toaster_wing.dxf \
+ toast.dxf \
+ toast2.dxf \
+ ; do \
+ f2=`echo $$f | sed 's/dxf$$/c/'` ; \
+ ./dxf2gl.pl --normalize --smooth $$f $$f2 ; \
+ done ; \
+
COW_OBJS=\
cow_face.o cow_hide.o cow_hoofs.o cow_horns.o cow_tail.o cow_udder.o \
bouncingcow.o gllist.o xpm-ximage.o $(HACK_TRACK_OBJS)
bouncingcow: $(COW_OBJS)
$(CC_HACK) -o $@ $(COW_OBJS) $(XPM_LIBS)
+ROBO_OBJS=\
+ robot.o robot-wireframe.o gllist.o xpm-ximage.o sphere.o \
+ winduprobot.o $(GEARS_OBJS_1) $(TEXT) $(HACK_TRACK_OBJS)
+winduprobot: $(ROBO_OBJS)
+ $(CC_HACK) -o $@ $(ROBO_OBJS) $(XPM_LIBS) $(TEXT_LIBS)
+
+winduprobot_dxf::
+ ./dxf2gl.pl --smooth --layers robot.dxf robot.c
+ ./dxf2gl.pl --wireframe robot-wireframe.dxf robot-wireframe.c
+
glslideshow: glslideshow.o $(HACK_GRAB_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_GRAB_OBJS) $(HACK_LIBS)
hypertorus: hypertorus.o $(HACK_TRACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+projectiveplane: projectiveplane.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+romanboy: romanboy.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)
boing: boing.o normals.o $(HACK_TRACK_OBJS)
$(CC_HACK) -o $@ $@.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
-carousel: carousel.o ${FONT_OBJS} $(HACK_TRACK_GRAB_OBJS)
- $(CC_HACK) -o $@ $@.o ${FONT_OBJS} $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
+carousel: carousel.o $(HACK_TRACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
-fliptext: fliptext.o $(TEXT) ${FONT_OBJS} $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(TEXT) ${FONT_OBJS} $(HACK_OBJS) $(HACK_LIBS) $(TEXT_LIBS)
+fliptext: fliptext.o $(TEXT) $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(TEXT) $(HACK_OBJS) $(HACK_LIBS) $(TEXT_LIBS)
antmaze: antmaze.o sphere.o tube.o $(HACK_TRACK_OBJS)
$(CC_HACK) -o $@ $@.o sphere.o tube.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
juggler3d: juggler3d.o $(JUGG_OBJS)
$(CC_HACK) -o $@ $@.o $(JUGG_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)
+dnalogo: dnalogo.o tube.o sphere.o normals.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o tube.o sphere.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
topblock: topblock.o sphere.o tube.o $(HACK_TRACK_OBJS)
$(CC_HACK) -o $@ $@.o sphere.o tube.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
skytentacles: skytentacles.o $(TENTACLE_OBJS)
$(CC_HACK) -o $@ $@.o $(TENTACLE_OBJS) $(XPM_LIBS)
-SONAR_OBJS=sonar-sim.o sonar-icmp.o ${FONT_OBJS} $(HACK_TRACK_OBJS)
+SONAR_OBJS=sonar-sim.o sonar-icmp.o $(HACK_TRACK_OBJS)
sonar: sonar.o $(SONAR_OBJS)
$(CC_HACK) -o $@ $@.o $(SONAR_OBJS) $(HACK_LIBS)
-JIGSAW_OBJS=normals.o $(UTILS_BIN)/spline.o \
- ${FONT_OBJS} $(HACK_TRACK_GRAB_OBJS)
+JIGSAW_OBJS=normals.o $(UTILS_BIN)/spline.o $(HACK_TRACK_GRAB_OBJS)
jigsaw: jigsaw.o $(JIGSAW_OBJS)
$(CC_HACK) -o $@ $@.o $(JIGSAW_OBJS) $(HACK_LIBS)
-PHOTOPILE_OBJS=${FONT_OBJS} dropshadow.o $(HACK_GRAB_OBJS)
+PHOTOPILE_OBJS=dropshadow.o $(HACK_GRAB_OBJS)
photopile: photopile.o $(PHOTOPILE_OBJS)
$(CC_HACK) -o $@ $@.o $(PHOTOPILE_OBJS) $(HACK_LIBS)
unknownpleasures: unknownpleasures.o $(HACK_TRACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+geodesic: geodesic.o normals.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+geodesicgears: geodesicgears.o $(GEARS_OBJS)
+ $(CC_HACK) -o $@ $@.o $(GEARS_OBJS) $(HACK_LIBS)
+
+cityflow: cityflow.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+splitflap_dxf::
+ ./dxf2gl.pl --normalize --smooth --layers splitflap.dxf splitflap_obj.c
+
+FLAP_OBJS=splitflap_obj.o gllist.o splitflap.o $(TEXT) $(HACK_TRACK_OBJS)
+splitflap: $(FLAP_OBJS)
+ $(CC_HACK) -o $@ $(FLAP_OBJS) $(XPM_LIBS) $(TEXT_LIBS)
+
##############################################################################
#
chessmodels.o: $(srcdir)/jwzglesI.h
chessmodels.o: $(srcdir)/jwzgles.h
circuit.o: ../../config.h
-circuit.o: $(srcdir)/font-ximage.h
circuit.o: $(HACK_SRC)/fps.h
circuit.o: $(srcdir)/jwzglesI.h
circuit.o: $(srcdir)/jwzgles.h
circuit.o: $(HACK_SRC)/screenhackI.h
+circuit.o: $(srcdir)/texfont.h
circuit.o: $(UTILS_SRC)/colors.h
circuit.o: $(UTILS_SRC)/grabscreen.h
circuit.o: $(UTILS_SRC)/hsv.h
circuit.o: $(UTILS_SRC)/yarandom.h
circuit.o: $(HACK_SRC)/xlockmoreI.h
circuit.o: $(HACK_SRC)/xlockmore.h
+cityflow.o: ../../config.h
+cityflow.o: $(HACK_SRC)/fps.h
+cityflow.o: $(srcdir)/gltrackball.h
+cityflow.o: $(srcdir)/jwzglesI.h
+cityflow.o: $(srcdir)/jwzgles.h
+cityflow.o: $(HACK_SRC)/screenhackI.h
+cityflow.o: $(UTILS_SRC)/colors.h
+cityflow.o: $(UTILS_SRC)/grabscreen.h
+cityflow.o: $(UTILS_SRC)/hsv.h
+cityflow.o: $(UTILS_SRC)/resources.h
+cityflow.o: $(UTILS_SRC)/usleep.h
+cityflow.o: $(UTILS_SRC)/visual.h
+cityflow.o: $(UTILS_SRC)/xshm.h
+cityflow.o: $(UTILS_SRC)/yarandom.h
+cityflow.o: $(HACK_SRC)/xlockmoreI.h
+cityflow.o: $(HACK_SRC)/xlockmore.h
companion_disc.o: ../../config.h
companion_disc.o: $(srcdir)/gllist.h
companion_disc.o: $(srcdir)/jwzglesI.h
dnalogo.o: $(srcdir)/normals.h
dnalogo.o: $(srcdir)/rotator.h
dnalogo.o: $(HACK_SRC)/screenhackI.h
+dnalogo.o: $(srcdir)/sphere.h
+dnalogo.o: $(srcdir)/texfont.h
dnalogo.o: $(srcdir)/tube.h
dnalogo.o: $(UTILS_SRC)/colors.h
dnalogo.o: $(UTILS_SRC)/grabscreen.h
dnalogo.o: $(UTILS_SRC)/hsv.h
dnalogo.o: $(UTILS_SRC)/resources.h
dnalogo.o: $(UTILS_SRC)/usleep.h
+dnalogo.o: $(UTILS_SRC)/utf8wc.h
dnalogo.o: $(UTILS_SRC)/visual.h
dnalogo.o: $(UTILS_SRC)/xshm.h
dnalogo.o: $(UTILS_SRC)/yarandom.h
engine.o: ../../config.h
engine.o: $(HACK_SRC)/fps.h
engine.o: $(srcdir)/gltrackball.h
-engine.o: $(srcdir)/glxfonts.h
engine.o: $(srcdir)/jwzglesI.h
engine.o: $(srcdir)/jwzgles.h
engine.o: $(srcdir)/rotator.h
flyingtoasters.o: $(HACK_SRC)/xlockmoreI.h
flyingtoasters.o: $(HACK_SRC)/xlockmore.h
flyingtoasters.o: $(srcdir)/xpm-ximage.h
-font-ximage.o: ../../config.h
-font-ximage.o: $(srcdir)/font-ximage.h
-font-ximage.o: $(srcdir)/jwzglesI.h
-font-ximage.o: $(srcdir)/jwzgles.h
fps-gl.o: ../../config.h
fps-gl.o: $(HACK_SRC)/fpsI.h
fps-gl.o: $(HACK_SRC)/fps.h
-fps-gl.o: $(srcdir)/glxfonts.h
fps-gl.o: $(srcdir)/jwzglesI.h
fps-gl.o: $(srcdir)/jwzgles.h
fps-gl.o: $(HACK_SRC)/screenhackI.h
gears.o: $(UTILS_SRC)/yarandom.h
gears.o: $(HACK_SRC)/xlockmoreI.h
gears.o: $(HACK_SRC)/xlockmore.h
+geodesicgears.o: ../../config.h
+geodesicgears.o: $(HACK_SRC)/fps.h
+geodesicgears.o: $(srcdir)/gllist.h
+geodesicgears.o: $(srcdir)/gltrackball.h
+geodesicgears.o: $(srcdir)/involute.h
+geodesicgears.o: $(srcdir)/jwzglesI.h
+geodesicgears.o: $(srcdir)/jwzgles.h
+geodesicgears.o: $(srcdir)/normals.h
+geodesicgears.o: $(srcdir)/rotator.h
+geodesicgears.o: $(HACK_SRC)/screenhackI.h
+geodesicgears.o: $(srcdir)/texfont.h
+geodesicgears.o: $(UTILS_SRC)/colors.h
+geodesicgears.o: $(UTILS_SRC)/grabscreen.h
+geodesicgears.o: $(UTILS_SRC)/hsv.h
+geodesicgears.o: $(UTILS_SRC)/resources.h
+geodesicgears.o: $(UTILS_SRC)/usleep.h
+geodesicgears.o: $(UTILS_SRC)/visual.h
+geodesicgears.o: $(UTILS_SRC)/xshm.h
+geodesicgears.o: $(UTILS_SRC)/yarandom.h
+geodesicgears.o: $(HACK_SRC)/xlockmoreI.h
+geodesicgears.o: $(HACK_SRC)/xlockmore.h
+geodesic.o: ../../config.h
+geodesic.o: $(HACK_SRC)/fps.h
+geodesic.o: $(srcdir)/gllist.h
+geodesic.o: $(srcdir)/gltrackball.h
+geodesic.o: $(srcdir)/jwzglesI.h
+geodesic.o: $(srcdir)/jwzgles.h
+geodesic.o: $(srcdir)/normals.h
+geodesic.o: $(srcdir)/rotator.h
+geodesic.o: $(HACK_SRC)/screenhackI.h
+geodesic.o: $(UTILS_SRC)/colors.h
+geodesic.o: $(UTILS_SRC)/grabscreen.h
+geodesic.o: $(UTILS_SRC)/hsv.h
+geodesic.o: $(UTILS_SRC)/resources.h
+geodesic.o: $(UTILS_SRC)/usleep.h
+geodesic.o: $(UTILS_SRC)/visual.h
+geodesic.o: $(UTILS_SRC)/xshm.h
+geodesic.o: $(UTILS_SRC)/yarandom.h
+geodesic.o: $(HACK_SRC)/xlockmoreI.h
+geodesic.o: $(HACK_SRC)/xlockmore.h
gflux.o: ../../config.h
gflux.o: $(HACK_SRC)/fps.h
gflux.o: $(srcdir)/gltrackball.h
glplanet.o: ../../config.h
glplanet.o: $(HACK_SRC)/fps.h
glplanet.o: $(srcdir)/gltrackball.h
+glplanet.o: $(HACK_SRC)/images/earth_night.xpm
glplanet.o: $(HACK_SRC)/images/earth.xpm
glplanet.o: $(srcdir)/jwzglesI.h
glplanet.o: $(srcdir)/jwzgles.h
glschool.o: $(HACK_SRC)/xlockmore.h
glslideshow.o: ../../config.h
glslideshow.o: $(HACK_SRC)/fps.h
-glslideshow.o: $(srcdir)/glxfonts.h
glslideshow.o: $(srcdir)/grab-ximage.h
glslideshow.o: $(srcdir)/jwzglesI.h
glslideshow.o: $(srcdir)/jwzgles.h
glslideshow.o: $(HACK_SRC)/xlockmore.h
glsnake.o: ../../config.h
glsnake.o: $(HACK_SRC)/fps.h
-glsnake.o: $(srcdir)/glxfonts.h
glsnake.o: $(srcdir)/jwzglesI.h
glsnake.o: $(srcdir)/jwzgles.h
glsnake.o: $(HACK_SRC)/screenhackI.h
gltext.o: $(UTILS_SRC)/resources.h
gltext.o: $(UTILS_SRC)/textclient.h
gltext.o: $(UTILS_SRC)/usleep.h
+gltext.o: $(UTILS_SRC)/utf8wc.h
gltext.o: $(UTILS_SRC)/visual.h
gltext.o: $(UTILS_SRC)/xshm.h
gltext.o: $(UTILS_SRC)/yarandom.h
glut_swidth.o: $(srcdir)/glutstroke.h
glut_swidth.o: $(srcdir)/jwzglesI.h
glut_swidth.o: $(srcdir)/jwzgles.h
-glxfonts.o: ../../config.h
-glxfonts.o: $(HACK_SRC)/fps.h
-glxfonts.o: $(srcdir)/glxfonts.h
-glxfonts.o: $(srcdir)/jwzglesI.h
-glxfonts.o: $(srcdir)/jwzgles.h
-glxfonts.o: $(srcdir)/texfont.h
-glxfonts.o: $(UTILS_SRC)/resources.h
grab-ximage.o: ../../config.h
grab-ximage.o: $(srcdir)/grab-ximage.h
grab-ximage.o: $(srcdir)/jwzglesI.h
juggler3d.o: ../../config.h
juggler3d.o: $(HACK_SRC)/fps.h
juggler3d.o: $(srcdir)/gltrackball.h
-juggler3d.o: $(srcdir)/glxfonts.h
juggler3d.o: $(srcdir)/jwzglesI.h
juggler3d.o: $(srcdir)/jwzgles.h
juggler3d.o: $(srcdir)/rotator.h
kaleidocycle.o: $(HACK_SRC)/xlockmoreI.h
kaleidocycle.o: $(HACK_SRC)/xlockmore.h
klein.o: ../../config.h
+klein.o: $(srcdir)/curlicue.h
klein.o: $(HACK_SRC)/fps.h
klein.o: $(srcdir)/gltrackball.h
klein.o: $(srcdir)/jwzglesI.h
klein.o: $(UTILS_SRC)/yarandom.h
klein.o: $(HACK_SRC)/xlockmoreI.h
klein.o: $(HACK_SRC)/xlockmore.h
+lament_model.o: ../../config.h
+lament_model.o: $(srcdir)/gllist.h
+lament_model.o: $(srcdir)/jwzglesI.h
+lament_model.o: $(srcdir)/jwzgles.h
lament.o: ../../config.h
lament.o: $(HACK_SRC)/fps.h
+lament.o: $(srcdir)/gllist.h
lament.o: $(srcdir)/gltrackball.h
lament.o: $(HACK_SRC)/images/lament512.xpm
lament.o: $(srcdir)/jwzglesI.h
molecule.o: ../../config.h
molecule.o: $(HACK_SRC)/fps.h
molecule.o: $(srcdir)/gltrackball.h
-molecule.o: $(srcdir)/glxfonts.h
molecule.o: $(srcdir)/jwzglesI.h
molecule.o: $(srcdir)/jwzgles.h
molecule.o: molecules.h
pinion.o: ../../config.h
pinion.o: $(HACK_SRC)/fps.h
pinion.o: $(srcdir)/gltrackball.h
-pinion.o: $(srcdir)/glxfonts.h
pinion.o: $(srcdir)/involute.h
pinion.o: $(srcdir)/jwzglesI.h
pinion.o: $(srcdir)/jwzgles.h
polyhedra-gl.o: ../../config.h
polyhedra-gl.o: $(HACK_SRC)/fps.h
polyhedra-gl.o: $(srcdir)/gltrackball.h
-polyhedra-gl.o: $(srcdir)/glxfonts.h
polyhedra-gl.o: $(srcdir)/jwzglesI.h
polyhedra-gl.o: $(srcdir)/jwzgles.h
polyhedra-gl.o: $(srcdir)/normals.h
polytopes.o: $(UTILS_SRC)/yarandom.h
polytopes.o: $(HACK_SRC)/xlockmoreI.h
polytopes.o: $(HACK_SRC)/xlockmore.h
+projectiveplane.o: ../../config.h
+projectiveplane.o: $(srcdir)/curlicue.h
+projectiveplane.o: $(HACK_SRC)/fps.h
+projectiveplane.o: $(srcdir)/gltrackball.h
+projectiveplane.o: $(srcdir)/jwzglesI.h
+projectiveplane.o: $(srcdir)/jwzgles.h
+projectiveplane.o: $(HACK_SRC)/screenhackI.h
+projectiveplane.o: $(UTILS_SRC)/colors.h
+projectiveplane.o: $(UTILS_SRC)/grabscreen.h
+projectiveplane.o: $(UTILS_SRC)/hsv.h
+projectiveplane.o: $(UTILS_SRC)/resources.h
+projectiveplane.o: $(UTILS_SRC)/usleep.h
+projectiveplane.o: $(UTILS_SRC)/visual.h
+projectiveplane.o: $(UTILS_SRC)/xshm.h
+projectiveplane.o: $(UTILS_SRC)/yarandom.h
+projectiveplane.o: $(HACK_SRC)/xlockmoreI.h
+projectiveplane.o: $(HACK_SRC)/xlockmore.h
providence.o: ../../config.h
providence.o: $(HACK_SRC)/fps.h
providence.o: $(srcdir)/gltrackball.h
queens.o: $(UTILS_SRC)/yarandom.h
queens.o: $(HACK_SRC)/xlockmoreI.h
queens.o: $(HACK_SRC)/xlockmore.h
+robot.o: ../../config.h
+robot.o: $(srcdir)/gllist.h
+robot.o: $(srcdir)/jwzglesI.h
+robot.o: $(srcdir)/jwzgles.h
+robot-wireframe.o: ../../config.h
+robot-wireframe.o: $(srcdir)/gllist.h
+robot-wireframe.o: $(srcdir)/jwzglesI.h
+robot-wireframe.o: $(srcdir)/jwzgles.h
+romanboy.o: ../../config.h
+romanboy.o: $(srcdir)/curlicue.h
+romanboy.o: $(HACK_SRC)/fps.h
+romanboy.o: $(srcdir)/gltrackball.h
+romanboy.o: $(srcdir)/jwzglesI.h
+romanboy.o: $(srcdir)/jwzgles.h
+romanboy.o: $(HACK_SRC)/screenhackI.h
+romanboy.o: $(UTILS_SRC)/colors.h
+romanboy.o: $(UTILS_SRC)/grabscreen.h
+romanboy.o: $(UTILS_SRC)/hsv.h
+romanboy.o: $(UTILS_SRC)/resources.h
+romanboy.o: $(UTILS_SRC)/usleep.h
+romanboy.o: $(UTILS_SRC)/visual.h
+romanboy.o: $(UTILS_SRC)/xshm.h
+romanboy.o: $(UTILS_SRC)/yarandom.h
+romanboy.o: $(HACK_SRC)/xlockmoreI.h
+romanboy.o: $(HACK_SRC)/xlockmore.h
rotator.o: ../../config.h
rotator.o: $(srcdir)/rotator.h
rotator.o: $(UTILS_SRC)/yarandom.h
sonar-icmp.o: $(HACK_SRC)/fps.h
sonar-icmp.o: $(HACK_SRC)/screenhackI.h
sonar-icmp.o: $(srcdir)/sonar.h
+sonar-icmp.o: $(UTILS_SRC)/aligned_malloc.h
+sonar-icmp.o: $(UTILS_SRC)/async_netdb.h
sonar-icmp.o: $(UTILS_SRC)/colors.h
sonar-icmp.o: $(UTILS_SRC)/grabscreen.h
sonar-icmp.o: $(UTILS_SRC)/hsv.h
sonar-icmp.o: $(UTILS_SRC)/resources.h
+sonar-icmp.o: $(UTILS_SRC)/thread_util.h
sonar-icmp.o: $(UTILS_SRC)/usleep.h
sonar-icmp.o: $(UTILS_SRC)/version.h
sonar-icmp.o: $(UTILS_SRC)/visual.h
sonar.o: $(HACK_SRC)/screenhackI.h
sonar.o: $(srcdir)/sonar.h
sonar.o: $(srcdir)/texfont.h
+sonar.o: $(UTILS_SRC)/aligned_malloc.h
sonar.o: $(UTILS_SRC)/colors.h
sonar.o: $(UTILS_SRC)/grabscreen.h
sonar.o: $(UTILS_SRC)/hsv.h
sonar.o: $(UTILS_SRC)/resources.h
+sonar.o: $(UTILS_SRC)/thread_util.h
sonar.o: $(UTILS_SRC)/usleep.h
sonar.o: $(UTILS_SRC)/visual.h
sonar.o: $(UTILS_SRC)/xshm.h
spheremonics.o: ../../config.h
spheremonics.o: $(HACK_SRC)/fps.h
spheremonics.o: $(srcdir)/gltrackball.h
-spheremonics.o: $(srcdir)/glxfonts.h
spheremonics.o: $(srcdir)/jwzglesI.h
spheremonics.o: $(srcdir)/jwzgles.h
spheremonics.o: $(srcdir)/normals.h
sphere.o: $(srcdir)/jwzglesI.h
sphere.o: $(srcdir)/jwzgles.h
sphere.o: $(srcdir)/sphere.h
+splitflap.o: ../../config.h
+splitflap.o: $(HACK_SRC)/fps.h
+splitflap.o: $(srcdir)/gllist.h
+splitflap.o: $(srcdir)/gltrackball.h
+splitflap.o: $(srcdir)/jwzglesI.h
+splitflap.o: $(srcdir)/jwzgles.h
+splitflap.o: $(srcdir)/rotator.h
+splitflap.o: $(HACK_SRC)/screenhackI.h
+splitflap.o: $(srcdir)/texfont.h
+splitflap.o: $(UTILS_SRC)/colors.h
+splitflap.o: $(UTILS_SRC)/grabscreen.h
+splitflap.o: $(UTILS_SRC)/hsv.h
+splitflap.o: $(UTILS_SRC)/resources.h
+splitflap.o: $(UTILS_SRC)/textclient.h
+splitflap.o: $(UTILS_SRC)/usleep.h
+splitflap.o: $(UTILS_SRC)/utf8wc.h
+splitflap.o: $(UTILS_SRC)/visual.h
+splitflap.o: $(UTILS_SRC)/xshm.h
+splitflap.o: $(UTILS_SRC)/yarandom.h
+splitflap.o: $(HACK_SRC)/xlockmoreI.h
+splitflap.o: $(HACK_SRC)/xlockmore.h
+splitflap.o: $(srcdir)/xpm-ximage.h
+splitflap_obj.o: ../../config.h
+splitflap_obj.o: $(srcdir)/gllist.h
+splitflap_obj.o: $(srcdir)/jwzglesI.h
+splitflap_obj.o: $(srcdir)/jwzgles.h
sproingies.o: ../../config.h
sproingies.o: $(HACK_SRC)/fps.h
sproingies.o: $(srcdir)/gllist.h
starwars.o: $(UTILS_SRC)/resources.h
starwars.o: $(UTILS_SRC)/textclient.h
starwars.o: $(UTILS_SRC)/usleep.h
+starwars.o: $(UTILS_SRC)/utf8wc.h
starwars.o: $(UTILS_SRC)/visual.h
starwars.o: $(UTILS_SRC)/xshm.h
starwars.o: $(UTILS_SRC)/yarandom.h
starwars.o: $(HACK_SRC)/xlockmoreI.h
starwars.o: $(HACK_SRC)/xlockmore.h
stonerview-move.o: ../../config.h
-stonerview-move.o: $(srcdir)/jwzglesI.h
-stonerview-move.o: $(srcdir)/jwzgles.h
stonerview-move.o: $(srcdir)/stonerview.h
stonerview-move.o: $(srcdir)/stonerview-move.h
stonerview-move.o: $(srcdir)/stonerview-osc.h
stonerview.o: $(HACK_SRC)/xlockmoreI.h
stonerview.o: $(HACK_SRC)/xlockmore.h
stonerview-osc.o: ../../config.h
-stonerview-osc.o: $(srcdir)/jwzglesI.h
-stonerview-osc.o: $(srcdir)/jwzgles.h
stonerview-osc.o: $(srcdir)/stonerview.h
stonerview-osc.o: $(srcdir)/stonerview-move.h
stonerview-osc.o: $(srcdir)/stonerview-osc.h
swim.o: $(HACK_SRC)/xlockmoreI.h
tangram.o: ../../config.h
tangram.o: $(HACK_SRC)/fps.h
-tangram.o: $(srcdir)/glxfonts.h
tangram.o: $(srcdir)/jwzglesI.h
tangram.o: $(srcdir)/jwzgles.h
tangram.o: $(HACK_SRC)/screenhackI.h
teapot.o: $(srcdir)/teapot2.h
teapot.o: $(srcdir)/teapot.h
texfont.o: ../../config.h
+texfont.o: $(HACK_SRC)/fps.h
texfont.o: $(srcdir)/jwzglesI.h
texfont.o: $(srcdir)/jwzgles.h
texfont.o: $(srcdir)/texfont.h
texfont.o: $(UTILS_SRC)/resources.h
+texfont.o: $(UTILS_SRC)/xft.h
+texfont.o: $(UTILS_SRC)/xshm.h
timetunnel.o: ../../config.h
timetunnel.o: $(HACK_SRC)/fps.h
timetunnel.o: $(srcdir)/gltrackball.h
whale.o: $(UTILS_SRC)/usleep.h
whale.o: $(UTILS_SRC)/visual.h
whale.o: $(UTILS_SRC)/yarandom.h
+winduprobot.o: ../../config.h
+winduprobot.o: $(HACK_SRC)/fps.h
+winduprobot.o: $(srcdir)/gllist.h
+winduprobot.o: $(srcdir)/gltrackball.h
+winduprobot.o: $(srcdir)/involute.h
+winduprobot.o: $(srcdir)/jwzglesI.h
+winduprobot.o: $(srcdir)/jwzgles.h
+winduprobot.o: $(HACK_SRC)/screenhackI.h
+winduprobot.o: $(srcdir)/sphere.h
+winduprobot.o: $(srcdir)/texfont.h
+winduprobot.o: $(UTILS_SRC)/colors.h
+winduprobot.o: $(UTILS_SRC)/grabscreen.h
+winduprobot.o: $(UTILS_SRC)/hsv.h
+winduprobot.o: $(UTILS_SRC)/resources.h
+winduprobot.o: $(UTILS_SRC)/textclient.h
+winduprobot.o: $(UTILS_SRC)/usleep.h
+winduprobot.o: $(UTILS_SRC)/visual.h
+winduprobot.o: $(UTILS_SRC)/xshm.h
+winduprobot.o: $(UTILS_SRC)/yarandom.h
+winduprobot.o: $(HACK_SRC)/xlockmoreI.h
+winduprobot.o: $(HACK_SRC)/xlockmore.h
+winduprobot.o: $(srcdir)/xpm-ximage.h
xlock-gl-utils.o: ../../config.h
xlock-gl-utils.o: $(HACK_SRC)/fps.h
-xlock-gl-utils.o: $(srcdir)/glxfonts.h
xlock-gl-utils.o: $(srcdir)/jwzglesI.h
xlock-gl-utils.o: $(srcdir)/jwzgles.h
xlock-gl-utils.o: $(HACK_SRC)/screenhackI.h