1 | # utils/Makefile.in --- xscreensaver, Copyright (c) 1997-2000 Jamie Zawinski. |
---|
2 | # the `../configure' script generates `utils/Makefile' from this file. |
---|
3 | |
---|
4 | |
---|
5 | # The utilities in this directory are used mostly by the demos in ../hacks/. |
---|
6 | # The Makefile in that directory builds executables by simply referencing |
---|
7 | # the .o files in this directory. |
---|
8 | |
---|
9 | |
---|
10 | ############################################################################## |
---|
11 | # |
---|
12 | # Some rambling about dynamic libraries follows, ignore it if you don't care |
---|
13 | # (which is almost assuredly the case.) |
---|
14 | # |
---|
15 | # |
---|
16 | # It would probably be sensible to just build a single .a file in this |
---|
17 | # directory, and link the hacks against that (statically.) I haven't done |
---|
18 | # that for two reasons: first, it works now, and why fix what ain't broke; |
---|
19 | # second, it wouldn't actually improve anything for the end user (it would |
---|
20 | # just make the Makefiles be a little smaller.) |
---|
21 | # |
---|
22 | # People sometimes suggest that the stuff in this directory should be in a |
---|
23 | # dynamic library, and that the hacks should be linked dynamically against |
---|
24 | # it. I haven't done this for a number of reasons: |
---|
25 | # |
---|
26 | # * First, the only thing that would improve would be disk space, in that |
---|
27 | # the executable files themselves would be smaller. That's it. Many other |
---|
28 | # things would get worse if we used a dynamic library: |
---|
29 | # |
---|
30 | # * Complication of installation procedures: suddenly, before any of the |
---|
31 | # hacks will work, you need to have a dynamic library installed, and |
---|
32 | # the system configured to use it. This is, basically, rocket science. |
---|
33 | # Most people don't know how to do this, it's a huge pain, and on many |
---|
34 | # systems, it requires root access. |
---|
35 | # |
---|
36 | # * Complication of the Makefile: every system builds dynamic libraries |
---|
37 | # differently. Every compiler takes different flags. I don't want to |
---|
38 | # do the hand-holding for the scores of Unix systems and compilers on |
---|
39 | # which people try to build this program. |
---|
40 | # |
---|
41 | # * Reduction of maintainability: gdb is remarkably bad at dealing with |
---|
42 | # debug info in dynamic libraries, and when debugging a hack, one would |
---|
43 | # constantly be fighting the linker and the debugger (or linking |
---|
44 | # statically when debugging.) |
---|
45 | # |
---|
46 | # * Version skew: when things are statically linked, it's perfectly ok to |
---|
47 | # make incompatible changes to the APIs defined in this directory, so long |
---|
48 | # as the current version in ../hacks/ is in sync. Much more care would |
---|
49 | # need to be taken with such things if dynamic libraries were involved, |
---|
50 | # to make sure that the major and minor versions of the library changed |
---|
51 | # at the appropriate time. This isn't too hard, but it's more work, and |
---|
52 | # yet another opportunity to screw up. |
---|
53 | # |
---|
54 | # * Runtime memory usage goes *up*. That's right, up! When a program |
---|
55 | # links in a dynamic library, the whole library is brought into the |
---|
56 | # address space, not just the files that are actually used. Normally, |
---|
57 | # this is ok, because if several programs are using (for example) |
---|
58 | # libX11.so, chances are that the savings outweighs the overhead. But |
---|
59 | # the nature of xscreensaver is that only one of the hacks ever runs at |
---|
60 | # a time -- so there would never be a second program using the utils/ |
---|
61 | # dynamic library with which things could be shared. |
---|
62 | # |
---|
63 | # * Runtime speed decreases slightly, since dynamic code is marginally |
---|
64 | # slower. On modern machines, this probably doesn't make a perceptible |
---|
65 | # difference, however. |
---|
66 | # |
---|
67 | # So basically, I just don't think using libraries would be a win, and it would |
---|
68 | # definitely cause more of a maintenance and portability headache. However, |
---|
69 | # if someone else wants to do the work to make it be an option to configure, |
---|
70 | # and verifies that it works on several (more than three) different Unixes, |
---|
71 | # I'd be happy to take the patches. |
---|
72 | # -- jwz, 30-Jun-98 |
---|
73 | # |
---|
74 | ############################################################################## |
---|
75 | |
---|
76 | |
---|
77 | @SET_MAKE@ |
---|
78 | .SUFFIXES: |
---|
79 | .SUFFIXES: .c .o |
---|
80 | |
---|
81 | srcdir = @srcdir@ |
---|
82 | VPATH = @srcdir@ |
---|
83 | prefix = @prefix@ |
---|
84 | |
---|
85 | CC = @CC@ |
---|
86 | CFLAGS = @CFLAGS@ |
---|
87 | DEFS = @DEFS@ |
---|
88 | |
---|
89 | DEPEND = @DEPEND@ |
---|
90 | DEPEND_FLAGS = @DEPEND_FLAGS@ |
---|
91 | DEPEND_DEFINES = @DEPEND_DEFINES@ |
---|
92 | |
---|
93 | SHELL = /bin/sh |
---|
94 | INSTALL = @INSTALL@ |
---|
95 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
---|
96 | INSTALL_DATA = @INSTALL_DATA@ |
---|
97 | INSTALL_DIRS = @INSTALL_DIRS@ |
---|
98 | |
---|
99 | X_CFLAGS = @X_CFLAGS@ |
---|
100 | |
---|
101 | INCLUDES = -I$(srcdir) -I.. @INCLUDES@ |
---|
102 | |
---|
103 | SRCS = alpha.c colors.c fade.c grabscreen.c grabclient.c hsv.c \ |
---|
104 | overlay.c resources.c spline.c usleep.c visual.c \ |
---|
105 | visual-gl.c xmu.c logo.c yarandom.c erase.c \ |
---|
106 | xshm.c xdbe.c colorbars.c |
---|
107 | OBJS = alpha.o colors.o fade.o grabscreen.o grabclient.o hsv.o \ |
---|
108 | overlay.o resources.o spline.o usleep.o visual.o \ |
---|
109 | visual-gl.o xmu.o logo.o yarandom.o erase.o \ |
---|
110 | xshm.o xdbe.o colorbars.o |
---|
111 | HDRS = alpha.h colors.h fade.h grabscreen.h hsv.h resources.h \ |
---|
112 | spline.h usleep.h utils.h version.h visual.h vroot.h xmu.h \ |
---|
113 | yarandom.h erase.h xshm.h xdbe.h colorbars.h xscreensaver-intl.h |
---|
114 | STAR = * |
---|
115 | LOGOS = images/$(STAR).xpm \ |
---|
116 | images/$(STAR).png \ |
---|
117 | images/$(STAR).gif \ |
---|
118 | images/$(STAR).eps |
---|
119 | EXTRAS = README Makefile.in ad2c |
---|
120 | VMSFILES = compile_axp.com compile_decc.com vms-gtod.c vms-gtod.h \ |
---|
121 | vms-strdup.c |
---|
122 | |
---|
123 | TARFILES = $(EXTRAS) $(VMSFILES) $(SRCS) $(HDRS) $(LOGOS) |
---|
124 | |
---|
125 | |
---|
126 | default: all |
---|
127 | all: $(OBJS) |
---|
128 | |
---|
129 | install: install-program install-man |
---|
130 | uninstall: uninstall-program uninstall-man |
---|
131 | |
---|
132 | install-strip: |
---|
133 | $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install |
---|
134 | |
---|
135 | install-program: |
---|
136 | install-man: |
---|
137 | uninstall-program: |
---|
138 | uninstall-man: |
---|
139 | |
---|
140 | clean: |
---|
141 | -rm -f *.o a.out core |
---|
142 | |
---|
143 | distclean: clean |
---|
144 | -rm -f Makefile TAGS *~ "#"* |
---|
145 | |
---|
146 | # Adds all current dependencies to Makefile |
---|
147 | depend: |
---|
148 | $(DEPEND) -s '# DO NOT DELETE: updated by make depend' \ |
---|
149 | $(DEPEND_FLAGS) -- \ |
---|
150 | $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \ |
---|
151 | $(SRCS) |
---|
152 | |
---|
153 | # Adds some dependencies to Makefile.in -- not totally accurate, but pretty |
---|
154 | # close. This excludes dependencies on files in /usr/include, etc. It tries |
---|
155 | # to include only dependencies on files which are themselves a part of this |
---|
156 | # package. |
---|
157 | distdepend:: |
---|
158 | @echo updating dependencies in `pwd`/Makefile.in... ; \ |
---|
159 | $(DEPEND) -w 0 -f - \ |
---|
160 | -s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \ |
---|
161 | $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \ |
---|
162 | $(SRCS) 2>/dev/null | \ |
---|
163 | sort -d | \ |
---|
164 | ( \ |
---|
165 | awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \ |
---|
166 | sed -e '/^#.*/d' \ |
---|
167 | -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d' \ |
---|
168 | -e 's@ \([^$$]\)@ $$(srcdir)/\1@g' \ |
---|
169 | -e 's@ $$(srcdir)/\(.*config.h\)@ \1@g' ; \ |
---|
170 | echo '' \ |
---|
171 | ) > /tmp/distdepend.$$$$ && \ |
---|
172 | mv Makefile.in Makefile.in.bak && \ |
---|
173 | mv /tmp/distdepend.$$$$ Makefile.in |
---|
174 | |
---|
175 | TAGS: tags |
---|
176 | tags: |
---|
177 | find $(srcdir) -name '*.[chly]' -print | xargs etags -a |
---|
178 | |
---|
179 | echo_tarfiles: |
---|
180 | @echo $(TARFILES) |
---|
181 | |
---|
182 | |
---|
183 | # How we build object files in this directory. |
---|
184 | .c.o: |
---|
185 | $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $< |
---|
186 | |
---|
187 | |
---|
188 | # Rules for generating the VMS makefiles on Unix, so that it doesn't have to |
---|
189 | # be done by hand... |
---|
190 | # |
---|
191 | VMS_AXP_COMPILE=$$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H)/INCL=([],[-]) |
---|
192 | |
---|
193 | compile_axp.com: Makefile.in |
---|
194 | @echo generating $@ from $<... ; \ |
---|
195 | ( ( for c in $(SRCS) vms-*.c ; do \ |
---|
196 | c=`echo $$c | tr a-z A-Z` ; \ |
---|
197 | echo "$(VMS_AXP_COMPILE) $$c" ; \ |
---|
198 | done ; \ |
---|
199 | ) | sort -d ; \ |
---|
200 | echo '$$ lib/cre utils.olb_axp' ; \ |
---|
201 | echo '$$ lib utils.olb_axp *.obj' ; \ |
---|
202 | echo '$$! delete/noconf *.obj;' ; \ |
---|
203 | ) > $@ |
---|
204 | |
---|
205 | compile_decc.com: compile_axp.com |
---|
206 | @echo generating $@ from $<... ; \ |
---|
207 | sed 's/axp/decc/g' < $< > $@ |
---|
208 | |
---|
209 | distdepend:: compile_axp.com compile_decc.com |
---|
210 | |
---|
211 | |
---|
212 | ############################################################################## |
---|
213 | # |
---|
214 | # DO NOT DELETE: updated by make distdepend |
---|
215 | |
---|
216 | alpha.o: $(srcdir)/alpha.h |
---|
217 | alpha.o: ../config.h |
---|
218 | alpha.o: $(srcdir)/hsv.h |
---|
219 | alpha.o: $(srcdir)/resources.h |
---|
220 | alpha.o: $(srcdir)/utils.h |
---|
221 | alpha.o: $(srcdir)/visual.h |
---|
222 | alpha.o: $(srcdir)/yarandom.h |
---|
223 | colorbars.o: $(srcdir)/colorbars.h |
---|
224 | colorbars.o: ../config.h |
---|
225 | colorbars.o: $(srcdir)/resources.h |
---|
226 | colorbars.o: $(srcdir)/utils.h |
---|
227 | colors.o: $(srcdir)/colors.h |
---|
228 | colors.o: ../config.h |
---|
229 | colors.o: $(srcdir)/hsv.h |
---|
230 | colors.o: $(srcdir)/utils.h |
---|
231 | colors.o: $(srcdir)/visual.h |
---|
232 | colors.o: $(srcdir)/yarandom.h |
---|
233 | erase.o: ../config.h |
---|
234 | erase.o: $(srcdir)/resources.h |
---|
235 | erase.o: $(srcdir)/usleep.h |
---|
236 | erase.o: $(srcdir)/utils.h |
---|
237 | erase.o: $(srcdir)/yarandom.h |
---|
238 | fade.o: ../config.h |
---|
239 | fade.o: $(srcdir)/fade.h |
---|
240 | fade.o: $(srcdir)/usleep.h |
---|
241 | fade.o: $(srcdir)/utils.h |
---|
242 | fade.o: $(srcdir)/visual.h |
---|
243 | grabclient.o: ../config.h |
---|
244 | grabclient.o: $(srcdir)/grabscreen.h |
---|
245 | grabclient.o: $(srcdir)/resources.h |
---|
246 | grabclient.o: $(srcdir)/utils.h |
---|
247 | grabclient.o: $(srcdir)/vroot.h |
---|
248 | grabscreen.o: $(srcdir)/colors.h |
---|
249 | grabscreen.o: ../config.h |
---|
250 | grabscreen.o: $(srcdir)/grabscreen.h |
---|
251 | grabscreen.o: $(srcdir)/resources.h |
---|
252 | grabscreen.o: $(srcdir)/usleep.h |
---|
253 | grabscreen.o: $(srcdir)/utils.h |
---|
254 | grabscreen.o: $(srcdir)/visual.h |
---|
255 | grabscreen.o: $(srcdir)/vroot.h |
---|
256 | grabscreen.o: $(srcdir)/yarandom.h |
---|
257 | hsv.o: ../config.h |
---|
258 | hsv.o: $(srcdir)/hsv.h |
---|
259 | hsv.o: $(srcdir)/utils.h |
---|
260 | logo.o: ../config.h |
---|
261 | logo.o: $(srcdir)/images/logo-180.xpm |
---|
262 | logo.o: $(srcdir)/images/logo-50.xpm |
---|
263 | logo.o: $(srcdir)/resources.h |
---|
264 | logo.o: $(srcdir)/utils.h |
---|
265 | logo.o: $(srcdir)/visual.h |
---|
266 | overlay.o: ../config.h |
---|
267 | overlay.o: $(srcdir)/utils.h |
---|
268 | overlay.o: $(srcdir)/visual.h |
---|
269 | resources.o: ../config.h |
---|
270 | resources.o: $(srcdir)/resources.h |
---|
271 | resources.o: $(srcdir)/utils.h |
---|
272 | spline.o: ../config.h |
---|
273 | spline.o: $(srcdir)/spline.h |
---|
274 | spline.o: $(srcdir)/utils.h |
---|
275 | usleep.o: ../config.h |
---|
276 | visual-gl.o: ../config.h |
---|
277 | visual-gl.o: $(srcdir)/utils.h |
---|
278 | visual-gl.o: $(srcdir)/visual.h |
---|
279 | visual.o: ../config.h |
---|
280 | visual.o: $(srcdir)/resources.h |
---|
281 | visual.o: $(srcdir)/utils.h |
---|
282 | visual.o: $(srcdir)/visual.h |
---|
283 | xdbe.o: ../config.h |
---|
284 | xdbe.o: $(srcdir)/resources.h |
---|
285 | xdbe.o: $(srcdir)/utils.h |
---|
286 | xdbe.o: $(srcdir)/xdbe.h |
---|
287 | xmu.o: ../config.h |
---|
288 | xshm.o: ../config.h |
---|
289 | xshm.o: $(srcdir)/resources.h |
---|
290 | xshm.o: $(srcdir)/utils.h |
---|
291 | xshm.o: $(srcdir)/xshm.h |
---|
292 | yarandom.o: ../config.h |
---|
293 | yarandom.o: $(srcdir)/yarandom.h |
---|
294 | |
---|