X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utils%2FMakefile.in;h=efee7f7b36c195cf6597c0c44124ac1a1a146d91;hb=14627f4038ada5d11456f3770090f3c39740d70f;hp=ef96cd5f64bb0e7a1da93f77e52c3ac8e8fc97ac;hpb=c6b273ef7292ba10943694df1656b05203d7b62f;p=xscreensaver diff --git a/utils/Makefile.in b/utils/Makefile.in index ef96cd5f..efee7f7b 100644 --- a/utils/Makefile.in +++ b/utils/Makefile.in @@ -1,6 +1,79 @@ -# utils/Makefile.in --- xscreensaver, Copyright (c) 1997 Jamie Zawinski. +# utils/Makefile.in --- xscreensaver, Copyright (c) 1997-2000 Jamie Zawinski. # the `../configure' script generates `utils/Makefile' from this file. + +# The utilities in this directory are used mostly by the demos in ../hacks/. +# The Makefile in that directory builds executables by simply referencing +# the .o files in this directory. + + +############################################################################## +# +# Some rambling about dynamic libraries follows, ignore it if you don't care +# (which is almost assuredly the case.) +# +# +# It would probably be sensible to just build a single .a file in this +# directory, and link the hacks against that (statically.) I haven't done +# that for two reasons: first, it works now, and why fix what ain't broke; +# second, it wouldn't actually improve anything for the end user (it would +# just make the Makefiles be a little smaller.) +# +# People sometimes suggest that the stuff in this directory should be in a +# dynamic library, and that the hacks should be linked dynamically against +# it. I haven't done this for a number of reasons: +# +# * First, the only thing that would improve would be disk space, in that +# the executable files themselves would be smaller. That's it. Many other +# things would get worse if we used a dynamic library: +# +# * Complication of installation procedures: suddenly, before any of the +# hacks will work, you need to have a dynamic library installed, and +# the system configured to use it. This is, basically, rocket science. +# Most people don't know how to do this, it's a huge pain, and on many +# systems, it requires root access. +# +# * Complication of the Makefile: every system builds dynamic libraries +# differently. Every compiler takes different flags. I don't want to +# do the hand-holding for the scores of Unix systems and compilers on +# which people try to build this program. +# +# * Reduction of maintainability: gdb is remarkably bad at dealing with +# debug info in dynamic libraries, and when debugging a hack, one would +# constantly be fighting the linker and the debugger (or linking +# statically when debugging.) +# +# * Version skew: when things are statically linked, it's perfectly ok to +# make incompatible changes to the APIs defined in this directory, so long +# as the current version in ../hacks/ is in sync. Much more care would +# need to be taken with such things if dynamic libraries were involved, +# to make sure that the major and minor versions of the library changed +# at the appropriate time. This isn't too hard, but it's more work, and +# yet another opportunity to screw up. +# +# * Runtime memory usage goes *up*. That's right, up! When a program +# links in a dynamic library, the whole library is brought into the +# address space, not just the files that are actually used. Normally, +# this is ok, because if several programs are using (for example) +# libX11.so, chances are that the savings outweighs the overhead. But +# the nature of xscreensaver is that only one of the hacks ever runs at +# a time -- so there would never be a second program using the utils/ +# dynamic library with which things could be shared. +# +# * Runtime speed decreases slightly, since dynamic code is marginally +# slower. On modern machines, this probably doesn't make a perceptible +# difference, however. +# +# So basically, I just don't think using libraries would be a win, and it would +# definitely cause more of a maintenance and portability headache. However, +# if someone else wants to do the work to make it be an option to configure, +# and verifies that it works on several (more than three) different Unixes, +# I'd be happy to take the patches. +# -- jwz, 30-Jun-98 +# +############################################################################## + + @SET_MAKE@ .SUFFIXES: .SUFFIXES: .c .o @@ -18,20 +91,24 @@ DEPEND_FLAGS = @DEPEND_FLAGS@ DEPEND_DEFINES = @DEPEND_DEFINES@ SHELL = /bin/sh +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_DIRS = @INSTALL_DIRS@ X_CFLAGS = @X_CFLAGS@ INCLUDES = -I$(srcdir) -I.. @INCLUDES@ SRCS = alpha.c colors.c fade.c grabscreen.c hsv.c overlay.c \ - resources.c spline.c usleep.c visual.c xmu.c xroger.c \ - yarandom.c erase.c sgivideo.c + resources.c spline.c usleep.c visual.c visual-gl.c xmu.c \ + xroger.c yarandom.c erase.c sgivideo.c xshm.c xdbe.c OBJS = alpha.o colors.o fade.o grabscreen.o hsv.o overlay.o \ - resources.o spline.o usleep.o visual.o xmu.o xroger.o \ - yarandom.o erase.o sgivideo.o + resources.o spline.o usleep.o visual.o visual-gl.o xmu.o \ + xroger.o yarandom.o erase.o sgivideo.o xshm.o xdbe.o HDRS = alpha.h colors.h fade.h grabscreen.h hsv.h resources.h \ spline.h usleep.h utils.h version.h visual.h vroot.h xmu.h \ - yarandom.h erase.h sgivideo.h + yarandom.h erase.h sgivideo.h xshm.h xdbe.h EXTRAS = README Makefile.in ad2c VMSFILES = compile_axp.com compile_decc.com vms-gtod.c vms-gtod.h \ vms-strdup.c @@ -39,6 +116,7 @@ VMSFILES = compile_axp.com compile_decc.com vms-gtod.c vms-gtod.h \ TARFILES = $(EXTRAS) $(VMSFILES) $(SRCS) $(HDRS) +default: all all: $(OBJS) install: install-program install-man @@ -56,7 +134,7 @@ clean: -rm -f *.o a.out core distclean: clean - -rm -f config.h Makefile *~ "#"* + -rm -f Makefile TAGS *~ "#"* # Adds all current dependencies to Makefile depend: @@ -125,10 +203,12 @@ distdepend:: compile_axp.com compile_decc.com ############################################################################## # # DO NOT DELETE: updated by make distdepend +# $(srcdir)/DO $(srcdir)/NOT $(srcdir)/DELETE: $(srcdir)/updated $(srcdir)/by $(srcdir)/make $(srcdir)/distdepend alpha.o: $(srcdir)/utils.h alpha.o: ../config.h alpha.o: $(srcdir)/alpha.h +alpha.o: $(srcdir)/visual.h alpha.o: $(srcdir)/hsv.h alpha.o: $(srcdir)/yarandom.h alpha.o: $(srcdir)/resources.h @@ -170,6 +250,9 @@ visual.o: $(srcdir)/utils.h visual.o: ../config.h visual.o: $(srcdir)/resources.h visual.o: $(srcdir)/visual.h +visual-gl.o: $(srcdir)/utils.h +visual-gl.o: ../config.h +visual-gl.o: $(srcdir)/visual.h xmu.o: ../config.h xroger.o: $(srcdir)/utils.h xroger.o: ../config.h @@ -186,5 +269,12 @@ sgivideo.o: ../config.h sgivideo.o: $(srcdir)/sgivideo.h sgivideo.o: $(srcdir)/resources.h sgivideo.o: $(srcdir)/visual.h -sgivideo.o: $(srcdir)/usleep.h +xshm.o: $(srcdir)/utils.h +xshm.o: ../config.h +xshm.o: $(srcdir)/xshm.h +xshm.o: $(srcdir)/resources.h +xdbe.o: $(srcdir)/utils.h +xdbe.o: ../config.h +xdbe.o: $(srcdir)/xdbe.h +xdbe.o: $(srcdir)/resources.h