~vcs-imports-ii/ddd/trunk

« back to all changes in this revision

Viewing changes to ddd/OldMakefile.in

  • Committer: eager
  • Date: 2022-01-27 20:00:51 UTC
  • Revision ID: svn-v4:1d73a310-8f1f-0410-b01a-dab0232e19a9:trunk:7238
ImproveĀ buildĀ method

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# $Id$
2
 
# DDD Makefile.
3
 
 
4
 
# Copyright (C) 1995-1998 Technische Universitaet Braunschweig, Germany.
5
 
# Copyright (C) 2000 Universitaet Passau, Germany.
6
 
# Written by Andreas Zeller <zeller@gnu.org>.
7
 
8
 
# This file is part of DDD.
9
 
10
 
# DDD is free software; you can redistribute it and/or
11
 
# modify it under the terms of the GNU General Public
12
 
# License as published by the Free Software Foundation; either
13
 
# version 3 of the License, or (at your option) any later version.
14
 
15
 
# DDD is distributed in the hope that it will be useful,
16
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
 
# See the GNU General Public License for more details.
19
 
20
 
# You should have received a copy of the GNU General Public
21
 
# License along with DDD -- see the file COPYING.
22
 
# If not, see <http://www.gnu.org/licenses/>.
23
 
24
 
# DDD is the data display debugger.
25
 
# For details, see the DDD World-Wide-Web page, 
26
 
# `http://www.gnu.org/software/ddd/',
27
 
# or send a mail to the DDD developers <ddd@gnu.org>.
28
 
 
29
 
 
30
 
### CUSTOMIZATION SECTION --- Please check the settings below.
31
 
# Typical values are enclosed in ().
32
 
 
33
 
## Directories.
34
 
 
35
 
# Common prefix for installation directories.  (/usr/local)
36
 
# NOTE: This directory must exist when you start the install.
37
 
prefix = @prefix@
38
 
exec_prefix = @exec_prefix@
39
 
 
40
 
# Where to fetch the source from.  (.)
41
 
srcdir = @srcdir@
42
 
VPATH = @srcdir@
43
 
 
44
 
# Where to put the binary.  (${exec_prefix}/bin)
45
 
bindir = @bindir@
46
 
 
47
 
# Where to put the info file.  (${prefix}/info)
48
 
infodir = @infodir@
49
 
 
50
 
# Where to put the manual page.  (${prefix}/man)
51
 
mandir  = @mandir@
52
 
man1dir = $(mandir)/man1
53
 
man1ext = .1
54
 
 
55
 
 
56
 
## Architecture (usually overridden by the top-level Makefile).
57
 
 
58
 
# The host we were compiled on.  (CPU-COMPANY-SYSTEM)
59
 
host_canonical = @host@
60
 
 
61
 
# The target we were compiled for.  (CPU-COMPANY-SYSTEM)
62
 
target_canonical = @host@
63
 
 
64
 
 
65
 
## Special commands.
66
 
 
67
 
# The sed command.  (sed)
68
 
SED = @SED@
69
 
 
70
 
# The rm command.
71
 
RM = rm -f
72
 
 
73
 
# The ln -s command for making symbolic links; plain ln should work
74
 
# too.  (ln -s)
75
 
LN_S = @LN_S@
76
 
 
77
 
# The m4 command, preferably GNU m4.   (m4)
78
 
# The `-B20000' works around M4 limitations on System V; GNU M4 ignores it.
79
 
# (Reported by Justin Mayfield <mayfield@hpbs1824.boi.hp.com>.)
80
 
M4 = @M4@ -B20000
81
 
 
82
 
# The lex command (flex), its flags (-8), and its library (-lfl).
83
 
LEX = @LEX@
84
 
LFLAGS = @LFLAGS@
85
 
LEXLIB = @LEXLIB@
86
 
 
87
 
# The lex output root (lex.yy)
88
 
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
89
 
 
90
 
# The yacc command (bison -y) and its flags ().
91
 
YACC = @YACC@
92
 
YFLAGS = @YFLAGS@
93
 
 
94
 
# The shell for executing commands in the Makefile.  (/bin/sh)
95
 
SHELL = @SH@
96
 
 
97
 
# The ar command.
98
 
AR = ar
99
 
 
100
 
# ar flags for creating a new archive.
101
 
AR_FLAGS = q
102
 
 
103
 
# ar flags for extracting files from an archive.
104
 
AR_X_FLAGS = x
105
 
 
106
 
# The ranlib command.  (ranlib)
107
 
RANLIB = @RANLIB@
108
 
 
109
 
# A compress command, reading from stdin and writing to stdout.  (gzip -c)
110
 
COMPRESS = @COMPRESS@
111
 
 
112
 
# An uncompress command, reading from stdin and writing to stdout.  (gunzip -c)
113
 
UNCOMPRESS = @UNCOMPRESS@
114
 
 
115
 
# The etags command.  (etags)
116
 
ETAGS = etags --c++
117
 
 
118
 
 
119
 
## The C++ compiler.
120
 
 
121
 
# What we use to compile C++ files.  (c++)
122
 
CXX = @CXX@
123
 
 
124
 
# The flags we use to compile C++ files.
125
 
# CXXOPT = -DNDEBUG -O2
126
 
CXXOPT = @CXXOPT@
127
 
# CXXDEBUG = -g
128
 
CXXDEBUG = @CXXDEBUG@
129
 
# CXXWARNINGS = -W -Wall
130
 
CXXWARNINGS = @CXXWARNINGS@
131
 
CXXFLAGS = $(CXXOPT) $(CXXDEBUG) $(CXXWARNINGS)
132
 
 
133
 
# Extra C++-specific flags.  (-fexternal-templates -felide-constructors)
134
 
CXXSTUFF = @CXXSTUFF@ @X_PERMISSIVE@
135
 
 
136
 
# Possible extra libraries required for all C++ programs.  ()
137
 
CXXLIBS = @CXXLIBS@
138
 
 
139
 
# Executable extension.  Empty on Unix, `.exe' on Windows. ()
140
 
EXEEXT = @EXEEXT@
141
 
 
142
 
# Object extension.  `o' on Unix, `obj' on Windows. (o)
143
 
OBJEXT = @OBJEXT@
144
 
 
145
 
 
146
 
## The C compiler; for demos only
147
 
 
148
 
# What we use to compile C files.
149
 
# CC = cc
150
 
CC = @CC@
151
 
 
152
 
# The flags we use to compile C files.
153
 
# CFLAGS = -g
154
 
CFLAGS = @CFLAGS@
155
 
 
156
 
 
157
 
## The Pascal compiler (for demos only)
158
 
 
159
 
# What we use to compile Pascal files.
160
 
PC = pc
161
 
 
162
 
# The flags we use to compile Pascal files.
163
 
PFLAGS = -g
164
 
 
165
 
 
166
 
## The Modula-2 compiler (for demos only)
167
 
 
168
 
# What we use to compile Modula-2 files.
169
 
M2C = m2c
170
 
 
171
 
# The flags we use to compile Modula-2 files.
172
 
M2FLAGS = -g
173
 
 
174
 
 
175
 
## The FORTRAN compiler (for demos only)
176
 
 
177
 
# What we use to compile FORTRAN files.
178
 
FC = @F77@
179
 
 
180
 
# The flags we use to compile FORTRAN files.
181
 
FFLAGS = @FFLAGS@
182
 
 
183
 
 
184
 
 
185
 
## The C preprocessor.
186
 
 
187
 
# What we use for preprocessing.  (gcc -E -traditional-cpp)
188
 
CPP = @CPP_TRADITIONAL@
189
 
 
190
 
# Flags passed to the C preprocessor.  ()
191
 
CPPFLAGS = @CPPFLAGS@
192
 
 
193
 
# Definitions to be passed to the C preprocessor.  (-DHAVE_CONFIG_H)
194
 
DEFS = @DEFS@
195
 
 
196
 
 
197
 
## The Linker.
198
 
 
199
 
# Flags passed to the linker.  (-g -O)
200
 
LDFLAGS = @LDFLAGS@ @BIG_TOC@
201
 
 
202
 
# Use this for building statically linked executables with GCC.
203
 
# LDFLAGS = -static @LDFLAGS@ @BIG_TOC@
204
 
 
205
 
 
206
 
 
207
 
## Local libraries
208
 
 
209
 
# POSIX regex routines (from system)
210
 
# LIBRX      = @LIBRX@
211
 
LIBRX      =
212
 
# termcap routines (from system)
213
 
LIBTERMCAP = @LIBTERMCAP@
214
 
# -lreadline library (from system)
215
 
LIBREADLINE = @LIBREADLINE@
216
 
# Yacc library (-ly)
217
 
LIBY       = @LIBY@
218
 
# Math library (-lm)
219
 
LIBM       = @LIBM@
220
 
# C library (-lc)
221
 
LIBC       = @LIBC@
222
 
# Socket library (-lsocket)
223
 
LIBSOCKET  = @LIBSOCKET@
224
 
# ELF library (-lelf)
225
 
LIBELF     = @LIBELF@
226
 
# NSL library (-lnsl)
227
 
LIBNSL     = @LIBNSL@
228
 
# Additional libraries required for non-X programs (-lsocket -lnsl)
229
 
NON_X_LIBS = @LIBS@
230
 
 
231
 
# All libraries shown above
232
 
LIBS = $(CXXLIBS) $(LIBREADLINE) $(LIBSOCKET) $(LIBNSL) $(LIBRX) \
233
 
       $(LIBTERMCAP) $(LIBY) $(LIBM) $(LIBELF)
234
 
 
235
 
 
236
 
## X Libraries
237
 
 
238
 
# Special flags for linking with X.  (-L/usr/X11R5/lib)
239
 
X_LDFLAGS = @X_LIBS@
240
 
 
241
 
# Motif library.  (-lXm)
242
 
LIBXM = @XM_LIBS@
243
 
 
244
 
# Use this alternative for building `semistatic' executables
245
 
# where Motif libraries are statically linked in.
246
 
# LIBXM = -Wl,-Bstatic @XM_LIBS@ -Wl,-Bdynamic
247
 
 
248
 
# Athena libraries.  (-lXaw -lXmu)
249
 
LIBXAW = @XAW_LIBS@
250
 
 
251
 
# X extension library; needed for Athena and Motif >= 2.0.  (-lXext)
252
 
LIBXEXT = @XEXT_LIBS@
253
 
 
254
 
# Xpm library; needed for DDD and sometimes for Motif >= 2.0.  (-lXpm)
255
 
LIBXPM = @XPM_LIBS@
256
 
 
257
 
# Xp library; sometimes needed for Motif >= 2.1.  (-lXp)
258
 
LIBXP = @XP_LIBS@
259
 
 
260
 
# gen library; sometimes needed for Motif >= 2.0.  (-lgen)
261
 
LIBGEN = @LIBGEN@
262
 
 
263
 
# X toolkit library.  (-lXt)
264
 
LIBXT = @XT_LIBS@
265
 
 
266
 
# X library.  (-lSM -lICE -lX11 -lnsl -lsocket)
267
 
LIBX11 = @X_PRE_LIBS@ @X11_LIBS@ @X_EXTRA_LIBS@
268
 
 
269
 
# All libraries shown above
270
 
ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXP) $(LIBXPM) $(LIBXAW) $(LIBXEXT) \
271
 
$(LIBXT) $(LIBX11) $(LIBGEN)
272
 
 
273
 
 
274
 
## Installation commands.
275
 
 
276
 
# General install program.  (install -c)
277
 
INSTALL = @INSTALL@
278
 
 
279
 
# Command for installing programs.  (install -c)
280
 
INSTALL_PROGRAM = @INSTALL_PROGRAM@
281
 
 
282
 
# Command for installing data.  (install -c -m 644)
283
 
INSTALL_DATA = @INSTALL_DATA@
284
 
 
285
 
# Transformed name of installed programs.  (s,x,x,)
286
 
transform=@program_transform_name@
287
 
 
288
 
 
289
 
## `make check' commands.
290
 
 
291
 
# A debugger for debugging DDD.  (gdb)
292
 
DEBUGGER = @DEBUGGER@
293
 
 
294
 
# The options for DDD when invoking `make check'.  ()
295
 
DDD_OPTIONS = @DEBUGGER_OPTION@
296
 
 
297
 
 
298
 
## The following definitions are needed for development only.
299
 
## Usually, you don't need any of these.
300
 
 
301
 
# The autoconf program.  (autoconf)
302
 
AUTOCONF = @AUTOCONF@
303
 
 
304
 
# The autoheader program.  (autoheader)
305
 
AUTOHEADER = @AUTOHEADER@
306
 
 
307
 
# The aclocal program.  (aclocal)
308
 
ACLOCAL = @ACLOCAL@
309
 
 
310
 
# The tar program.  (tar)
311
 
TAR = @TAR@
312
 
 
313
 
# The groff program.  (groff)
314
 
GROFF = groff
315
 
 
316
 
# The nroff program.  (groff -Tascii)
317
 
# NROFF = nroff
318
 
NROFF = $(GROFF) -Tascii
319
 
 
320
 
# The makeinfo program.  (makeinfo)
321
 
MAKEINFO = @MAKEINFO@
322
 
 
323
 
# The texindex program.  (texindex)
324
 
TEXINDEX = texindex
325
 
 
326
 
# The texi2html program.  (texi2html)
327
 
TEXI2HTML = $(MAKEINFO) --html
328
 
 
329
 
# The texi2dvi program.  (texi2dvi)
330
 
TEXI2DVI = texi2dvi
331
 
 
332
 
# The texi2pdf program.  (texi2pdf)
333
 
TEXI2PDF = texi2dvi --pdf
334
 
 
335
 
# The epstopdf program.  (epstopdf)
336
 
# Available from http://www.tug.org/applications/pdftex/epstopdf
337
 
EPSTOPDF = epstopdf
338
 
 
339
 
# The dvips program.  (dvips)
340
 
DVIPS = @DVIPS@
341
 
 
342
 
# The pdf2ps program.  (pdf2ps)
343
 
PDF2PS = @PDF2PS@
344
 
 
345
 
# The TeX program.  (tex)
346
 
TEX = tex
347
 
 
348
 
# The ad2c program.
349
 
AD2C = $(SED) -n -f $(srcdir)/ad2c.sed
350
 
 
351
 
# The vsl2c program.
352
 
VSL2C = $(SED) -f $(srcdir)/vsl2c.sed
353
 
 
354
 
# The ls program.  (ls)
355
 
LS = ls
356
 
 
357
 
# The head program.  (head)
358
 
HEAD = head
359
 
 
360
 
# The make program, if not predefined.  ()
361
 
@SET_MAKE@
362
 
 
363
 
# The mv command.  (mv)
364
 
MV = mv
365
 
 
366
 
# The echo command.  (echo)
367
 
ECHO = echo
368
 
 
369
 
# The awk command.  (awk)
370
 
AWK = @AWK@
371
 
 
372
 
# The cat command.  (cat)
373
 
CAT = cat
374
 
 
375
 
# The cmp command.  (cmp)
376
 
CMP = cmp
377
 
 
378
 
# The grep command.  (grep)
379
 
GREP = grep
380
 
 
381
 
# The sort command.  (sort)
382
 
SORT = sort
383
 
 
384
 
# The diff command.  (diff)
385
 
DIFF = @DIFF@
386
 
 
387
 
# The touch command.  (touch)
388
 
TOUCH = touch
389
 
 
390
 
# The date command.  (date)
391
 
DATE = date
392
 
 
393
 
# The strip command.  (strip)
394
 
STRIP = strip
395
 
 
396
 
# The mkdir and rmdir commands.  (mkdir) (rmdir)
397
 
MKDIR = mkdir
398
 
RMDIR = rmdir
399
 
 
400
 
# The sleep command.  (sleep)
401
 
SLEEP = sleep
402
 
 
403
 
# The fig2dev command.  (fig2dev)
404
 
FIG2DEV = fig2dev
405
 
FIG2PS = $(FIG2DEV) -L ps
406
 
 
407
 
# Some XPM/PPM/PostScript converters, from the netpbm and pbmplus packages.
408
 
PBMTOXBM   = pbmtoxbm
409
 
PGMENHANCE = pgmenhance
410
 
PGMTOPBM   = pgmtopbm
411
 
PNMARITH   = pnmarith
412
 
PNMCUT     = pnmcut
413
 
PNMDEPTH   = pnmdepth
414
 
PNMGAMMA   = pnmgamma
415
 
PNMINVERT  = pnminvert
416
 
PNMMARGIN  = pnmmargin
417
 
PNMPASTE   = pnmpaste
418
 
PNMTOPS    = pnmtops
419
 
PPMTOPGM   = ppmtopgm
420
 
PPMTOXPM   = ppmtoxpm
421
 
XBMTOPBM   = xbmtopbm
422
 
XPMTOPPM   = xpmtoppm
423
 
 
424
 
# The ImageMagick `convert' program (convert)
425
 
CONVERT    = convert
426
 
 
427
 
# The image extension (.jpg, .png, or .gif)
428
 
IMGEXT     = .jpg
429
 
 
430
 
# The face-generating program from the `compface' package.  (xbm2xface.pl)
431
 
XBM2XFACE  = xbm2xface.pl
432
 
 
433
 
 
434
 
### END OF CUSTOMIZATION SECTION ---
435
 
### You shouldn't need to change anything below this line.
436
 
 
437
 
 
438
 
## The names.
439
 
# Program and distribution base name.  (ddd)
440
 
ddd = @ddd@
441
 
 
442
 
# Product name.  (DDD)
443
 
DDD = @DDD@
444
 
 
445
 
# The version number.  (1.4c)
446
 
VERSION = @VERSION@
447
 
 
448
 
# The build.  (This must be set from outside)
449
 
REL = 1
450
 
 
451
 
# Canonical program and distribution base name.
452
 
ddd_canonical = $(ddd)-$(VERSION)-$(target_canonical)
453
 
 
454
 
## More compilation settings.
455
 
# C++ binding flags. For binary distribution only.
456
 
# CXXSTATIC_BINDING = -Bstatic
457
 
CXXSTATIC_BINDING = @CXXSTATIC_BINDING@
458
 
# CXXDYNAMIC_BINDING = -Bdynamic
459
 
CXXDYNAMIC_BINDING = @CXXDYNAMIC_BINDING@
460
 
CXXBINDING = 
461
 
 
462
 
## C++ compile commands.
463
 
COMPILE.cc = $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(CXXSTUFF) -c
464
 
LINK.cc = $(CXX) $(CXXBINDING) $(LDFLAGS)
465
 
COMPILE_AND_LINK.cc = \
466
 
    $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(CXXSTUFF) $(CXXBINDING) $(LDFLAGS)
467
 
 
468
 
## C compile commands.
469
 
COMPILE.c = $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
470
 
LINK.c = $(CC) $(LDFLAGS)
471
 
COMPILE_AND_LINK.c = \
472
 
    $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) $(LDFLAGS)
473
 
 
474
 
## Pascal compile commands.
475
 
COMPILE_AND_LINK.p = $(PC) $(CPPFLAGS) $(DEFS) $(PFLAGS)
476
 
COMPILE.p = $(COMPILE_AND_LINK.p) -c
477
 
LINK.p = $(PC)
478
 
 
479
 
## Modula-2 compile commands.
480
 
COMPILE_AND_LINK.m2 = $(M2C) $(M2FLAGS)
481
 
COMPILE.m2 = $(COMPILE_AND_LINK.m2) -c
482
 
LINK.m2 = $(M2C)
483
 
 
484
 
## FORTRAN compile commands.
485
 
COMPILE_AND_LINK.f = $(FC) $(FFLAGS)
486
 
COMPILE.f = $(COMPILE_AND_LINK.f) -c
487
 
LINK.f = $(FC)
488
 
 
489
 
## YACC commands.
490
 
YY = yy
491
 
YACCTOCXX = $(srcdir)/yacctoC
492
 
YACC.Y = $(YACC) $(YFLAGS)
493
 
 
494
 
## LEX commands.
495
 
LEXTOCXX = $(srcdir)/lextoC
496
 
LEX.L = $(LEX) $(LFLAGS)
497
 
 
498
 
## Where to look for X include files.  (-I/usr/X11R5/include)
499
 
X_INCLUDE = @X_CFLAGS@
500
 
 
501
 
## Where to look for include files.
502
 
INCLUDE = -I. -I$(srcdir) -I$(srcdir)/.. $(X_INCLUDE)
503
 
 
504
 
## Implicit rules.
505
 
.SUFFIXES: .C .cc .c .mod .p .Y .YY .L .txt .i .xbm .xbmxx .xpm .xpmxx \
506
 
           .xface .C~ .c~ .f .f~ .sh .sh~ .fig .eps .jpg .png .gif .pdf \
507
 
           $(IMGEXT)
508
 
.C.$(OBJEXT):
509
 
        $(COMPILE.cc) $(INCLUDE) -o $@ $<
510
 
.cc.$(OBJEXT):
511
 
        $(COMPILE.cc) $(INCLUDE) -o $@ $<
512
 
.c.$(OBJEXT):
513
 
        $(COMPILE.c) $(INCLUDE) -o $@ $<
514
 
.p.$(OBJEXT):
515
 
        $(COMPILE.p) -o $@ $<
516
 
.C.i:
517
 
        $(COMPILE.cc) $(INCLUDE) -E -o $@ $<
518
 
.cc.i:
519
 
        $(COMPILE.cc) $(INCLUDE) -E -o $@ $<
520
 
.c.i:
521
 
        $(COMPILE.c) $(INCLUDE) -E -o $@ $<
522
 
.p.i:
523
 
        $(COMPILE.p) -E -o $@ $<
524
 
.Y:
525
 
        $(YACC.Y) $<
526
 
        $(SHELL) $(YACCTOCXX)
527
 
        $(RM) y.tab.c y.tab.h
528
 
        $(LINK.cc) -o $@ y.tab.C $(LDLIBS)
529
 
        $(RM) y.tab.C y.tab.H
530
 
.Y.C:
531
 
        $(YACC) $(YFLAGS) $<
532
 
        $(SHELL) $(YACCTOCXX)
533
 
        $(MV) y.tab.C $@
534
 
        $(RM) y.tab.H y.tab.c y.tab.h
535
 
.Y.h:
536
 
        $(YACC) -d $(YFLAGS) $<
537
 
        $(SHELL) $(YACCTOCXX)
538
 
        $(MV) y.tab.H $@
539
 
        $(RM) y.tab.C y.tab.c y.tab.h
540
 
.Y.$(OBJEXT):
541
 
        $(YACC) $(YFLAGS) $<
542
 
        $(SHELL) $(YACCTOCXX)
543
 
        $(COMPILE.cc) y.tab.C
544
 
        $(RM) y.tab.C y.tab.H y.tab.c y.tab.h
545
 
.Y.YY:
546
 
        $(YACC) -v $(YFLAGS) $<
547
 
        $(MV) y.output $@
548
 
        $(RM) y.tab.c y.tab.h
549
 
.L:
550
 
        $(LEX.L) $<
551
 
        $(SHELL) $(LEXTOCXX)
552
 
        $(LINK.cc) -o $@ $(LEX_OUTPUT_ROOT).C $(LDLIBS)
553
 
        $(RM) $(LEX_OUTPUT_ROOT).C $(LEX_OUTPUT_ROOT).c
554
 
.L.C:
555
 
        $(LEX.L) $<
556
 
        $(SHELL) $(LEXTOCXX)
557
 
        $(MV) $(LEX_OUTPUT_ROOT).C $@
558
 
        $(RM) $(LEX_OUTPUT_ROOT).c
559
 
.L.$(OBJEXT):
560
 
        $(LEX.L) $<
561
 
        $(SHELL) $(LEXTOCXX)
562
 
        $(COMPILE.cc) -o $@ $(LEX_OUTPUT_ROOT).C
563
 
        $(RM) $(LEX_OUTPUT_ROOT).C $(LEX_OUTPUT_ROOT).c
564
 
 
565
 
 
566
 
# Jacek M. Holeczek <holeczek@heracles.cto.us.edu.pl> says these `dummy'
567
 
# rules are required to disable default rules under AIX MAKE.  They
568
 
# should do no harm using other MAKEs.
569
 
.C:
570
 
.C~:
571
 
.c:
572
 
.c~:
573
 
.f:
574
 
.f~:
575
 
.sh:
576
 
.sh~:
577
 
 
578
 
 
579
 
## Script rules
580
 
.txt.C:
581
 
        @$(ECHO) "Creating $@"
582
 
        @( \
583
 
        $(ECHO) '// $@ -- generated automatically from `$<'"'."; \
584
 
        $(SED) '/^ *#/d' $< | \
585
 
        $(SED) 's/^ *include \([^"][^.]*\)\..*$$/#include "\1.C"/' | \
586
 
        $(SED) 's/^ *include "\([^"][^.]*\)[^"]*"/#include "\1.C"/' | \
587
 
        $(SED) '/^[^#]/s/\(["'"'"'\\]\)/\\\1/g' | \
588
 
        $(SED) '/^[^#]/s/.*/"&\\n"/' | \
589
 
        $(SED) 's//\\b/g' | \
590
 
        $(SED) 's/^$$/"\\n"/' \
591
 
        ) > tmp.C; \
592
 
        $(CPP) -C -P -undef $(CPPFLAGS) $(DEFS) $(INCLUDE) tmp.C > $@; \
593
 
        $(RM) tmp.C
594
 
 
595
 
## Icon rules
596
 
.xpm.xbm:
597
 
        @$(ECHO) "Creating $@"
598
 
        @-base=`$(ECHO) $@ | $(SED) 's,.*/,,' | $(SED) 's/[.]x[bp]m.*//'`; \
599
 
        $(SED) 's/[      ][cg]4*[       ][#a-zA-Z0-9][#a-zA-Z0-9]*//g' $< | \
600
 
        $(SED) 's/[nN]one/white/g' | \
601
 
        $(XPMTOPPM) | $(PNMDEPTH) 255 | $(PPMTOPGM) | $(PGMTOPBM) | \
602
 
        $(PBMTOXBM) | $(SED) "s/noname/$${base}/g" | \
603
 
        $(SED) "s/static char/static unsigned char/g" > $@~
604
 
        @test -s $@~ && $(MV) $@~ $@ || ($(RM) $@~; test -s $@)
605
 
 
606
 
.xbm.xface:
607
 
        @$(ECHO) "Creating $@"
608
 
        @$(ECHO) "X-Face:`$(XBM2XFACE) $<`" > $@~
609
 
        @test -s $@~ && $(MV) $@~ $@ || ($(RM) $@~; test -s $@)
610
 
 
611
 
# This jewel makes an `emboss' effect in two steps:
612
 
# 1. Create a displaced mask in FILE-mask.pbm, using `pnmcut' and `pnmpaste'
613
 
# 2. Add the mask to FILE.xbm, using `pnmarith'.
614
 
.xbm.xpmxx:
615
 
        @$(ECHO) "Creating $@"
616
 
        @-base=`$(ECHO) $@ | $(SED) 's,.*/,,' | $(SED) 's/[.]x[bp]m.*//'`; \
617
 
        $(SED) 's/unsigned //' $< | \
618
 
        $(XBMTOPBM) > $${base}-object.pbm; \
619
 
        $(PNMMARGIN) 1 $${base}-object.pbm | \
620
 
        $(PNMCUT) 0 0 29 25 | \
621
 
        $(PNMINVERT) | \
622
 
        $(PNMPASTE) -and $${base}-object.pbm 0 0 > $${base}-mask.pbm; \
623
 
        $(PPMTOXPM) $${base}-object.pbm | \
624
 
        $(SED) 's/#00*/grey50/' | \
625
 
        $(SED) 's/#FF*/grey/' | \
626
 
        $(XPMTOPPM) > $${base}-button.ppm; \
627
 
        $(PNMARITH) -add $${base}-button.ppm $${base}-mask.pbm | \
628
 
        $(PPMTOXPM) | \
629
 
        $(SED) 's/c #BE[BE]*/c none   g none   m none  s Background/' | \
630
 
        $(SED) 's/c #7F[7F]*/c grey50 g grey50 m black/' | \
631
 
        $(SED) 's/c #FF*/c white  g white  m white/' | \
632
 
        $(SED) "s/noname/$${base}_xx_xpm/" > $@~; \
633
 
        $(RM) $${base}-object.pbm $${base}-mask.pbm $${base}-button.ppm
634
 
        @test -s $@~ && $(MV) $@~ $@ || ($(RM) $@~; test -s $@)
635
 
 
636
 
.xpm.xbmxx:
637
 
        @$(ECHO) "Creating $@"
638
 
        @-base=`$(ECHO) $@ | $(SED) 's,.*/,,' | $(SED) 's/[.]x[bp]m.*//'`; \
639
 
        $(SED) 's/[     ]c[      ][#a-zA-Z0-9][#a-zA-Z0-9]*//' $< | \
640
 
        $(SED) 's/ g black  / g grey50 /' | \
641
 
        $(SED) 's/ g white  / g grey75 /' | \
642
 
        $(SED) 's/g \([a-zA-Z0-9]*\) /c \1 g \1 /' | \
643
 
        $(SED) 's/[nN]one/white/g' | \
644
 
        $(XPMTOPPM) | $(PNMDEPTH) 255 | $(PPMTOPGM) | $(PGMTOPBM) | \
645
 
        $(PBMTOXBM) | $(SED) "s/noname/$${base}_xx/" | \
646
 
        $(SED) "s/static char/static unsigned char/g" > $@~
647
 
        @test -s $@~ && $(MV) $@~ $@ || ($(RM) $@~; test -s $@)
648
 
 
649
 
## Picture conversions
650
 
 
651
 
# Width of image in HTML manual (pixels)
652
 
IMAGE_WIDTH = 600
653
 
 
654
 
# We use giftoppm/ppmtogif to get optimal GIF compression.
655
 
.eps.gif:
656
 
        $(CONVERT) -geometry $(IMAGE_WIDTH) $< $@
657
 
 
658
 
.eps.jpg:
659
 
        $(CONVERT) -geometry $(IMAGE_WIDTH) -quality 100 $< $@
660
 
 
661
 
.eps.png:
662
 
        $(CONVERT) -geometry $(IMAGE_WIDTH) -quality 100 $< $@
663
 
 
664
 
.eps.pdf:
665
 
        $(EPSTOPDF) $< --outfile=$@
666
 
 
667
 
.fig.eps:
668
 
        (cd `dirname $<` && $(FIG2PS) `basename $<` ) > $@
669
 
 
670
 
 
671
 
## Libraries and object files
672
 
# General-purpose utilities: strings, regexps, run-type type info...
673
 
BASE_OBJECTS = \
674
 
        basename.$(OBJEXT)   \
675
 
        compare.$(OBJEXT)    \
676
 
        cook.$(OBJEXT)       \
677
 
        cwd.$(OBJEXT)        \
678
 
        glob.$(OBJEXT)       \
679
 
        hash.$(OBJEXT)       \
680
 
        home.$(OBJEXT)       \
681
 
        rxclass.$(OBJEXT)    \
682
 
        sigName.$(OBJEXT)    \
683
 
        strclass.$(OBJEXT)   \
684
 
        tabs.$(OBJEXT)       \
685
 
        uniquify.$(OBJEXT)   \
686
 
        PrintGC.$(OBJEXT)    \
687
 
        SignalB.$(OBJEXT)    \
688
 
        TypeInfo.$(OBJEXT)   \
689
 
        UniqueId.$(OBJEXT)   \
690
 
        MemCheck.$(OBJEXT)
691
 
 
692
 
# Instantiated templates
693
 
TEMPLATE_OBJECTS = \
694
 
        IntIntAA.$(OBJEXT)   \
695
 
        StatArray.$(OBJEXT)  \
696
 
        StringA.$(OBJEXT)    \
697
 
        StringMap.$(OBJEXT)  \
698
 
        StringSA.$(OBJEXT)   \
699
 
        StringSAA.$(OBJEXT)  \
700
 
        VoidArray.$(OBJEXT)  \
701
 
        WidgetSA.$(OBJEXT)
702
 
 
703
 
# Interprocess communication
704
 
# Top-level class is `Agent', declared in `Agent.h'
705
 
AGENT_OBJECTS = \
706
 
        Agent.$(OBJEXT)      \
707
 
        AgentM.$(OBJEXT)     \
708
 
        AsyncAgent.$(OBJEXT) \
709
 
        ChunkQueue.$(OBJEXT) \
710
 
        DataLength.$(OBJEXT) \
711
 
        HandlerL.$(OBJEXT)   \
712
 
        LiterateA.$(OBJEXT)  \
713
 
        ReadLineA.$(OBJEXT)  \
714
 
        TimeOut.$(OBJEXT)    \
715
 
        TTYAgent.$(OBJEXT)
716
 
 
717
 
# Miscellaneous utilities for X programs: Motif strings, hourglasses,
718
 
# context-sensitive help...
719
 
XSTUFF_OBJECTS = \
720
 
        charsets.$(OBJEXT)   \
721
 
        converters.$(OBJEXT) \
722
 
        events.$(OBJEXT)     \
723
 
        findParent.$(OBJEXT) \
724
 
        findWindow.$(OBJEXT) \
725
 
        fileSBF.$(OBJEXT)    \
726
 
        frame.$(OBJEXT)      \
727
 
        longName.$(OBJEXT)   \
728
 
        selection.$(OBJEXT)  \
729
 
        verify.$(OBJEXT)     \
730
 
        AutoRaise.$(OBJEXT)  \
731
 
        Delay.$(OBJEXT)      \
732
 
        DestroyCB.$(OBJEXT)  \
733
 
        ExitCB.$(OBJEXT)     \
734
 
        InitImage.$(OBJEXT)  \
735
 
        Swallower.$(OBJEXT)  \
736
 
        XErrorB.$(OBJEXT)
737
 
 
738
 
# Same, but for Motif
739
 
MSTUFF_OBJECTS = \
740
 
        freeXmST.$(OBJEXT)   \
741
 
        LabelH.$(OBJEXT)     \
742
 
        LessTifH.$(OBJEXT)   \
743
 
        MakeMenu.$(OBJEXT)   \
744
 
        MString.$(OBJEXT)    \
745
 
        ComboBox.$(OBJEXT)   \
746
 
        SpinBox.$(OBJEXT)    \
747
 
        TextSetS.$(OBJEXT)
748
 
 
749
 
# Box library - rectangular composible graphical items
750
 
# Top-level class is `Box', declared in `Box.h'
751
 
BOX_OBJECTS = \
752
 
        printBox.$(OBJEXT)   \
753
 
        AlignBox.$(OBJEXT)   \
754
 
        ArcBox.$(OBJEXT)     \
755
 
        BinBox.$(OBJEXT)     \
756
 
        Box.$(OBJEXT)        \
757
 
        BoxD.$(OBJEXT)       \
758
 
        BoxExtend.$(OBJEXT)  \
759
 
        BoxPoint.$(OBJEXT)   \
760
 
        BoxRegion.$(OBJEXT)  \
761
 
        BoxSize.$(OBJEXT)    \
762
 
        ColorBox.$(OBJEXT)   \
763
 
        CompositeB.$(OBJEXT) \
764
 
        DiagBox.$(OBJEXT)    \
765
 
        DummyBox.$(OBJEXT)   \
766
 
        FixBox.$(OBJEXT)     \
767
 
        FontFixBox.$(OBJEXT) \
768
 
        FontTable.$(OBJEXT)  \
769
 
        HatBox.$(OBJEXT)     \
770
 
        LineBox.$(OBJEXT)    \
771
 
        ListBox.$(OBJEXT)    \
772
 
        MarkBox.$(OBJEXT)    \
773
 
        MatchBox.$(OBJEXT)   \
774
 
        PrimitiveB.$(OBJEXT) \
775
 
        SlopeBox.$(OBJEXT)   \
776
 
        StringBox.$(OBJEXT)  \
777
 
        THatBox.$(OBJEXT)    \
778
 
        TagBox.$(OBJEXT)     \
779
 
        TrueBox.$(OBJEXT)
780
 
 
781
 
# VSL library - building boxes from structured data
782
 
# Top-level class is `VSLLib', declared in `VSLLib.h'
783
 
VSL_OBJECTS = \
784
 
        ArgNode.$(OBJEXT)    \
785
 
        BuiltinCN.$(OBJEXT)  \
786
 
        CallNode.$(OBJEXT)   \
787
 
        ConstNode.$(OBJEXT)  \
788
 
        DefCallN.$(OBJEXT)   \
789
 
        DummyNode.$(OBJEXT)  \
790
 
        LetNode.$(OBJEXT)    \
791
 
        NameNode.$(OBJEXT)   \
792
 
        ListNode.$(OBJEXT)   \
793
 
        TestNode.$(OBJEXT)   \
794
 
        ThemeVSLL.$(OBJEXT)  \
795
 
        TrueNode.$(OBJEXT)   \
796
 
        VSEFlags.$(OBJEXT)   \
797
 
        VSLArgList.$(OBJEXT) \
798
 
        VSLBuiltin.$(OBJEXT) \
799
 
        VSLDef.$(OBJEXT)     \
800
 
        VSLDefList.$(OBJEXT) \
801
 
        VSLErr.$(OBJEXT)     \
802
 
        VSLLib.$(OBJEXT)     \
803
 
        VSLNode.$(OBJEXT)    \
804
 
        VSLRead.$(OBJEXT)
805
 
 
806
 
# Graph structure, graph layout and graph editor widget
807
 
# Top-level classes are `Graph', declared in `Graph.h'
808
 
# and the `GraphEdit' widget, deckared in `GraphEdit.h'.
809
 
GRAPH_OBJECTS = \
810
 
        ArcGraphE.$(OBJEXT)  \
811
 
        BoxEdgeA.$(OBJEXT)   \
812
 
        BoxGraphN.$(OBJEXT)  \
813
 
        EdgeA.$(OBJEXT)      \
814
 
        EdgeAPA.$(OBJEXT)    \
815
 
        Graph.$(OBJEXT)      \
816
 
        GraphEdge.$(OBJEXT)  \
817
 
        GraphEdit.$(OBJEXT)  \
818
 
        GraphGC.$(OBJEXT)    \
819
 
        GraphNode.$(OBJEXT)  \
820
 
        GraphNPA.$(OBJEXT)   \
821
 
        HintGraphN.$(OBJEXT) \
822
 
        LineGraphE.$(OBJEXT) \
823
 
        LineGESI.$(OBJEXT)   \
824
 
        PannedGE.$(OBJEXT)   \
825
 
        PosGraphN.$(OBJEXT)  \
826
 
        RegionGN.$(OBJEXT)   \
827
 
        ScrolledGE.$(OBJEXT) \
828
 
        layout.$(OBJEXT)
829
 
 
830
 
# All these objects were originally part of the NORA library; they are
831
 
# now maintained as part of DDD.
832
 
LIB_OBJECTS = \
833
 
        $(BASE_OBJECTS)   \
834
 
        $(TEMPLATE_OBJECTS)  \
835
 
        $(AGENT_OBJECTS)  \
836
 
        $(XSTUFF_OBJECTS) \
837
 
        $(MSTUFF_OBJECTS) \
838
 
        $(BOX_OBJECTS)    \
839
 
        $(VSL_OBJECTS)    \
840
 
        $(GRAPH_OBJECTS)
841
 
 
842
 
# The DDD application itself.  `ddd.C' is the main program, `SourceView.C'
843
 
# is the source window, `DataDisp.C' is the data window.
844
 
DDD_OBJECTS = \
845
 
        annotation.$(OBJEXT) \
846
 
        args.$(OBJEXT)       \
847
 
        buttons.$(OBJEXT)    \
848
 
        cmdtty.$(OBJEXT)     \
849
 
        comm-manag.$(OBJEXT) \
850
 
        complete.$(OBJEXT)   \
851
 
        ctrl.$(OBJEXT)       \
852
 
        data.$(OBJEXT)       \
853
 
        dbx-lookup.$(OBJEXT) \
854
 
        decoration.$(OBJEXT) \
855
 
        deref.$(OBJEXT)      \
856
 
        disp-read.$(OBJEXT)  \
857
 
        editing.$(OBJEXT)    \
858
 
        environ.$(OBJEXT)    \
859
 
        examine.$(OBJEXT)    \
860
 
        exectty.$(OBJEXT)    \
861
 
        exit.$(OBJEXT)       \
862
 
        expired.$(OBJEXT)    \
863
 
        file.$(OBJEXT)       \
864
 
        filetype.$(OBJEXT)   \
865
 
        fonts.$(OBJEXT)      \
866
 
        fortranize.$(OBJEXT) \
867
 
        gdbinit.$(OBJEXT)    \
868
 
        history.$(OBJEXT)    \
869
 
        hostname.$(OBJEXT)   \
870
 
        index.$(OBJEXT)      \
871
 
        isid.$(OBJEXT)       \
872
 
        java.$(OBJEXT)       \
873
 
        logo.$(OBJEXT)       \
874
 
        logplayer.$(OBJEXT)  \
875
 
        mainloop.$(OBJEXT)   \
876
 
        mydialogs.$(OBJEXT)  \
877
 
        options.$(OBJEXT)    \
878
 
        plotter.$(OBJEXT)    \
879
 
        post.$(OBJEXT)       \
880
 
        print.$(OBJEXT)      \
881
 
        question.$(OBJEXT)   \
882
 
        regexps.$(OBJEXT)    \
883
 
        resources.$(OBJEXT)  \
884
 
        sashes.$(OBJEXT)     \
885
 
        select.$(OBJEXT)     \
886
 
        session.$(OBJEXT)    \
887
 
        settings.$(OBJEXT)   \
888
 
        shell.$(OBJEXT)      \
889
 
        shorten.$(OBJEXT)    \
890
 
        show.$(OBJEXT)       \
891
 
        simpleMenu.$(OBJEXT) \
892
 
        configinfo.$(OBJEXT) \
893
 
        source.$(OBJEXT)     \
894
 
        status.$(OBJEXT)     \
895
 
        string-fun.$(OBJEXT) \
896
 
        tictactoe.$(OBJEXT)  \
897
 
        tips.$(OBJEXT)       \
898
 
        toolbar.$(OBJEXT)    \
899
 
        ungrab.$(OBJEXT)     \
900
 
        value-read.$(OBJEXT) \
901
 
        vsldoc.$(OBJEXT)     \
902
 
        windows.$(OBJEXT)    \
903
 
        wm.$(OBJEXT)         \
904
 
        xconfig.$(OBJEXT)    \
905
 
        AliasGE.$(OBJEXT)    \
906
 
        ArgField.$(OBJEXT)   \
907
 
        BreakPoint.$(OBJEXT) \
908
 
        BreakPM.$(OBJEXT)    \
909
 
        CodeCache.$(OBJEXT)  \
910
 
        Command.$(OBJEXT)    \
911
 
        DataDisp.$(OBJEXT)   \
912
 
        DispBox.$(OBJEXT)    \
913
 
        DispBuffer.$(OBJEXT) \
914
 
        DispGraph.$(OBJEXT)  \
915
 
        DispNode.$(OBJEXT)   \
916
 
        DispNodeM.$(OBJEXT)  \
917
 
        DispValue.$(OBJEXT)  \
918
 
        DispValueA.$(OBJEXT) \
919
 
        DispValueT.$(OBJEXT) \
920
 
        EntryType.$(OBJEXT)  \
921
 
        GDBAgent.$(OBJEXT)   \
922
 
        HelpCB.$(OBJEXT)     \
923
 
        HistoryD.$(OBJEXT)   \
924
 
        HistoryF.$(OBJEXT)   \
925
 
        MinMaxA.$(OBJEXT)    \
926
 
        PlotAgent.$(OBJEXT)  \
927
 
        PlotArea.$(OBJEXT)   \
928
 
        PosBuffer.$(OBJEXT)  \
929
 
        ProgressM.$(OBJEXT)  \
930
 
        RefreshDI.$(OBJEXT)  \
931
 
        SmartC.$(OBJEXT)     \
932
 
        SourceView.$(OBJEXT) \
933
 
        StringTPA.$(OBJEXT)  \
934
 
        ThemeM.$(OBJEXT)     \
935
 
        ThemeP.$(OBJEXT)     \
936
 
        Tool.$(OBJEXT)       \
937
 
        UndoBuffer.$(OBJEXT) \
938
 
        UndoBE.$(OBJEXT)     \
939
 
        WhatNextCB.$(OBJEXT)
940
 
 
941
 
# Objects required for userinfo
942
 
USERINFO_OBJECTS =
943
 
 
944
 
# Objects required for huffencode and huffdecode
945
 
HUFFMAN_OBJECTS = strclass.$(OBJEXT) cook.$(OBJEXT) rxclass.$(OBJEXT)
946
 
 
947
 
## All objects.
948
 
OBJECTS = $(LIB_OBJECTS) $(DDD_OBJECTS)
949
 
 
950
 
## The program files.
951
 
# We use `./ddd' to prevent Solaris VPATH-enabled make from selecting
952
 
# the `ddd' directory instead.
953
 
PROGS = $(ddd_canonical)$(EXEEXT) ./$(ddd)$(EXEEXT)
954
 
 
955
 
## The program files to be installed.
956
 
INSTALL_PROGS = ./$(ddd)$(EXEEXT)
957
 
 
958
 
## Extra demonstration files.
959
 
DEMOS = userinfo$(EXEEXT) stringify$(EXEEXT) huffencode$(EXEEXT) \
960
 
        huffdecode$(EXEEXT) cxxtest$(EXEEXT) ctest$(EXEEXT) grabtest$(EXEEXT) \
961
 
        ftest$(EXEEXT) ptest$(EXEEXT) m2test$(EXEEXT) \
962
 
        test-file$(EXEEXT) test-graph$(EXEEXT) vsl$(EXEEXT) ttytest$(EXEEXT) \
963
 
        bug$(EXEEXT) sample$(EXEEXT) tString$(EXEEXT) \
964
 
        mmtest$(EXEEXT) gcore$(EXEEXT) logplayer$(EXEEXT)
965
 
 
966
 
 
967
 
## Documentation.
968
 
## The index files.
969
 
IDXS = *.cp *.fn *.ky *.pg *.tp *.vr
970
 
 
971
 
## The dvi files.
972
 
docdir = $(srcdir)/../doc
973
 
DVIS =  ddd.dvi
974
 
 
975
 
## The postscript files.
976
 
PSS = $(docdir)/ddd.ps
977
 
 
978
 
## The PDF files.
979
 
PDFS = $(docdir)/ddd.pdf
980
 
 
981
 
## The HTML files.
982
 
htmldir = $(docdir)/html
983
 
HTMLS = $(htmldir)/index.html $(docdir)/sample.c
984
 
 
985
 
## The info files.
986
 
INFO = $(docdir)/ddd.info
987
 
INFOS = $(docdir)/ddd.info*
988
 
 
989
 
## PostScript pictures in the DDD manual.
990
 
# All of these are generated from FIG and XPM files.
991
 
picdir = $(srcdir)/PICS
992
 
PS_IMAGES = \
993
 
        $(picdir)/disclaimer.eps           \
994
 
        $(picdir)/dddlogo.eps              \
995
 
        $(picdir)/dddsplash.eps            \
996
 
        $(picdir)/ddd-aliases.eps          \
997
 
        $(picdir)/ddd-all.eps              \
998
 
        $(picdir)/ddd-arguments.eps        \
999
 
        $(picdir)/ddd-attach.eps           \
1000
 
        $(picdir)/ddd-backtrace.eps        \
1001
 
        $(picdir)/ddd-bp-popup.eps         \
1002
 
        $(picdir)/ddd-bp-properties.eps    \
1003
 
        $(picdir)/ddd-button-editor.eps    \
1004
 
        $(picdir)/ddd-clusters.eps         \
1005
 
        $(picdir)/ddd-code.eps             \
1006
 
        $(picdir)/ddd-console.eps          \
1007
 
        $(picdir)/ddd-data-prefs.eps       \
1008
 
        $(picdir)/ddd-define-command.eps   \
1009
 
        $(picdir)/ddd-display.eps          \
1010
 
        $(picdir)/ddd-drag.eps             \
1011
 
        $(picdir)/ddd-edit-breakpoints.eps \
1012
 
        $(picdir)/ddd-edit-displays.eps    \
1013
 
        $(picdir)/ddd-examine.eps          \
1014
 
        $(picdir)/ddd-font-prefs.eps       \
1015
 
        $(picdir)/ddd-general-prefs.eps    \
1016
 
        $(picdir)/ddd-helpers.eps          \
1017
 
        $(picdir)/ddd-hide-display.eps     \
1018
 
        $(picdir)/ddd-history.eps          \
1019
 
        $(picdir)/ddd-layout.eps           \
1020
 
        $(picdir)/ddd-line-popup.eps       \
1021
 
        $(picdir)/ddd-locals.eps           \
1022
 
        $(picdir)/ddd-open.eps             \
1023
 
        $(picdir)/ddd-open-session.eps     \
1024
 
        $(picdir)/ddd-plots.eps            \
1025
 
        $(picdir)/ddd-print-graph.eps      \
1026
 
        $(picdir)/ddd-print-output.eps     \
1027
 
        $(picdir)/ddd-print-popup.eps      \
1028
 
        $(picdir)/ddd-registers.eps        \
1029
 
        $(picdir)/ddd-repeats.eps          \
1030
 
        $(picdir)/ddd-rotate-display.eps   \
1031
 
        $(picdir)/ddd-save-session.eps     \
1032
 
        $(picdir)/ddd-select-display.eps   \
1033
 
        $(picdir)/ddd-separate.eps         \
1034
 
        $(picdir)/ddd-set.eps              \
1035
 
        $(picdir)/ddd-settings.eps         \
1036
 
        $(picdir)/ddd-shortcuts.eps        \
1037
 
        $(picdir)/ddd-shortcut-editor.eps  \
1038
 
        $(picdir)/ddd-signals.eps          \
1039
 
        $(picdir)/ddd-source-popup.eps     \
1040
 
        $(picdir)/ddd-source-prefs.eps     \
1041
 
        $(picdir)/ddd-source.eps           \
1042
 
        $(picdir)/ddd-startup-prefs.eps    \
1043
 
        $(picdir)/ddd-status-displays.eps  \
1044
 
        $(picdir)/ddd-threads.eps          \
1045
 
        $(picdir)/ddd-tool.eps             \
1046
 
        $(picdir)/ddd-toolbar.eps          \
1047
 
        $(picdir)/ddd-toolbars.eps         \
1048
 
        $(picdir)/ddd-value-tip.eps        \
1049
 
        $(picdir)/tut-backtrace.eps        \
1050
 
        $(picdir)/tut-display.eps          \
1051
 
        $(picdir)/tut-finish.eps           \
1052
 
        $(picdir)/tut-invoke.eps           \
1053
 
        $(picdir)/tut-run.eps              \
1054
 
        $(picdir)/tut-set.eps              \
1055
 
        $(picdir)/tut-value.eps
1056
 
 
1057
 
PDF_IMAGES = \
1058
 
        $(picdir)/disclaimer.pdf           \
1059
 
        $(picdir)/dddback.pdf              \
1060
 
        $(picdir)/dddlogo.pdf              \
1061
 
        $(picdir)/dddsplash.pdf            \
1062
 
        $(picdir)/ddd-aliases.pdf          \
1063
 
        $(picdir)/ddd-all.pdf              \
1064
 
        $(picdir)/ddd-arguments.pdf        \
1065
 
        $(picdir)/ddd-attach.pdf           \
1066
 
        $(picdir)/ddd-backtrace.pdf        \
1067
 
        $(picdir)/ddd-bp-popup.pdf         \
1068
 
        $(picdir)/ddd-bp-properties.pdf    \
1069
 
        $(picdir)/ddd-button-editor.pdf    \
1070
 
        $(picdir)/ddd-clusters.pdf         \
1071
 
        $(picdir)/ddd-code.pdf             \
1072
 
        $(picdir)/ddd-console.pdf          \
1073
 
        $(picdir)/ddd-data-prefs.pdf       \
1074
 
        $(picdir)/ddd-define-command.pdf   \
1075
 
        $(picdir)/ddd-display.pdf          \
1076
 
        $(picdir)/ddd-drag.pdf             \
1077
 
        $(picdir)/ddd-edit-breakpoints.pdf \
1078
 
        $(picdir)/ddd-edit-displays.pdf    \
1079
 
        $(picdir)/ddd-examine.pdf          \
1080
 
        $(picdir)/ddd-font-prefs.pdf       \
1081
 
        $(picdir)/ddd-general-prefs.pdf    \
1082
 
        $(picdir)/ddd-helpers.pdf          \
1083
 
        $(picdir)/ddd-hide-display.pdf     \
1084
 
        $(picdir)/ddd-history.pdf          \
1085
 
        $(picdir)/ddd-layout.pdf           \
1086
 
        $(picdir)/ddd-line-popup.pdf       \
1087
 
        $(picdir)/ddd-locals.pdf           \
1088
 
        $(picdir)/ddd-open.pdf             \
1089
 
        $(picdir)/ddd-open-session.pdf     \
1090
 
        $(picdir)/ddd-plots.pdf            \
1091
 
        $(picdir)/ddd-print-graph.pdf      \
1092
 
        $(picdir)/ddd-print-output.pdf     \
1093
 
        $(picdir)/ddd-print-popup.pdf      \
1094
 
        $(picdir)/ddd-registers.pdf        \
1095
 
        $(picdir)/ddd-repeats.pdf          \
1096
 
        $(picdir)/ddd-rotate-display.pdf   \
1097
 
        $(picdir)/ddd-save-session.pdf     \
1098
 
        $(picdir)/ddd-select-display.pdf   \
1099
 
        $(picdir)/ddd-separate.pdf         \
1100
 
        $(picdir)/ddd-set.pdf              \
1101
 
        $(picdir)/ddd-settings.pdf         \
1102
 
        $(picdir)/ddd-shortcuts.pdf        \
1103
 
        $(picdir)/ddd-shortcut-editor.pdf  \
1104
 
        $(picdir)/ddd-signals.pdf          \
1105
 
        $(picdir)/ddd-source-popup.pdf     \
1106
 
        $(picdir)/ddd-source-prefs.pdf     \
1107
 
        $(picdir)/ddd-source.pdf           \
1108
 
        $(picdir)/ddd-startup-prefs.pdf    \
1109
 
        $(picdir)/ddd-status-displays.pdf  \
1110
 
        $(picdir)/ddd-threads.pdf          \
1111
 
        $(picdir)/ddd-tool.pdf             \
1112
 
        $(picdir)/ddd-toolbar.pdf          \
1113
 
        $(picdir)/ddd-toolbars.pdf         \
1114
 
        $(picdir)/ddd-value-tip.pdf        \
1115
 
        $(picdir)/tut-backtrace.pdf        \
1116
 
        $(picdir)/tut-display.pdf          \
1117
 
        $(picdir)/tut-finish.pdf           \
1118
 
        $(picdir)/tut-invoke.pdf           \
1119
 
        $(picdir)/tut-run.pdf              \
1120
 
        $(picdir)/tut-set.pdf              \
1121
 
        $(picdir)/tut-value.pdf
1122
 
 
1123
 
HTML_IMAGES = \
1124
 
        $(picdir)/disclaimer$(IMGEXT)           \
1125
 
        $(picdir)/dddback$(IMGEXT)              \
1126
 
        $(picdir)/dddlogo$(IMGEXT)              \
1127
 
        $(picdir)/dddsplash$(IMGEXT)            \
1128
 
        $(picdir)/ddd-aliases$(IMGEXT)          \
1129
 
        $(picdir)/ddd-all$(IMGEXT)              \
1130
 
        $(picdir)/ddd-arguments$(IMGEXT)        \
1131
 
        $(picdir)/ddd-attach$(IMGEXT)           \
1132
 
        $(picdir)/ddd-backtrace$(IMGEXT)        \
1133
 
        $(picdir)/ddd-bp-popup$(IMGEXT)         \
1134
 
        $(picdir)/ddd-bp-properties$(IMGEXT)    \
1135
 
        $(picdir)/ddd-button-editor$(IMGEXT)    \
1136
 
        $(picdir)/ddd-clusters$(IMGEXT)         \
1137
 
        $(picdir)/ddd-code$(IMGEXT)             \
1138
 
        $(picdir)/ddd-console$(IMGEXT)          \
1139
 
        $(picdir)/ddd-data-prefs$(IMGEXT)       \
1140
 
        $(picdir)/ddd-define-command$(IMGEXT)   \
1141
 
        $(picdir)/ddd-display$(IMGEXT)          \
1142
 
        $(picdir)/ddd-drag$(IMGEXT)             \
1143
 
        $(picdir)/ddd-edit-breakpoints$(IMGEXT) \
1144
 
        $(picdir)/ddd-edit-displays$(IMGEXT)    \
1145
 
        $(picdir)/ddd-examine$(IMGEXT)          \
1146
 
        $(picdir)/ddd-font-prefs$(IMGEXT)       \
1147
 
        $(picdir)/ddd-general-prefs$(IMGEXT)    \
1148
 
        $(picdir)/ddd-helpers$(IMGEXT)          \
1149
 
        $(picdir)/ddd-hide-display$(IMGEXT)     \
1150
 
        $(picdir)/ddd-history$(IMGEXT)          \
1151
 
        $(picdir)/ddd-layout$(IMGEXT)           \
1152
 
        $(picdir)/ddd-line-popup$(IMGEXT)       \
1153
 
        $(picdir)/ddd-locals$(IMGEXT)           \
1154
 
        $(picdir)/ddd-open$(IMGEXT)             \
1155
 
        $(picdir)/ddd-open-session$(IMGEXT)     \
1156
 
        $(picdir)/ddd-plots$(IMGEXT)            \
1157
 
        $(picdir)/ddd-print-graph$(IMGEXT)      \
1158
 
        $(picdir)/ddd-print-output$(IMGEXT)     \
1159
 
        $(picdir)/ddd-print-popup$(IMGEXT)      \
1160
 
        $(picdir)/ddd-registers$(IMGEXT)        \
1161
 
        $(picdir)/ddd-repeats$(IMGEXT)          \
1162
 
        $(picdir)/ddd-rotate-display$(IMGEXT)   \
1163
 
        $(picdir)/ddd-save-session$(IMGEXT)     \
1164
 
        $(picdir)/ddd-select-display$(IMGEXT)   \
1165
 
        $(picdir)/ddd-separate$(IMGEXT)         \
1166
 
        $(picdir)/ddd-set$(IMGEXT)              \
1167
 
        $(picdir)/ddd-settings$(IMGEXT)         \
1168
 
        $(picdir)/ddd-shortcuts$(IMGEXT)        \
1169
 
        $(picdir)/ddd-shortcut-editor$(IMGEXT)  \
1170
 
        $(picdir)/ddd-signals$(IMGEXT)          \
1171
 
        $(picdir)/ddd-source-popup$(IMGEXT)     \
1172
 
        $(picdir)/ddd-source-prefs$(IMGEXT)     \
1173
 
        $(picdir)/ddd-source$(IMGEXT)           \
1174
 
        $(picdir)/ddd-startup-prefs$(IMGEXT)    \
1175
 
        $(picdir)/ddd-status-displays$(IMGEXT)  \
1176
 
        $(picdir)/ddd-threads$(IMGEXT)          \
1177
 
        $(picdir)/ddd-tool$(IMGEXT)             \
1178
 
        $(picdir)/ddd-toolbar$(IMGEXT)          \
1179
 
        $(picdir)/ddd-toolbars$(IMGEXT)         \
1180
 
        $(picdir)/ddd-value-tip$(IMGEXT)        \
1181
 
        $(picdir)/tut-backtrace$(IMGEXT)        \
1182
 
        $(picdir)/tut-display$(IMGEXT)          \
1183
 
        $(picdir)/tut-finish$(IMGEXT)           \
1184
 
        $(picdir)/tut-invoke$(IMGEXT)           \
1185
 
        $(picdir)/tut-run$(IMGEXT)              \
1186
 
        $(picdir)/tut-set$(IMGEXT)              \
1187
 
        $(picdir)/tut-value$(IMGEXT)
1188
 
 
1189
 
 
1190
 
## The manual page(s).
1191
 
MANS = ddd.man
1192
 
 
1193
 
## The (derived) icons.
1194
 
# Icon directories
1195
 
icondir = $(srcdir)/../icons
1196
 
toolbardir = $(icondir)/toolbar
1197
 
 
1198
 
# XBM icons are derived from XPM sources
1199
 
XBM_ICONS = \
1200
 
        $(toolbardir)/breakat.xbm \
1201
 
        $(toolbardir)/clearat.xbm \
1202
 
        $(toolbardir)/cluster.xbm \
1203
 
        $(toolbardir)/delete.xbm \
1204
 
        $(toolbardir)/deref.xbm \
1205
 
        $(toolbardir)/disable.xbm \
1206
 
        $(toolbardir)/display.xbm \
1207
 
        $(toolbardir)/findbwd.xbm \
1208
 
        $(toolbardir)/findfwd.xbm \
1209
 
        $(toolbardir)/enable.xbm \
1210
 
        $(toolbardir)/hide.xbm \
1211
 
        $(toolbardir)/lookup.xbm \
1212
 
        $(toolbardir)/maketemp.xbm \
1213
 
        $(toolbardir)/newbreak.xbm \
1214
 
        $(toolbardir)/newdisplay.xbm \
1215
 
        $(toolbardir)/newwatch.xbm \
1216
 
        $(toolbardir)/plot.xbm \
1217
 
        $(toolbardir)/print.xbm \
1218
 
        $(toolbardir)/properties.xbm \
1219
 
        $(toolbardir)/rotate.xbm \
1220
 
        $(toolbardir)/set.xbm \
1221
 
        $(toolbardir)/show.xbm \
1222
 
        $(toolbardir)/uncluster.xbm \
1223
 
        $(toolbardir)/undisplay.xbm \
1224
 
        $(toolbardir)/unwatch.xbm \
1225
 
        $(toolbardir)/watch.xbm 
1226
 
 
1227
 
# XPMXX icons (insensitive XPM icons) are derived from XBM sources
1228
 
XPM_XX_ICONS = \
1229
 
        $(toolbardir)/breakat.xpmxx \
1230
 
        $(toolbardir)/clearat.xpmxx \
1231
 
        $(toolbardir)/cluster.xpmxx \
1232
 
        $(toolbardir)/delete.xpmxx \
1233
 
        $(toolbardir)/deref.xpmxx \
1234
 
        $(toolbardir)/disable.xpmxx \
1235
 
        $(toolbardir)/display.xpmxx \
1236
 
        $(toolbardir)/findbwd.xpmxx \
1237
 
        $(toolbardir)/findfwd.xpmxx \
1238
 
        $(toolbardir)/enable.xpmxx \
1239
 
        $(toolbardir)/hide.xpmxx \
1240
 
        $(toolbardir)/lookup.xpmxx \
1241
 
        $(toolbardir)/maketemp.xpmxx \
1242
 
        $(toolbardir)/newbreak.xpmxx \
1243
 
        $(toolbardir)/newdisplay.xpmxx \
1244
 
        $(toolbardir)/newwatch.xpmxx \
1245
 
        $(toolbardir)/plot.xpmxx \
1246
 
        $(toolbardir)/print.xpmxx \
1247
 
        $(toolbardir)/properties.xpmxx \
1248
 
        $(toolbardir)/rotate.xpmxx \
1249
 
        $(toolbardir)/set.xpmxx \
1250
 
        $(toolbardir)/show.xpmxx \
1251
 
        $(toolbardir)/uncluster.xpmxx \
1252
 
        $(toolbardir)/undisplay.xpmxx \
1253
 
        $(toolbardir)/unwatch.xpmxx \
1254
 
        $(toolbardir)/watch.xpmxx 
1255
 
 
1256
 
# XBMXX icons (insensitive XBM icons) are derived from XPM sources
1257
 
XBM_XX_ICONS = \
1258
 
        $(toolbardir)/breakat.xbmxx \
1259
 
        $(toolbardir)/clearat.xbmxx \
1260
 
        $(toolbardir)/cluster.xbmxx \
1261
 
        $(toolbardir)/delete.xbmxx \
1262
 
        $(toolbardir)/deref.xbmxx \
1263
 
        $(toolbardir)/disable.xbmxx \
1264
 
        $(toolbardir)/display.xbmxx \
1265
 
        $(toolbardir)/findbwd.xbmxx \
1266
 
        $(toolbardir)/findfwd.xbmxx \
1267
 
        $(toolbardir)/enable.xbmxx \
1268
 
        $(toolbardir)/hide.xbmxx \
1269
 
        $(toolbardir)/lookup.xbmxx \
1270
 
        $(toolbardir)/maketemp.xbmxx \
1271
 
        $(toolbardir)/newbreak.xbmxx \
1272
 
        $(toolbardir)/newdisplay.xbmxx \
1273
 
        $(toolbardir)/newwatch.xbmxx \
1274
 
        $(toolbardir)/plot.xbmxx \
1275
 
        $(toolbardir)/print.xbmxx \
1276
 
        $(toolbardir)/properties.xbmxx \
1277
 
        $(toolbardir)/rotate.xbmxx \
1278
 
        $(toolbardir)/set.xbmxx \
1279
 
        $(toolbardir)/show.xbmxx \
1280
 
        $(toolbardir)/uncluster.xbmxx \
1281
 
        $(toolbardir)/undisplay.xbmxx \
1282
 
        $(toolbardir)/unwatch.xbmxx \
1283
 
        $(toolbardir)/watch.xbmxx
1284
 
 
1285
 
# All derived icons
1286
 
# Order is significant here!  First sources, then derived files.
1287
 
ICONS = \
1288
 
        $(icondir)/ddd.xbm \
1289
 
        $(icondir)/dddmask.xbm \
1290
 
        $(icondir)/dddsplash.xbm \
1291
 
        $(icondir)/ddd.xface \
1292
 
        $(XBM_ICONS) \
1293
 
        $(XPM_XX_ICONS) \
1294
 
        $(XBM_XX_ICONS)
1295
 
 
1296
 
 
1297
 
## Readme files built from ddd.texi
1298
 
README_FILES = 
1299
 
 
1300
 
## GDB symbol files
1301
 
SYMS = $(ddd).syms $(ddd_canonical).syms
1302
 
 
1303
 
 
1304
 
## Intermediate files
1305
 
 
1306
 
# Architecture-independent files required for building DDD.
1307
 
# In a distribution, these should be already built.
1308
 
#
1309
 
# Order is significant here!  First source files, then derived files.
1310
 
PROG_STUFF       = vsl-lex.C vsl-gramma.h vsl-gramma.C rxscan.C \
1311
 
                   acconfig.h acspecial.h stamp-h.in config.h \
1312
 
                   $(srcdir)/tips.m4 $(srcdir)/tips.html \
1313
 
                   $(srcdir)/Ddd.in Ddd.ad.h host.h \
1314
 
                   $(srcdir)/ddd.vsl $(srcdir)/ddd.vsl.h \
1315
 
                   vr.h version.h bld.h build.h configinfo.C \
1316
 
                   COPYING.gz.C NEWS.gz.C ddd.info.txt.gz.C \
1317
 
                   xlibdir.C eps-code.h .gdbinit \
1318
 
                   ../$(ddd)-$(VERSION)-$(REL).spec
1319
 
 
1320
 
# Extra files to be built for the distribution
1321
 
# In a distribution, these should be already built.
1322
 
DIST_STUFF       = $(PROG_STUFF) $(MANS) $(PSS) $(PDFS) $(HTMLS) $(ICONS)
1323
 
 
1324
 
# Temporary Files to be cleaned, keeping configuration intact
1325
 
CLEAN_STUFF      = $(ddd)-$(VERSION)-* $(PROGS) $(DEMOS) \
1326
 
                   core *.$(OBJEXT) *.a *.s *.i \
1327
 
                   tmp* *.tmp .*hist* *.syms *.log dddgraph.* \
1328
 
                   *.au *.aus *.aux *.cm *.cms *.cp *.cps *.en *.ens \
1329
 
                   *.fl *.flc *.fls *.fn *.fns *.ky *.kys *.lb *.lbs \
1330
 
                   *.log *.pg *.pgs *.toc *.tp *.tps *.vr *.vrs \
1331
 
                   *.info *.info-* *.html *.dvi *.pdf *.tmp \
1332
 
                   gpl.texinfo lgpl.texinfo texinfo.tex epsf.tex xepsf.tex \
1333
 
                   *.tar *.tar.gz *~ lex.* y.tab.* site.* *.sum \
1334
 
                   *.diff *.private USERINFO *.huff.C \
1335
 
                   *.txt.gz COPYING.gz NEWS.gz *.gz.C
1336
 
 
1337
 
# Architecture-dependent files to be deleted from distribution
1338
 
DISTCLEAN_STUFF  = $(CLEAN_STUFF) \
1339
 
                   config.status config.h host.h paths.h \
1340
 
                   Makefile MakeOut LOG OOBR OOBR-FTR TAGS \
1341
 
                   config.log config.cache configinfo.C stamp-h \
1342
 
                   Ddd Ddd.ad.h ddd.man-nopics \
1343
 
                   $(PS_IMAGES) $(HTML_IMAGES) $(PDF_IMAGES)
1344
 
 
1345
 
# Any files that can be reconstructed, except configure script
1346
 
REALCLEAN_STUFF  = $(DISTCLEAN_STUFF) $(DIST_STUFF) \
1347
 
                   header.str trailer.str eps-code.h \
1348
 
                   vr.h bld.h cfg.texi $(MANS)
1349
 
 
1350
 
# All files that can be reconstructed (but may require special programs)
1351
 
ULTRACLEAN_STUFF = $(REALCLEAN_STUFF) \
1352
 
                   config.h.in stamp-h.in configure Makedeps \
1353
 
                   $(README_FILES) $(docdir)/sample.c \
1354
 
                   $(htmldir)/*.html $(htmldir)/PICS $(srcdir)/Ddd.in
1355
 
 
1356
 
 
1357
 
## Targets as specified in GNU standards.
1358
 
all:    ddd-message $(PROG_STUFF) $(PROGS) ddd-done
1359
 
        @:
1360
 
.PHONY: all
1361
 
 
1362
 
.PHONY: ddd-message
1363
 
ddd-message:
1364
 
        @$(ECHO) "Building $(ddd_canonical)..."
1365
 
 
1366
 
.PHONY: ddd-done
1367
 
ddd-done: ./$(ddd)$(EXEEXT)
1368
 
        @$(ECHO) "Building $(ddd_canonical)... done."
1369
 
        @$(ECHO) "You may now type \`$(MAKE) check' for a test."
1370
 
 
1371
 
.PHONY: install
1372
 
install: install-prog install-man install-info
1373
 
        @:
1374
 
 
1375
 
.PHONY: install-strip
1376
 
install-strip:
1377
 
        $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
1378
 
 
1379
 
.PHONY: uninstall
1380
 
uninstall: uninstall-prog uninstall-man uninstall-info
1381
 
        @:
1382
 
 
1383
 
# install-prog does not depend on $(PROGS) 
1384
 
# since we may have precompiled packages
1385
 
.PHONY: install-prog
1386
 
install-prog:
1387
 
        -parent=`$(ECHO) $(bindir) | $(SED) -e 's@/[^/]*$$@@'`; \
1388
 
        grandparent=`$(ECHO) $$parent | $(SED) -e 's@/[^/]*$$@@'`; \
1389
 
        test -d $$grandparent || $(MKDIR) $$grandparent; \
1390
 
        test -d $$parent || $(MKDIR) $$parent
1391
 
        -test -d $(bindir) || $(MKDIR) $(bindir)
1392
 
        for p in $(INSTALL_PROGS); do \
1393
 
            $(INSTALL_PROGRAM) \
1394
 
                $$p $(bindir)/`$(ECHO) $$p | $(SED) '$(transform)'`; \
1395
 
        done
1396
 
 
1397
 
.PHONY: uninstall-prog
1398
 
uninstall-prog:
1399
 
        for p in $(INSTALL_PROGS); do \
1400
 
            $(RM) $(bindir)/`$(ECHO) $$p | $(SED) '$(transform)'`; \
1401
 
        done
1402
 
 
1403
 
.PHONY: install-info
1404
 
install-info: $(INFO)
1405
 
        -parent=`$(ECHO) $(infodir) | $(SED) -e 's@/[^/]*$$@@'`; \
1406
 
        grandparent=`$(ECHO) $$parent | $(SED) -e 's@/[^/]*$$@@'`; \
1407
 
        test -d $$grandparent || $(MKDIR) $$grandparent; \
1408
 
        test -d $$parent || $(MKDIR) $$parent
1409
 
        -test -d $(infodir) || $(MKDIR) $(infodir)
1410
 
        cd $(infodir) && $(RM) $(INFOS)
1411
 
        for i in $(INFOS); do \
1412
 
            test -s $$i && $(INSTALL_DATA) $$i $(infodir); \
1413
 
        done
1414
 
 
1415
 
.PHONY: uninstall-info
1416
 
uninstall-info:
1417
 
        cd $(infodir); $(RM) $(INFOS)
1418
 
 
1419
 
.PHONY: install-man
1420
 
install-man: ddd.1
1421
 
        -parent=`$(ECHO) $(man1dir) | $(SED) -e 's@/[^/]*$$@@'`; \
1422
 
        grandparent=`$(ECHO) $$parent | $(SED) -e 's@/[^/]*$$@@'`; \
1423
 
        test -d $$grandparent || $(MKDIR) $$grandparent; \
1424
 
        test -d $$parent || $(MKDIR) $$parent
1425
 
        -test -d $(man1dir) || $(MKDIR) $(man1dir)
1426
 
        test -f ddd.1 || cd $(srcdir); \
1427
 
        $(INSTALL_DATA) ddd.1 \
1428
 
                $(man1dir)/`$(ECHO) ddd$(man1ext) | $(SED) '$(transform)'`
1429
 
 
1430
 
.PHONY: uninstall-man
1431
 
uninstall-man:
1432
 
        $(RM) $(man1dir)/`$(ECHO) ddd$(man1ext) | $(SED) '$(transform)'`
1433
 
 
1434
 
.PHONY: picsclean
1435
 
picsclean:
1436
 
        $(RM) $(picdir)/*.gif $(picdir)/*.jpg $(picdir)/*.png
1437
 
        $(RM) $(picdir)/*.eps
1438
 
        -cd $(picdir) && $(RM) $(CLEAN_STUFF) ./#*#
1439
 
 
1440
 
.PHONY: iconclean
1441
 
iconclean:
1442
 
        $(RM) $(ICONS)
1443
 
        -cd $(icondir) && $(RM) $(CLEAN_STUFF) ./#*#
1444
 
        -cd $(toolbardir) && $(RM) $(CLEAN_STUFF) ./#*#
1445
 
 
1446
 
.PHONY: clean
1447
 
clean:
1448
 
        $(RM) $(CLEAN_STUFF) ./#*#
1449
 
        -cd $(picdir) && $(RM) $(CLEAN_STUFF) ./#*#
1450
 
 
1451
 
.PHONY: distclean
1452
 
distclean:
1453
 
        $(RM) $(DISTCLEAN_STUFF) ./#*#
1454
 
 
1455
 
.PHONY: mostlyclean
1456
 
mostlyclean: clean
1457
 
        @:
1458
 
 
1459
 
.PHONY: realclean maintainer-clean
1460
 
realclean maintainer-clean:
1461
 
        @echo 'This command is intended for maintainers to use; it'
1462
 
        @echo 'deletes files that may need special tools to rebuild.'
1463
 
        $(RM) $(REALCLEAN_STUFF) ./#*#
1464
 
 
1465
 
.PHONY: ultraclean
1466
 
ultraclean:
1467
 
        @echo 'This command is intended for maintainers to use; it'
1468
 
        @echo 'deletes files that may need special tools to rebuild.'
1469
 
        $(RM) $(ULTRACLEAN_STUFF) ./#*#
1470
 
 
1471
 
.PHONY: info
1472
 
info:   $(INFO)
1473
 
        @:
1474
 
 
1475
 
.PHONY: tex dvi
1476
 
tex dvi: $(DVIS)
1477
 
        @:
1478
 
 
1479
 
.PHONY: ps
1480
 
ps:     $(PSS)
1481
 
        @:
1482
 
 
1483
 
.PHONY: pdf
1484
 
pdf:    $(PDFS)
1485
 
        @:
1486
 
 
1487
 
.PHONY: man
1488
 
man:    $(MANS)
1489
 
        @:
1490
 
 
1491
 
.PHONY: postscript
1492
 
postscript: $(PSS)
1493
 
        @:
1494
 
 
1495
 
.PHONY: html
1496
 
html:   $(HTMLS)
1497
 
        @:
1498
 
 
1499
 
.PHONY: readme
1500
 
readme: $(README_FILES)
1501
 
        @:
1502
 
 
1503
 
.PHONY: diststuff
1504
 
diststuff: $(DIST_STUFF)
1505
 
        -for file in $(DIST_STUFF); do test -f $$file && $(TOUCH) $$file; done
1506
 
        $(MAKE) depend
1507
 
 
1508
 
.PHONY: dist
1509
 
dist:   
1510
 
        @$(ECHO) see the top-level directory for making dist files.
1511
 
        @false
1512
 
 
1513
 
.PHONY: strip
1514
 
strip:  $(PROGS)
1515
 
        -$(STRIP) $(PROGS)
1516
 
 
1517
 
.PHONY: progs programs
1518
 
progs:  $(PROGS)
1519
 
        @:
1520
 
programs: $(PROGS)
1521
 
        @:
1522
 
 
1523
 
.PHONY: demos
1524
 
demos:  $(DEMOS)
1525
 
        @:
1526
 
 
1527
 
 
1528
 
## A TECO-ism: `make love'
1529
 
 
1530
 
.PHONY: love
1531
 
love:
1532
 
        @$(ECHO) 'not war?'
1533
 
 
1534
 
 
1535
 
## Another joke: `make money fast'
1536
 
 
1537
 
.PHONY: money fast
1538
 
money:
1539
 
        @$(ECHO) '$$1,000,000'
1540
 
fast:
1541
 
        @:
1542
 
 
1543
 
 
1544
 
## A joke.
1545
 
# Newsgroups: rec.humor.funny.reruns
1546
 
# From: sater@cs.vu.nl (Hans van Staveren)
1547
 
# Subject: Good news and bad news
1548
 
# Approved: rhf-reruns@clari.net
1549
 
# Keywords: heard it, funny, originally appeared in second quarter, 1990
1550
 
# Message-ID: <Sba5.2ff7@clarinet.com>
1551
 
# Date: Tue, 14 Oct 97 19:20:05 EDT
1552
 
# Lines: 20
1553
 
# Xref: news.tu-bs.de rec.humor.funny.reruns:535
1554
 
#
1555
 
# From the RHF archives as selected by Brad Templeton, Maddi Hausmann
1556
 
# and Jim Griffith.  This newsgroup posts former jokes from the
1557
 
# newsgroup rec.humor.funny.  Visit http://comedy.clari.net/rhf to
1558
 
# browse the RHF pages and archives on the web.
1559
 
 
1560
 
.PHONY: joke fun
1561
 
joke fun:
1562
 
        @$(ECHO)
1563
 
        @$(ECHO)
1564
 
        @$(ECHO)
1565
 
        @$(ECHO) 'A man gets a telephone call from a doctor. The doctor says:'
1566
 
        @$(ECHO) ' "About this medical test I did on you, I have some good news'
1567
 
        @$(ECHO) '  and some bad news."'
1568
 
        @$(SLEEP) 5
1569
 
        @$(ECHO)
1570
 
        @$(ECHO) 'The man asks for the good news first:'
1571
 
        @$(ECHO) 
1572
 
        @$(SLEEP) 2
1573
 
        @$(ECHO) ' "The good news is that you have 24 hours to live", says the doctor.'
1574
 
        @$(SLEEP) 3
1575
 
        @$(ECHO)
1576
 
        @$(ECHO) 'The man, incredulously:'
1577
 
        @$(ECHO) ' "If that is the good news, then what is the bad news??"'
1578
 
        @$(SLEEP) 4
1579
 
        @$(ECHO)
1580
 
        @$(ECHO) ' "I couldn'\''t reach you on the phone yesterday."'
1581
 
 
1582
 
 
1583
 
## FORCE target
1584
 
 
1585
 
.PHONY: FORCE
1586
 
FORCE:
1587
 
        @:
1588
 
 
1589
 
 
1590
 
## The resource header and app-default files.
1591
 
 
1592
 
Ddd.ad.h: Ddd $(srcdir)/ad2c.sed
1593
 
        $(AD2C) Ddd > $@~ && $(MV) $@~ $@
1594
 
 
1595
 
$(srcdir)/Ddd.in: $(srcdir)/Ddd.in.m4 $(srcdir)/tips.m4 \
1596
 
        $(srcdir)/macros.m4 $(srcdir)/colors.m4 
1597
 
        ( \
1598
 
        ( \
1599
 
                echo "define(srcdir, \`$(srcdir)')dnl"; \
1600
 
                echo "include(srcdir()/Ddd.in.m4)dnl" \
1601
 
        ) | $(M4); \
1602
 
        ( \
1603
 
                echo "define(srcdir, \`$(srcdir)')dnl"; \
1604
 
                echo "include(srcdir()/tips.m4)dnl" \
1605
 
        ) | $(M4); \
1606
 
        ) > $@~ && $(MV) $@~ $@
1607
 
 
1608
 
 
1609
 
## The VSL header files.
1610
 
 
1611
 
VSLDIR  = $(srcdir)/../vsllib
1612
 
 
1613
 
VSL_CPP = $(CPP) -I$(VSLDIR) -I$(prefix)/lib/vsl-include
1614
 
 
1615
 
VSLSOURCES = \
1616
 
        $(VSLDIR)/std.vsl \
1617
 
        $(VSLDIR)/builtin.vsl \
1618
 
        $(VSLDIR)/tab.vsl \
1619
 
        $(VSLDIR)/fonts.vsl \
1620
 
        $(VSLDIR)/colors.vsl
1621
 
 
1622
 
$(srcdir)/ddd.vsl.h: $(srcdir)/ddd.vsl $(srcdir)/vsl2c.sed $(VSLSOURCES)
1623
 
        $(CAT) $(srcdir)/ddd.vsl > tmp.c
1624
 
        $(VSL_CPP) tmp.c | $(VSL2C) > $@
1625
 
        $(RM) tmp.c
1626
 
 
1627
 
$(srcdir)/ddd.vsl: $(srcdir)/ddd.vsl.m4 $(srcdir)/colors.m4
1628
 
        ( \
1629
 
                echo "define(srcdir, \`$(srcdir)')dnl"; \
1630
 
                echo "include(srcdir()/ddd.vsl.m4)dnl" \
1631
 
        ) | $(M4) > $@~ && $(MV) $@~ $@
1632
 
 
1633
 
 
1634
 
## The TIPS files.
1635
 
 
1636
 
.PHONY: tips
1637
 
 
1638
 
tips: $(srcdir)/tips.m4 $(srcdir)/tips.html
1639
 
 
1640
 
$(srcdir)/tips.m4: $(srcdir)/../TIPS $(srcdir)/tips2m4.awk
1641
 
        $(AWK) -f $(srcdir)/tips2m4.awk $(srcdir)/../TIPS > $@~ && $(MV) $@~ $@
1642
 
 
1643
 
$(srcdir)/tips.html: $(srcdir)/../TIPS
1644
 
        ( \
1645
 
                echo "define(srcdir, \`$(srcdir)')dnl"; \
1646
 
                echo "define(macros, \`$(srcdir)/html.m4')dnl"; \
1647
 
                echo "include(srcdir()/../TIPS)dnl" \
1648
 
        ) | $(M4) | $(AWK) -f $(srcdir)/tips2html.awk | \
1649
 
        $(SED) 's/\\133/\[/g' | $(SED) 's/\\135/\]/g' | \
1650
 
        $(SED) 's/@\([A-Z][A-Z]*\)@/\1/g' | $(SED) 's/@ /@/g' \
1651
 
        > $@~ && $(MV) $@~ $@
1652
 
 
1653
 
 
1654
 
# `make depend' fails to find this dependency :-(
1655
 
DispBox.$(OBJEXT): $(srcdir)/ddd.vsl.h
1656
 
 
1657
 
# And these are never computed:
1658
 
ddd.vsl.h: $(srcdir)/../vsllib/std.vsl
1659
 
ddd.vsl.h: $(srcdir)/../vsllib/fonts.vsl
1660
 
ddd.vsl.h: $(srcdir)/../vsllib/colors.vsl
1661
 
ddd.vsl.h: $(srcdir)/../vsllib/builtin.vsl
1662
 
ddd.vsl.h: $(srcdir)/../vsllib/tab.vsl
1663
 
 
1664
 
 
1665
 
## The programs.
1666
 
 
1667
 
# We use `./ddd' to prevent Solaris VPATH-enabled make from selecting
1668
 
# the `ddd' directory instead.
1669
 
./$(ddd)$(EXEEXT): $(ddd_canonical)$(EXEEXT)
1670
 
        $(RM) ./$(ddd)$(EXEEXT) $(SYMS)
1671
 
        $(LN_S) $(ddd_canonical)$(EXEEXT) ./$(ddd)$(EXEEXT)
1672
 
 
1673
 
$(ddd_canonical)$(EXEEXT): ddd.$(OBJEXT) $(OBJECTS)
1674
 
        $(LINK.cc) -o $@ ddd.$(OBJEXT) $(OBJECTS) $(ALL_X_LIBS) $(LIBS)
1675
 
 
1676
 
 
1677
 
## The demonstration programs.
1678
 
 
1679
 
userinfo$(EXEEXT): userinfo.$(OBJEXT) $(USERINFO_OBJECTS)
1680
 
        -$(LINK.cc) -o $@ userinfo.$(OBJEXT) \
1681
 
                $(USERINFO_OBJECTS) $(NON_X_LIBS) $(LIBS)
1682
 
 
1683
 
rxtest$(EXEEXT): rxtest.$(OBJEXT) $(HUFFMAN_OBJECTS)
1684
 
        -$(LINK.cc) -o $@ rxtest.$(OBJEXT) \
1685
 
                $(HUFFMAN_OBJECTS) $(NON_X_LIBS) $(LIBS)
1686
 
 
1687
 
huffencode$(EXEEXT): huffencode.$(OBJEXT) $(HUFFMAN_OBJECTS)
1688
 
        $(LINK.cc) -o $@ huffencode.$(OBJEXT) \
1689
 
                $(HUFFMAN_OBJECTS) $(NON_X_LIBS) $(LIBS)
1690
 
 
1691
 
huffdecode$(EXEEXT): huffdecode.$(OBJEXT) $(HUFFMAN_OBJECTS)
1692
 
        $(LINK.cc) -o $@ huffdecode.$(OBJEXT) \
1693
 
                $(HUFFMAN_OBJECTS) $(NON_X_LIBS) $(LIBS)
1694
 
 
1695
 
stringify$(EXEEXT): stringify.$(OBJEXT)
1696
 
        $(LINK.cc) -o $@ stringify.$(OBJEXT) $(LIBS)
1697
 
 
1698
 
mmtest$(EXEEXT): mmtest.$(OBJEXT) $(LIB_OBJECTS) 
1699
 
        $(LINK.cc) -o $@ mmtest.$(OBJEXT) $(LIB_OBJECTS) $(ALL_X_LIBS) $(LIBS)
1700
 
 
1701
 
gcore$(EXEEXT): gcore.$(OBJEXT) $(HUFFMAN_OBJECTS)
1702
 
        $(LINK.cc) -o $@ gcore.$(OBJEXT) \
1703
 
                $(HUFFMAN_OBJECTS) $(NON_X_LIBS) $(LIBS)
1704
 
 
1705
 
logplayer$(EXEEXT): $(srcdir)/logplayer.C $(HUFFMAN_OBJECTS)
1706
 
        $(COMPILE_AND_LINK.cc) -DMAIN $(INCLUDE) -o $@ \
1707
 
        $(srcdir)/logplayer.C $(HUFFMAN_OBJECTS) $(NON_X_LIBS) $(LIBS)
1708
 
 
1709
 
test-file$(EXEEXT): test-file.$(OBJEXT)
1710
 
        $(LINK.cc) -o $@ test-file.$(OBJEXT) $(ALL_X_LIBS)
1711
 
 
1712
 
test-graph$(EXEEXT): test-graph.$(OBJEXT) $(LIB_OBJECTS) 
1713
 
        $(LINK.cc) -o $@ test-graph.$(OBJEXT) \
1714
 
                $(LIB_OBJECTS) $(ALL_X_LIBS) $(LIBS)
1715
 
 
1716
 
vsl$(EXEEXT):   vsl.$(OBJEXT) DocSpace.$(OBJEXT) $(LIB_OBJECTS)
1717
 
        $(LINK.cc) -o $@ vsl.$(OBJEXT) DocSpace.$(OBJEXT) \
1718
 
                $(LIB_OBJECTS) $(ALL_X_LIBS) $(LIBS)
1719
 
 
1720
 
ttytest$(EXEEXT): ttytest.$(OBJEXT) \
1721
 
        $(BASE_OBJECTS) $(AGENT_OBJECTS) $(TEMPLATE_OBJECTS)
1722
 
        $(LINK.cc) -o $@ ttytest.$(OBJEXT) \
1723
 
        $(BASE_OBJECTS) $(AGENT_OBJECTS) $(TEMPLATE_OBJECTS) \
1724
 
        $(ALL_X_LIBS) $(LIBS)
1725
 
 
1726
 
bug$(EXEEXT):   bug.$(OBJEXT)
1727
 
        $(LINK.cc) -o $@ bug.$(OBJEXT) $(LIBS)
1728
 
 
1729
 
sample$(EXEEXT): sample.$(OBJEXT)
1730
 
        $(LINK.c) -o $@ sample.$(OBJEXT) $(LIBS)
1731
 
 
1732
 
tString$(EXEEXT): tString.$(OBJEXT)  $(HUFFMAN_OBJECTS)
1733
 
        $(LINK.cc) -o $@ tString.$(OBJEXT) \
1734
 
                $(HUFFMAN_OBJECTS) $(NON_X_LIBS) $(LIBS)
1735
 
 
1736
 
cxxtest$(EXEEXT): cxxtest.$(OBJEXT)
1737
 
        $(LINK.cc) -o $@ cxxtest.$(OBJEXT) $(LIBS)
1738
 
 
1739
 
grabtest$(EXEEXT): grabtest.$(OBJEXT)
1740
 
        $(LINK.cc) -o $@ grabtest.$(OBJEXT) $(ALL_X_LIBS) $(LIBS)
1741
 
 
1742
 
ctest$(EXEEXT):  ctest.$(OBJEXT)
1743
 
        $(LINK.c) -o $@ ctest.$(OBJEXT)
1744
 
 
1745
 
ptest$(EXEEXT):  ptest.$(OBJEXT)
1746
 
        $(LINK.p) -o $@ ptest.$(OBJEXT)
1747
 
 
1748
 
m2test$(EXEEXT): $(srcdir)/m2test.mod
1749
 
        $(COMPILE_AND_LINK.m2) -o $@ -e $@ $(srcdir)/m2test.mod \
1750
 
        -lmodula2 -ltermcap
1751
 
 
1752
 
ftest$(EXEEXT): ftest.$(OBJEXT)
1753
 
        $(LINK.f) -o $@ ftest.$(OBJEXT)
1754
 
 
1755
 
.PHONY: jtest
1756
 
jtest:  
1757
 
        cd $(srcdir)/jtest; $(MAKE) jtest
1758
 
 
1759
 
swallow$(EXEEXT): swallow.$(OBJEXT) findWindow.$(OBJEXT) Swallower.$(OBJEXT)
1760
 
        $(LINK.cc) -o $@ swallow.$(OBJEXT) findWindow.$(OBJEXT) Swallower.$(OBJEXT) \
1761
 
        $(ALL_X_LIBS) $(LIBS)
1762
 
 
1763
 
# We don't want no optimizing, but debugging info in our test files
1764
 
MAKE_DEBUG = \
1765
 
$(MAKE) CXXFLAGS="`$(ECHO) '$(CXXFLAGS)' | \
1766
 
        $(SED) 's/-O[^ ]*//' | $(SED) 's/-DNDEBUG//'`" \
1767
 
        CFLAGS="`$(ECHO) '$(CFLAGS)' | \
1768
 
        $(SED) 's/-O[^ ]*//' | $(SED) 's/-DNDEBUG//'`"
1769
 
 
1770
 
cxxtest.$(OBJEXT): $(srcdir)/cxxtest.C
1771
 
        @case '$(CXXFLAGS)' in \
1772
 
        *-O*) $(MAKE_DEBUG) $@;; \
1773
 
        *) set -x; \
1774
 
           $(COMPILE.cc) @CXXDEBUG@ $(INCLUDE) $(srcdir)/cxxtest.C -o $@;; \
1775
 
        esac
1776
 
 
1777
 
ctest.$(OBJEXT): $(srcdir)/ctest.c
1778
 
        @case '$(CFLAGS)' in \
1779
 
        *-O*) $(MAKE_DEBUG) $@;; \
1780
 
        *) set -x; \
1781
 
           $(COMPILE.c) -g $(INCLUDE) $(srcdir)/ctest.c -o $@;; \
1782
 
        esac
1783
 
 
1784
 
sample.$(OBJEXT): $(srcdir)/sample.c
1785
 
        @case '$(CFLAGS)' in \
1786
 
        *-O*) $(MAKE_DEBUG) $@;; \
1787
 
        *) set -x; \
1788
 
           $(COMPILE.c) -g $(INCLUDE) $(srcdir)/sample.c -o $@;; \
1789
 
        esac
1790
 
 
1791
 
grabtest.$(OBJEXT): $(srcdir)/grabtest.C
1792
 
        @case '$(CXXFLAGS)' in \
1793
 
        *-O*) $(MAKE_DEBUG) $@;; \
1794
 
        *) set -x; \
1795
 
           $(COMPILE.cc) @CXXDEBUG@ $(INCLUDE) $(srcdir)/grabtest.C -o $@;; \
1796
 
        esac
1797
 
 
1798
 
bug.$(OBJEXT):  $(srcdir)/bug.C
1799
 
        @case '$(CXXFLAGS)' in \
1800
 
        *-O*) $(MAKE_DEBUG) $@;; \
1801
 
        *) set -x; \
1802
 
           $(COMPILE.cc) @CXXDEBUG@ $(INCLUDE) $(srcdir)/bug.C -o $@;; \
1803
 
        esac
1804
 
 
1805
 
# These are special.
1806
 
huffdecode.$(OBJEXT): $(srcdir)/huffdecode.C ddd.man.huff.C
1807
 
        $(COMPILE.cc) -DMAIN -DHUFFTEXT='"$(srcdir)/ddd.man.huff.C"' \
1808
 
        $(INCLUDE) -o $@ $(srcdir)/huffdecode.C
1809
 
 
1810
 
ftest.$(OBJEXT): $(srcdir)/ftest.f
1811
 
        $(COMPILE.f) -c -o $@ $(srcdir)/ftest.f
1812
 
 
1813
 
 
1814
 
## For demonstration and debugging purposes
1815
 
.PHONY: check
1816
 
check: Ddd ./$(ddd)$(EXEEXT) cxxtest$(EXEEXT)
1817
 
        XUSERFILESEARCHPATH=%N XAPPLRESDIR=. ./$(ddd)$(EXEEXT) $(DDD_OPTIONS) cxxtest$(EXEEXT)
1818
 
 
1819
 
.PHONY: vsldemo
1820
 
vsldemo: ./vsl$(EXEEXT) $(srcdir)/ddd.vsl
1821
 
        ./vsl$(EXEEXT) -I $(VSLDIR) $(srcdir)/ddd.vsl
1822
 
 
1823
 
.PHONY: debug
1824
 
debug: Ddd ./$(ddd)$(EXEEXT) cxxtest$(EXEEXT) .gdbinit $(ddd).syms
1825
 
        $(DEBUGGER) ./$(ddd)$(EXEEXT)
1826
 
 
1827
 
$(ddd).syms: $(ddd_canonical).syms
1828
 
        $(RM) $@; $(LN_S) $(ddd_canonical).syms $@
1829
 
 
1830
 
$(ddd_canonical).syms: $(ddd_canonical)$(EXEEXT)
1831
 
        nice $(DEBUGGER) -batch -nx -mapped -readnow $(ddd_canonical)$(EXEEXT)
1832
 
 
1833
 
.PHONY: syms
1834
 
syms:   $(ddd).syms
1835
 
        @:
1836
 
 
1837
 
 
1838
 
 
1839
 
# Create useful stuff in background
1840
 
.PHONY: stuff
1841
 
stuff:  ./$(ddd)$(EXEEXT)
1842
 
        $(MAKE) $(ddd).syms > make.log 2>&1 &
1843
 
        @:
1844
 
 
1845
 
# A convient target for setting up a debugging environment.
1846
 
.PHONY: it
1847
 
it:     all cxxtest$(EXEEXT) ctest$(EXEEXT) stuff
1848
 
        @:
1849
 
 
1850
 
 
1851
 
 
1852
 
## Lex and Yacc stuff.
1853
 
 
1854
 
# VSL parsers.
1855
 
vsl-lex.C: $(srcdir)/vsl-lex.L
1856
 
        $(LEX.L) $(srcdir)/vsl-lex.L
1857
 
        $(SHELL) $(LEXTOCXX) -prefix vsl
1858
 
        $(MV) $(LEX_OUTPUT_ROOT).C $@
1859
 
        $(RM) $(LEX_OUTPUT_ROOT).c
1860
 
 
1861
 
vsl-gramma.h vsl-gramma.C: $(srcdir)/vsl-gramma.Y \
1862
 
        $(YACCTOCXX) $(YACCTOCXX).bison $(YACCTOCXX).h $(YACCTOCXX).sun
1863
 
        $(YACC.Y) -d $(srcdir)/vsl-gramma.Y
1864
 
        $(SHELL) $(YACCTOCXX) -prefix vsl
1865
 
        $(MV) y.tab.H vsl-gramma.h
1866
 
        $(MV) y.tab.C vsl-gramma.C
1867
 
        $(RM) y.tab.c y.tab.h
1868
 
 
1869
 
# DDD regexp parsers.
1870
 
rxscan.C: $(srcdir)/rxscan.L
1871
 
        $(LEX.L) $(srcdir)/rxscan.L
1872
 
        $(SHELL) $(LEXTOCXX) -prefix "ddd"
1873
 
        $(MV) $(LEX_OUTPUT_ROOT).C $@
1874
 
        $(RM) $(LEX_OUTPUT_ROOT).c
1875
 
 
1876
 
# `make depend' fails to find these dependencies :-(
1877
 
VSLRead.$(OBJEXT): vsl-lex.C vsl-gramma.h vsl-gramma.C
1878
 
regexps.$(OBJEXT): rxscan.C
1879
 
 
1880
 
 
1881
 
## The manual page in PostScript format, including all pictures.
1882
 
 
1883
 
$(docdir)/ddd.man.ps: ddd.man $(PS_IMAGES)
1884
 
        $(GROFF) -man ddd.man > $@~ && $(MV) $@~ $@
1885
 
 
1886
 
$(docdir)/ddd.man-nopics.ps: ddd.man-nopics
1887
 
        $(GROFF) -man ddd.man-nopics > $@~ && $(MV) $@~ $@
1888
 
 
1889
 
 
1890
 
# Included pictures
1891
 
 
1892
 
$(picdir)/ddd-all.eps: \
1893
 
        $(picdir)/ddd-all.fig $(picdir)/ddd-all.xpm
1894
 
$(picdir)/ddd-console.eps: \
1895
 
        $(picdir)/ddd-console.fig $(picdir)/ddd-console.xpm
1896
 
$(picdir)/ddd-history.eps: \
1897
 
        $(picdir)/ddd-history.fig $(picdir)/ddd-history.xpm
1898
 
$(picdir)/ddd-open.eps: \
1899
 
        $(picdir)/ddd-open.fig $(picdir)/ddd-open.xpm
1900
 
$(picdir)/ddd-source.eps: \
1901
 
        $(picdir)/ddd-source.fig $(picdir)/ddd-source.xpm
1902
 
$(picdir)/ddd-line-popup.eps: \
1903
 
        $(picdir)/ddd-line-popup.fig $(picdir)/ddd-line-popup.xpm
1904
 
$(picdir)/ddd-bp-popup.eps: \
1905
 
        $(picdir)/ddd-bp-popup.fig $(picdir)/ddd-bp-popup.xpm
1906
 
$(picdir)/ddd-source-popup.eps: \
1907
 
        $(picdir)/ddd-source-popup.fig $(picdir)/ddd-source-popup.xpm
1908
 
$(picdir)/ddd-arguments.eps: \
1909
 
        $(picdir)/ddd-arguments.fig $(picdir)/ddd-arguments.xpm
1910
 
$(picdir)/ddd-tool.eps: \
1911
 
        $(picdir)/ddd-tool.fig $(picdir)/ddd-tool.xpm
1912
 
$(picdir)/ddd-backtrace.eps: \
1913
 
        $(picdir)/ddd-backtrace.fig $(picdir)/ddd-backtrace.xpm
1914
 
$(picdir)/ddd-value-tip.eps: \
1915
 
        $(picdir)/ddd-value-tip.fig $(picdir)/ddd-value-tip.xpm
1916
 
$(picdir)/ddd-print-popup.eps: \
1917
 
        $(picdir)/ddd-print-popup.fig $(picdir)/ddd-print-popup.xpm
1918
 
$(picdir)/ddd-select-display.eps: \
1919
 
        $(picdir)/ddd-select-display.fig $(picdir)/ddd-select-display.xpm
1920
 
$(picdir)/ddd-hide-display.eps: \
1921
 
        $(picdir)/ddd-hide-display.fig $(picdir)/ddd-hide-display.xpm
1922
 
$(picdir)/ddd-rotate-display.eps: \
1923
 
        $(picdir)/ddd-rotate-display.fig $(picdir)/ddd-rotate-display.xpm
1924
 
$(picdir)/ddd-locals.eps: \
1925
 
        $(picdir)/ddd-locals.fig $(picdir)/ddd-locals.xpm
1926
 
$(picdir)/ddd-status-displays.eps: \
1927
 
        $(picdir)/ddd-status-displays.fig $(picdir)/ddd-status-displays.xpm
1928
 
$(picdir)/ddd-set.eps: \
1929
 
        $(picdir)/ddd-set.fig $(picdir)/ddd-set.xpm
1930
 
$(picdir)/ddd-layout.eps: \
1931
 
        $(picdir)/ddd-layout.fig $(picdir)/ddd-layout.xpm
1932
 
$(picdir)/ddd-print-graph.eps: \
1933
 
        $(picdir)/ddd-print-graph.fig $(picdir)/ddd-print-graph.xpm
1934
 
$(picdir)/ddd-print-output.eps: \
1935
 
        $(picdir)/ddd-print-output.fig $(picdir)/ddd-graph.ps
1936
 
$(picdir)/ddd-code.eps: \
1937
 
        $(picdir)/ddd-code.fig $(picdir)/ddd-code.xpm
1938
 
$(picdir)/ddd-registers.eps: \
1939
 
        $(picdir)/ddd-registers.fig $(picdir)/ddd-registers.xpm
1940
 
$(picdir)/ddd-general-prefs.eps: \
1941
 
        $(picdir)/ddd-general-prefs.fig $(picdir)/ddd-general-prefs.xpm 
1942
 
$(picdir)/ddd-helpers.eps: \
1943
 
        $(picdir)/ddd-helpers.fig $(picdir)/ddd-helpers.xpm 
1944
 
$(picdir)/ddd-source-prefs.eps: \
1945
 
        $(picdir)/ddd-source-prefs.fig $(picdir)/ddd-source-prefs.xpm
1946
 
$(picdir)/ddd-data-prefs.eps: \
1947
 
        $(picdir)/ddd-data-prefs.fig $(picdir)/ddd-data-prefs.xpm
1948
 
$(picdir)/ddd-startup-prefs.eps: \
1949
 
        $(picdir)/ddd-startup-prefs.fig $(picdir)/ddd-startup-prefs.xpm
1950
 
$(picdir)/ddd-settings.eps: \
1951
 
        $(picdir)/ddd-settings.fig $(picdir)/ddd-settings.xpm
1952
 
$(picdir)/ddd-threads.eps: \
1953
 
        $(picdir)/ddd-threads.fig $(picdir)/ddd-threads.xpm
1954
 
$(picdir)/ddd-aliases.eps: \
1955
 
        $(picdir)/ddd-aliases.fig $(picdir)/ddd-aliases.xpm
1956
 
$(picdir)/ddd-edit-displays.eps: \
1957
 
        $(picdir)/ddd-edit-displays.fig $(picdir)/ddd-edit-displays.xpm
1958
 
$(picdir)/ddd-attach.eps: \
1959
 
        $(picdir)/ddd-attach.fig $(picdir)/ddd-attach.xpm
1960
 
$(picdir)/ddd-save-session.eps: \
1961
 
        $(picdir)/ddd-save-session.fig $(picdir)/ddd-save-session.xpm
1962
 
$(picdir)/ddd-open-session.eps: \
1963
 
        $(picdir)/ddd-open-session.fig $(picdir)/ddd-open-session.xpm
1964
 
$(picdir)/ddd-button-editor.eps: \
1965
 
        $(picdir)/ddd-button-editor.fig $(picdir)/ddd-button-editor.xpm
1966
 
$(picdir)/ddd-shortcuts.eps: \
1967
 
        $(picdir)/ddd-shortcuts.fig $(picdir)/ddd-shortcuts.xpm
1968
 
$(picdir)/ddd-shortcut-editor.eps: \
1969
 
        $(picdir)/ddd-shortcut-editor.fig $(picdir)/ddd-shortcut-editor.xpm
1970
 
$(picdir)/ddd-drag.eps: \
1971
 
        $(picdir)/ddd-drag.fig \
1972
 
        $(picdir)/ddd-drag1.xpm \
1973
 
        $(picdir)/ddd-drag2.xpm \
1974
 
        $(picdir)/ddd-drag3.xpm
1975
 
$(picdir)/disclaimer.eps: \
1976
 
        $(picdir)/disclaimer.fig
1977
 
$(picdir)/ddd-separate.eps: \
1978
 
        $(picdir)/ddd-separate.fig $(picdir)/ddd-separate.xpm
1979
 
$(picdir)/ddd-bp-properties.eps: \
1980
 
        $(picdir)/ddd-bp-properties.fig $(picdir)/ddd-bp-properties.xpm
1981
 
$(picdir)/ddd-edit-breakpoints.eps: \
1982
 
        $(picdir)/ddd-edit-breakpoints.fig $(picdir)/ddd-edit-breakpoints.xpm
1983
 
$(picdir)/ddd-display.eps: \
1984
 
        $(picdir)/ddd-display.fig $(picdir)/ddd-display.xpm
1985
 
$(picdir)/ddd-repeats.eps: \
1986
 
        $(picdir)/ddd-repeats.fig $(picdir)/ddd-repeats.xpm
1987
 
$(picdir)/ddd-toolbar.eps: \
1988
 
        $(picdir)/ddd-toolbar.fig $(picdir)/ddd-toolbar.xpm
1989
 
$(picdir)/ddd-font-prefs.eps: \
1990
 
        $(picdir)/ddd-font-prefs.fig $(picdir)/ddd-font-prefs.xpm
1991
 
$(picdir)/ddd-define-command.eps: \
1992
 
        $(picdir)/ddd-define-command.fig $(picdir)/ddd-define-command.xpm
1993
 
$(picdir)/ddd-signals.eps: \
1994
 
        $(picdir)/ddd-signals.fig $(picdir)/ddd-signals.xpm
1995
 
$(picdir)/ddd-examine.eps: \
1996
 
        $(picdir)/ddd-examine.fig $(picdir)/ddd-examine.xpm
1997
 
$(picdir)/ddd-clusters.eps: \
1998
 
        $(picdir)/ddd-clusters.fig \
1999
 
        $(picdir)/clustered.ps $(picdir)/unclustered.ps
2000
 
$(picdir)/ddd-plots.eps: \
2001
 
        $(picdir)/ddd-plots.fig $(picdir)/ddd-plots.xpm
2002
 
$(picdir)/ddd-toolbars.eps: \
2003
 
        $(picdir)/ddd-toolbars.fig \
2004
 
        $(picdir)/ddd-toolbar-1.xpm \
2005
 
        $(picdir)/ddd-toolbar-2.xpm \
2006
 
        $(picdir)/ddd-toolbar-3.xpm \
2007
 
        $(picdir)/ddd-toolbar-4.xpm
2008
 
 
2009
 
 
2010
 
# JPEGs are derived from EPS files
2011
 
 
2012
 
$(picdir)/ddd-all$(IMGEXT):              $(picdir)/ddd-all.eps
2013
 
$(picdir)/ddd-console$(IMGEXT):          $(picdir)/ddd-console.eps
2014
 
$(picdir)/ddd-history$(IMGEXT):          $(picdir)/ddd-history.eps
2015
 
$(picdir)/ddd-open$(IMGEXT):             $(picdir)/ddd-open.eps
2016
 
$(picdir)/ddd-source$(IMGEXT):           $(picdir)/ddd-source.eps
2017
 
$(picdir)/ddd-line-popup$(IMGEXT):       $(picdir)/ddd-line-popup.eps
2018
 
$(picdir)/ddd-bp-popup$(IMGEXT):         $(picdir)/ddd-bp-popup.eps
2019
 
$(picdir)/ddd-source-popup$(IMGEXT):     $(picdir)/ddd-source-popup.eps
2020
 
$(picdir)/ddd-arguments$(IMGEXT):        $(picdir)/ddd-arguments.eps
2021
 
$(picdir)/ddd-tool$(IMGEXT):             $(picdir)/ddd-tool.eps
2022
 
$(picdir)/ddd-backtrace$(IMGEXT):        $(picdir)/ddd-backtrace.eps
2023
 
$(picdir)/ddd-value-tip$(IMGEXT):        $(picdir)/ddd-value-tip.eps
2024
 
$(picdir)/ddd-print-popup$(IMGEXT):      $(picdir)/ddd-print-popup.eps
2025
 
$(picdir)/ddd-select-display$(IMGEXT):   $(picdir)/ddd-select-display.eps
2026
 
$(picdir)/ddd-hide-display$(IMGEXT):     $(picdir)/ddd-hide-display.eps
2027
 
$(picdir)/ddd-rotate-display$(IMGEXT):   $(picdir)/ddd-rotate-display.eps
2028
 
$(picdir)/ddd-locals$(IMGEXT):           $(picdir)/ddd-locals.eps
2029
 
$(picdir)/ddd-status-displays$(IMGEXT):  $(picdir)/ddd-status-displays.eps
2030
 
$(picdir)/ddd-set$(IMGEXT):              $(picdir)/ddd-set.eps
2031
 
$(picdir)/ddd-layout$(IMGEXT):           $(picdir)/ddd-layout.eps
2032
 
$(picdir)/ddd-print-graph$(IMGEXT):      $(picdir)/ddd-print-graph.eps
2033
 
$(picdir)/ddd-print-output$(IMGEXT):     $(picdir)/ddd-print-output.eps
2034
 
$(picdir)/ddd-code$(IMGEXT):             $(picdir)/ddd-code.eps
2035
 
$(picdir)/ddd-registers$(IMGEXT):        $(picdir)/ddd-registers.eps
2036
 
$(picdir)/ddd-general-prefs$(IMGEXT):    $(picdir)/ddd-general-prefs.eps
2037
 
$(picdir)/ddd-helpers$(IMGEXT):          $(picdir)/ddd-helpers.eps
2038
 
$(picdir)/ddd-source-prefs$(IMGEXT):     $(picdir)/ddd-source-prefs.eps
2039
 
$(picdir)/ddd-data-prefs$(IMGEXT):       $(picdir)/ddd-data-prefs.eps
2040
 
$(picdir)/ddd-startup-prefs$(IMGEXT):    $(picdir)/ddd-startup-prefs.eps
2041
 
$(picdir)/ddd-settings$(IMGEXT):         $(picdir)/ddd-settings.eps
2042
 
$(picdir)/ddd-threads$(IMGEXT):          $(picdir)/ddd-threads.eps
2043
 
$(picdir)/ddd-aliases$(IMGEXT):          $(picdir)/ddd-aliases.eps
2044
 
$(picdir)/ddd-edit-displays$(IMGEXT):    $(picdir)/ddd-edit-displays.eps
2045
 
$(picdir)/ddd-attach$(IMGEXT):           $(picdir)/ddd-attach.eps
2046
 
$(picdir)/ddd-save-session$(IMGEXT):     $(picdir)/ddd-save-session.eps
2047
 
$(picdir)/ddd-open-session$(IMGEXT):     $(picdir)/ddd-open-session.eps
2048
 
$(picdir)/ddd-button-editor$(IMGEXT):    $(picdir)/ddd-button-editor.eps
2049
 
$(picdir)/ddd-shortcuts$(IMGEXT):        $(picdir)/ddd-shortcuts.eps
2050
 
$(picdir)/ddd-shortcut-editor$(IMGEXT):  $(picdir)/ddd-shortcut-editor.eps
2051
 
$(picdir)/ddd-drag$(IMGEXT):             $(picdir)/ddd-drag.eps
2052
 
$(picdir)/disclaimer$(IMGEXT):           $(picdir)/disclaimer.eps
2053
 
$(picdir)/ddd-separate$(IMGEXT):         $(picdir)/ddd-separate.eps
2054
 
$(picdir)/ddd-bp-properties$(IMGEXT):    $(picdir)/ddd-bp-properties.eps
2055
 
$(picdir)/ddd-edit-breakpoints$(IMGEXT): $(picdir)/ddd-edit-breakpoints.eps
2056
 
$(picdir)/ddd-display$(IMGEXT):          $(picdir)/ddd-display.eps
2057
 
$(picdir)/ddd-repeats$(IMGEXT):          $(picdir)/ddd-repeats.eps
2058
 
$(picdir)/ddd-toolbar$(IMGEXT):          $(picdir)/ddd-toolbar.eps
2059
 
$(picdir)/ddd-font-prefs$(IMGEXT):       $(picdir)/ddd-font-prefs.eps
2060
 
$(picdir)/ddd-define-command$(IMGEXT):   $(picdir)/ddd-define-command.eps
2061
 
$(picdir)/ddd-signals$(IMGEXT):          $(picdir)/ddd-signals.eps
2062
 
$(picdir)/ddd-examine$(IMGEXT):          $(picdir)/ddd-examine.eps
2063
 
$(picdir)/ddd-clusters$(IMGEXT):         $(picdir)/ddd-clusters.eps
2064
 
$(picdir)/ddd-plots$(IMGEXT):            $(picdir)/ddd-plots.eps
2065
 
$(picdir)/ddd-toolbars$(IMGEXT):         $(picdir)/ddd-toolbars.eps
2066
 
 
2067
 
 
2068
 
# PDFs are also derived from EPS files
2069
 
 
2070
 
$(picdir)/ddd-all.pdf:              $(picdir)/ddd-all.eps
2071
 
$(picdir)/ddd-console.pdf:          $(picdir)/ddd-console.eps
2072
 
$(picdir)/ddd-history.pdf:          $(picdir)/ddd-history.eps
2073
 
$(picdir)/ddd-open.pdf:             $(picdir)/ddd-open.eps
2074
 
$(picdir)/ddd-source.pdf:           $(picdir)/ddd-source.eps
2075
 
$(picdir)/ddd-line-popup.pdf:       $(picdir)/ddd-line-popup.eps
2076
 
$(picdir)/ddd-bp-popup.pdf:         $(picdir)/ddd-bp-popup.eps
2077
 
$(picdir)/ddd-source-popup.pdf:     $(picdir)/ddd-source-popup.eps
2078
 
$(picdir)/ddd-arguments.pdf:        $(picdir)/ddd-arguments.eps
2079
 
$(picdir)/ddd-tool.pdf:             $(picdir)/ddd-tool.eps
2080
 
$(picdir)/ddd-backtrace.pdf:        $(picdir)/ddd-backtrace.eps
2081
 
$(picdir)/ddd-value-tip.pdf:        $(picdir)/ddd-value-tip.eps
2082
 
$(picdir)/ddd-print-popup.pdf:      $(picdir)/ddd-print-popup.eps
2083
 
$(picdir)/ddd-select-display.pdf:   $(picdir)/ddd-select-display.eps
2084
 
$(picdir)/ddd-hide-display.pdf:     $(picdir)/ddd-hide-display.eps
2085
 
$(picdir)/ddd-rotate-display.pdf:   $(picdir)/ddd-rotate-display.eps
2086
 
$(picdir)/ddd-locals.pdf:           $(picdir)/ddd-locals.eps
2087
 
$(picdir)/ddd-status-displays.pdf:  $(picdir)/ddd-status-displays.eps
2088
 
$(picdir)/ddd-set.pdf:              $(picdir)/ddd-set.eps
2089
 
$(picdir)/ddd-layout.pdf:           $(picdir)/ddd-layout.eps
2090
 
$(picdir)/ddd-print-graph.pdf:      $(picdir)/ddd-print-graph.eps
2091
 
$(picdir)/ddd-print-output.pdf:     $(picdir)/ddd-print-output.eps
2092
 
$(picdir)/ddd-code.pdf:             $(picdir)/ddd-code.eps
2093
 
$(picdir)/ddd-registers.pdf:        $(picdir)/ddd-registers.eps
2094
 
$(picdir)/ddd-general-prefs.pdf:    $(picdir)/ddd-general-prefs.eps
2095
 
$(picdir)/ddd-helpers.pdf:          $(picdir)/ddd-helpers.eps
2096
 
$(picdir)/ddd-source-prefs.pdf:     $(picdir)/ddd-source-prefs.eps
2097
 
$(picdir)/ddd-data-prefs.pdf:       $(picdir)/ddd-data-prefs.eps
2098
 
$(picdir)/ddd-startup-prefs.pdf:    $(picdir)/ddd-startup-prefs.eps
2099
 
$(picdir)/ddd-settings.pdf:         $(picdir)/ddd-settings.eps
2100
 
$(picdir)/ddd-threads.pdf:          $(picdir)/ddd-threads.eps
2101
 
$(picdir)/ddd-aliases.pdf:          $(picdir)/ddd-aliases.eps
2102
 
$(picdir)/ddd-edit-displays.pdf:    $(picdir)/ddd-edit-displays.eps
2103
 
$(picdir)/ddd-attach.pdf:           $(picdir)/ddd-attach.eps
2104
 
$(picdir)/ddd-save-session.pdf:     $(picdir)/ddd-save-session.eps
2105
 
$(picdir)/ddd-open-session.pdf:     $(picdir)/ddd-open-session.eps
2106
 
$(picdir)/ddd-button-editor.pdf:    $(picdir)/ddd-button-editor.eps
2107
 
$(picdir)/ddd-shortcuts.pdf:        $(picdir)/ddd-shortcuts.eps
2108
 
$(picdir)/ddd-shortcut-editor.pdf:  $(picdir)/ddd-shortcut-editor.eps
2109
 
$(picdir)/ddd-drag.pdf:             $(picdir)/ddd-drag.eps
2110
 
$(picdir)/disclaimer.pdf:           $(picdir)/disclaimer.eps
2111
 
$(picdir)/ddd-separate.pdf:         $(picdir)/ddd-separate.eps
2112
 
$(picdir)/ddd-bp-properties.pdf:    $(picdir)/ddd-bp-properties.eps
2113
 
$(picdir)/ddd-edit-breakpoints.pdf: $(picdir)/ddd-edit-breakpoints.eps
2114
 
$(picdir)/ddd-display.pdf:          $(picdir)/ddd-display.eps
2115
 
$(picdir)/ddd-repeats.pdf:          $(picdir)/ddd-repeats.eps
2116
 
$(picdir)/ddd-toolbar.pdf:          $(picdir)/ddd-toolbar.eps
2117
 
$(picdir)/ddd-font-prefs.pdf:       $(picdir)/ddd-font-prefs.eps
2118
 
$(picdir)/ddd-define-command.pdf:   $(picdir)/ddd-define-command.eps
2119
 
$(picdir)/ddd-signals.pdf:          $(picdir)/ddd-signals.eps
2120
 
$(picdir)/ddd-examine.pdf:          $(picdir)/ddd-examine.eps
2121
 
$(picdir)/ddd-clusters.pdf:         $(picdir)/ddd-clusters.eps
2122
 
$(picdir)/ddd-plots.pdf:            $(picdir)/ddd-plots.eps
2123
 
$(picdir)/ddd-toolbars.pdf:         $(picdir)/ddd-toolbars.eps
2124
 
 
2125
 
 
2126
 
# The logo comes in XPM source
2127
 
$(picdir)/dddsplash.eps: $(icondir)/dddsplash.xpm
2128
 
        $(CONVERT) $(icondir)/dddsplash.xpm $@
2129
 
 
2130
 
$(picdir)/dddsplash.gif: $(icondir)/dddsplash.xpm
2131
 
        $(CONVERT) $(icondir)/dddsplash.xpm $@
2132
 
 
2133
 
$(picdir)/dddsplash.jpg: $(icondir)/dddsplash.xpm
2134
 
        $(CONVERT) -quality 100 $(icondir)/dddsplash.xpm $@
2135
 
 
2136
 
$(picdir)/dddsplash.png: $(icondir)/dddsplash.xpm
2137
 
        $(CONVERT) -quality 100 $(icondir)/dddsplash.xpm $@
2138
 
 
2139
 
$(picdir)/dddlogo.eps: $(icondir)/dddlogo.xpm
2140
 
        $(CONVERT) $(icondir)/dddlogo.xpm $@
2141
 
 
2142
 
$(picdir)/dddlogo.gif: $(icondir)/dddlogo.xpm
2143
 
        $(CONVERT) $(icondir)/dddlogo.xpm $@
2144
 
 
2145
 
$(picdir)/dddlogo.jpg: $(icondir)/dddlogo.xpm
2146
 
        $(CONVERT) -quality 100 $(icondir)/dddlogo.xpm $@
2147
 
 
2148
 
$(picdir)/dddlogo.png: $(icondir)/dddlogo.xpm
2149
 
        $(CONVERT) -quality 100 $(icondir)/dddlogo.xpm $@
2150
 
 
2151
 
$(picdir)/dddback.eps: $(icondir)/dddback.xpm
2152
 
        $(CONVERT) $(icondir)/dddback.xpm $@
2153
 
 
2154
 
$(picdir)/dddback.gif: $(icondir)/dddback.xpm
2155
 
        $(CONVERT) $(icondir)/dddback.xpm $@
2156
 
 
2157
 
$(picdir)/dddback.jpg: $(icondir)/dddback.xpm
2158
 
        $(CONVERT) -quality 100 $(icondir)/dddback.xpm $@
2159
 
 
2160
 
$(picdir)/dddback.png: $(icondir)/dddback.xpm
2161
 
        $(CONVERT) -quality 100 $(icondir)/dddback.xpm $@
2162
 
 
2163
 
 
2164
 
## The DDD manual in PostScript format, including all pictures.
2165
 
 
2166
 
$(docdir)/ddd.ps: ddd.dvi
2167
 
        $(DVIPS) ddd.dvi -o $@
2168
 
 
2169
 
 
2170
 
## The DDD manual in DVI format.
2171
 
 
2172
 
# Be sure we have a local copy of the included sources.
2173
 
# This avoids messing around with include paths, which may
2174
 
# or may not be supported by the current tools.
2175
 
 
2176
 
# Texinfo sources
2177
 
texidir = $(srcdir)/../texinfo
2178
 
 
2179
 
INCLUDES = \
2180
 
        config.texi  \
2181
 
        gpl.texinfo  \
2182
 
        lgpl.texinfo \
2183
 
        texinfo.tex  \
2184
 
        epsf.tex     \
2185
 
        xepsf.tex
2186
 
 
2187
 
ddd.dvi: $(srcdir)/ddd.texi $(INCLUDES) $(PS_IMAGES)
2188
 
        -test -d PICS || $(LN_S) $(picdir) .
2189
 
        $(TEXI2DVI) $(srcdir)/ddd.texi
2190
 
 
2191
 
gpl.texinfo: $(texidir)/gpl.texinfo
2192
 
        $(RM) $@; $(LN_S) $(texidir)/gpl.texinfo $@
2193
 
 
2194
 
lgpl.texinfo: $(texidir)/lgpl.texinfo
2195
 
        $(RM) $@; $(LN_S) $(texidir)/lgpl.texinfo $@
2196
 
 
2197
 
texinfo.tex: $(texidir)/texinfo.tex
2198
 
        $(RM) $@; $(LN_S) $(texidir)/texinfo.tex $@
2199
 
 
2200
 
epsf.tex: $(texidir)/epsf.tex
2201
 
        $(RM) $@; $(LN_S) $(texidir)/epsf.tex $@
2202
 
 
2203
 
xepsf.tex: $(texidir)/epsf.tex
2204
 
        $(RM) $@; $(LN_S) $(texidir)/xepsf.tex $@
2205
 
 
2206
 
 
2207
 
## The DDD manual in PDF format, including all pictures.
2208
 
 
2209
 
$(docdir)/ddd.pdf: ddd.pdf
2210
 
        $(INSTALL_DATA) ddd.pdf $@
2211
 
 
2212
 
ddd.pdf: $(srcdir)/ddd.texi $(INCLUDES) $(PDF_IMAGES)
2213
 
        -test -d PICS || $(LN_S) $(picdir) .
2214
 
        $(TEXI2PDF) $(srcdir)/ddd.texi
2215
 
 
2216
 
 
2217
 
## The DDD manual in HTML format.
2218
 
 
2219
 
$(htmldir)/index.html: $(srcdir)/ddd.texi $(INCLUDES) $(HTML_IMAGES) \
2220
 
        style.css $(srcdir)/fix-html.sed
2221
 
        @-test -d $(htmldir) || $(MKDIR) $(htmldir)
2222
 
        @-test -d $(htmldir)/PICS || $(MKDIR) $(htmldir)/PICS
2223
 
        @-test -d PICS || $(LN_S) $(picdir) .
2224
 
        $(RM) ddd*.html
2225
 
        $(TEXI2HTML) $(srcdir)/ddd.texi
2226
 
        for file in ddd*.html; do \
2227
 
                $(SED) -f $(srcdir)/fix-html.sed $$file | \
2228
 
                $(SED) 's/@IMGEXT@/\$(IMGEXT)/g' > $$file~ && \
2229
 
                $(MV) $$file~ $$file; \
2230
 
        done
2231
 
        cd $(htmldir) && $(RM) ddd*.html style.css PICS/*
2232
 
        $(INSTALL_DATA) ddd*.html $(srcdir)/style.css $(htmldir)
2233
 
        @$(ECHO) Installing images...
2234
 
        @$(INSTALL_DATA) $(HTML_IMAGES) $(htmldir)/PICS
2235
 
        @$(ECHO) Installing images...done.
2236
 
        $(RM) $(htmldir)/index.html
2237
 
        $(LN_S) ddd.html $@
2238
 
 
2239
 
## The DDD manual in Info format.
2240
 
 
2241
 
$(INFO): $(srcdir)/ddd.texi $(INCLUDES)
2242
 
        $(RM) ddd.info* $(INFOS)
2243
 
        $(MAKEINFO) -I. -I$(srcdir) $(srcdir)/ddd.texi
2244
 
        $(INSTALL_DATA) ddd.info* $(docdir)
2245
 
 
2246
 
 
2247
 
## Auxiliary manual files.
2248
 
 
2249
 
$(docdir)/sample.c: $(srcdir)/sample.c
2250
 
        $(INSTALL_DATA) $(srcdir)/sample.c $(docdir)
2251
 
 
2252
 
 
2253
 
 
2254
 
## Icons and logos.
2255
 
 
2256
 
.PHONY: icons
2257
 
icons:  $(ICONS)
2258
 
        @:
2259
 
 
2260
 
# All X bitmaps are derived from the XPM sources.
2261
 
 
2262
 
$(icondir)/dddmask.xpm: $(icondir)/ddd.xpm
2263
 
        $(SED) 's/[wW]hite/black/g' $(icondir)/ddd.xpm > $@
2264
 
 
2265
 
$(icondir)/ddd.xbm: $(icondir)/ddd.xpm
2266
 
 
2267
 
$(icondir)/ddd.xface: $(icondir)/ddd.xbm
2268
 
 
2269
 
$(icondir)/dddmask.xbm: $(icondir)/dddmask.xpm
2270
 
 
2271
 
# Original filter for dddsplash to extract g4 info
2272
 
# $(SED) 's/[    ][cmg][        ][#a-zA-Z0-9][#a-zA-Z0-9]*//g' | \
2273
 
#
2274
 
 
2275
 
$(icondir)/dddsplash.xbm: $(icondir)/dddsplash.xpm
2276
 
        @$(ECHO) "Creating $@"
2277
 
        @-$(CAT) $(icondir)/dddsplash.xpm | \
2278
 
        $(XPMTOPPM) | $(PNMDEPTH) 255 | $(PNMGAMMA) 0.4 | $(PPMTOPGM) | \
2279
 
        $(PGMENHANCE) -7 | \
2280
 
        $(PGMTOPBM) | $(PBMTOXBM) | $(SED) 's/noname/dddsplash/g' | \
2281
 
        $(SED) "s/static char/static unsigned char/g" > $@~
2282
 
        @test -s $@~ && $(MV) $@~ $@ || ($(RM) $@~; test -s $@)
2283
 
 
2284
 
$(icondir)/dddlogo.xpm: $(icondir)/dddsplash.xpm
2285
 
        $(CONVERT) -pen white \
2286
 
        -draw 'rectangle 0,0 409,139' -draw 'rectangle 1,1 408,138' $< $@
2287
 
 
2288
 
## Configuration stuff.
2289
 
 
2290
 
Makefile: $(srcdir)/Makefile.in config.status
2291
 
        CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
2292
 
 
2293
 
Ddd: $(srcdir)/Ddd.in config.status
2294
 
        CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
2295
 
 
2296
 
.gdbinit: $(srcdir)/.gdbinit.in config.status
2297
 
        CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
2298
 
 
2299
 
.PHONY: spec
2300
 
spec: ../$(ddd)-$(VERSION)-$(REL).spec
2301
 
../$(ddd)-$(VERSION)-$(REL).spec: $(srcdir)/../ddd.spec.in config.status
2302
 
        CONFIG_FILES=../ddd.spec CONFIG_HEADERS= $(SHELL) ./config.status
2303
 
        $(SED) 's/@REL@/$(REL)/g' ../ddd.spec > $@
2304
 
        $(RM) ../ddd.spec
2305
 
 
2306
 
$(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4
2307
 
        -cd $(srcdir) && $(AUTOCONF)
2308
 
config.status: $(srcdir)/configure
2309
 
        -$(SHELL) ./config.status --recheck || $(SHELL) $(srcdir)/configure -v
2310
 
 
2311
 
$(srcdir)/aclocal.m4: $(srcdir)/configure.in $(srcdir)/acinclude.m4
2312
 
        -cd $(srcdir) && $(ACLOCAL)
2313
 
 
2314
 
.PRECIOUS: Makefile configure config.status config.h Ddd
2315
 
 
2316
 
# autoheader might not change config.h.in
2317
 
$(srcdir)/config.h.in: stamp-h.in
2318
 
$(srcdir)/stamp-h.in: \
2319
 
        $(srcdir)/configure.in \
2320
 
        $(srcdir)/aclocal.m4 \
2321
 
        $(srcdir)/acconfig.h
2322
 
        cd $(srcdir) && $(AUTOHEADER)
2323
 
        $(DATE) > $@~ && $(MV) $@~ $@
2324
 
 
2325
 
$(srcdir)/acconfig.h: $(srcdir)/acconfig.h.in $(srcdir)/acspecial.h
2326
 
        ( \
2327
 
                echo "define(srcdir, \`$(srcdir)')dnl"; \
2328
 
                echo "include(srcdir()/acconfig.h.in)dnl" \
2329
 
        ) | $(M4) > $@~ && $(MV) $@~ $@
2330
 
 
2331
 
$(srcdir)/acspecial.h: $(srcdir)/configure.in
2332
 
        $(GREP) '^ICE_[a-zA-Z0-9_]* *(' $(srcdir)/configure.in > $@~ && \
2333
 
        $(MV) $@~ $@
2334
 
 
2335
 
 
2336
 
# config.status might not change config.h
2337
 
config.h: stamp-h
2338
 
stamp-h: config.h.in config.status
2339
 
        CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
2340
 
        $(DATE) > $@~ && $(MV) $@~ $@
2341
 
 
2342
 
 
2343
 
# We use configure to create `version.h'.
2344
 
# To make sure these are not touched upon every invocation,
2345
 
# we create temporary vr.* files instead and touch the version.* files
2346
 
# only if the vr.* files changed.
2347
 
version.h: vr.h
2348
 
        @$(CMP) vr.h $@ 2> /dev/null || ( $(CAT) vr.h > $@~ && $(MV) $@~ $@ )
2349
 
vr.h: vr.h.in config.status
2350
 
        CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
2351
 
 
2352
 
# We use configure to create `build.h'.
2353
 
# To make sure these are not touched upon every invocation,
2354
 
# we create temporary bld.* files instead and touch the build.* files
2355
 
# only if the bld.* files changed.
2356
 
build.h: bld.h
2357
 
        @$(CMP) bld.h $@ 2> /dev/null || ( $(CAT) bld.h > $@~ && $(MV) $@~ $@ )
2358
 
bld.h: bld.h.in config.status
2359
 
        CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
2360
 
 
2361
 
# We use configure to create `config.texi'.
2362
 
# To make sure these are not touched upon every invocation,
2363
 
# we create temporary cfg.* files instead and touch the config.* files
2364
 
# only if the cfg.* files changed.
2365
 
config.texi: cfg.texi
2366
 
        @$(CMP) cfg.texi $@ 2> /dev/null || \
2367
 
        ( $(CAT) cfg.texi > $@~ && $(MV) $@~ $@ )
2368
 
cfg.texi: $(srcdir)/cfg.texi.in config.status
2369
 
        CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
2370
 
 
2371
 
## The manual page
2372
 
ddd.man: $(srcdir)/ddd.man.in config.status
2373
 
        CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
2374
 
 
2375
 
# Same, but in 7-bit format
2376
 
ddd.1:   ddd.man $(srcdir)/unumlaut.sed
2377
 
        -$(SED) -f $(srcdir)/unumlaut.sed ddd.man > $@~ && $(MV) $@~ $@
2378
 
 
2379
 
# ddd.man.txt does NOT depend on ddd.man since we don't want it to get
2380
 
# re-created after each configuration.
2381
 
ddd.man.txt: $(srcdir)/ddd.man.in configure.in $(srcdir)/umlaut8.sed
2382
 
        $(MAKE) ddd.man
2383
 
        -$(SED) -f $(srcdir)/umlaut7.sed ddd.man | \
2384
 
        $(NROFF) -man | $(SED) -f $(srcdir)/umlaut8.sed > $@~ && $(MV) $@~ $@
2385
 
 
2386
 
# ddd.man.txt may reside in $(srcdir) or `.' , hence the `$?'
2387
 
ddd.man.txt.gz: ddd.man.txt
2388
 
        $(COMPRESS) $? > $@~ && $(MV) $@~ $@
2389
 
 
2390
 
ddd.man.txt.gz.C: ddd.man.txt.gz
2391
 
        $(MAKE) stringify$(EXEEXT)
2392
 
        -./stringify < $? > $@~ && $(MV) $@~ $@
2393
 
 
2394
 
 
2395
 
# ddd.man.huff.C does NOT depend on huffencode since we don't want it
2396
 
# to get re-created after each configuration.
2397
 
ddd.man.huff.C: ddd.man.txt
2398
 
        $(MAKE) huffencode$(EXEEXT)
2399
 
        -./huffencode < ddd.man.txt > $@~ && $(MV) $@~ $@
2400
 
 
2401
 
# The `no pictures' variant of ddd.man.
2402
 
ddd.man-nopics: ddd.man
2403
 
        $(GREP) -v '^\.PSPIC' ddd.man > ddd.man-nopics
2404
 
 
2405
 
## The info file, in text format
2406
 
# ddd.info.txt does NOT depend on ddd.info since we don't want it to get
2407
 
# re-created after each configuration.
2408
 
ddd.info.txt: $(srcdir)/ddd.texi configure.in
2409
 
        $(MAKE) $(INFO)
2410
 
        info --subnodes -o - -f $(INFO) > $@~ && $(MV) $@~ $@
2411
 
 
2412
 
# ddd.man.txt may reside in $(srcdir) or `.' , hence the `$?'
2413
 
ddd.info.txt.gz: ddd.info.txt
2414
 
        $(COMPRESS) $? > $@~ && $(MV) $@~ $@
2415
 
 
2416
 
ddd.info.txt.gz.C: ddd.info.txt.gz
2417
 
        $(MAKE) stringify$(EXEEXT)
2418
 
        -./stringify < $? > $@~ && $(MV) $@~ $@
2419
 
 
2420
 
 
2421
 
# COPYING.huff.C does NOT depend on huffencode since we don't want it
2422
 
# to get re-created after each configuration.
2423
 
COPYING.huff.C: $(srcdir)/../COPYING
2424
 
        $(MAKE) huffencode$(EXEEXT)
2425
 
        -$(SED) 's/ //' < $(srcdir)/../COPYING | ./huffencode > $@~ && \
2426
 
        $(MV) $@~ $@
2427
 
 
2428
 
COPYING.gz: $(srcdir)/../COPYING
2429
 
        $(COMPRESS) $(srcdir)/../COPYING > $@
2430
 
 
2431
 
COPYING.gz.C: COPYING.gz
2432
 
        $(MAKE) stringify$(EXEEXT)
2433
 
        -./stringify < COPYING.gz > $@~ && $(MV) $@~ $@
2434
 
 
2435
 
# NEWS.huff.C does NOT depend on huffencode since we don't want it
2436
 
# to get re-created after each configuration.
2437
 
NEWS.huff.C: $(srcdir)/../NEWS
2438
 
        $(MAKE) huffencode$(EXEEXT)
2439
 
        -$(SED) 's/ //' < $(srcdir)/../NEWS | ./huffencode > $@~ && \
2440
 
        $(MV) $@~ $@
2441
 
 
2442
 
NEWS.gz: $(srcdir)/../NEWS
2443
 
        $(COMPRESS) $(srcdir)/../NEWS > $@~ && $(MV) $@~ $@
2444
 
 
2445
 
NEWS.gz.C: NEWS.gz
2446
 
        $(MAKE) stringify$(EXEEXT)
2447
 
        -./stringify < NEWS.gz > $@~ && $(MV) $@~ $@
2448
 
 
2449
 
# `make depend' fails to find this dependency :-(
2450
 
show.$(OBJEXT): COPYING.gz.C NEWS.gz.C ddd.info.txt.gz.C
2451
 
 
2452
 
 
2453
 
## The xlibdir script
2454
 
xlibdir.C: xlibdir.txt
2455
 
 
2456
 
# `make depend' fails to find this dependency :-(
2457
 
xconfig.$(OBJEXT): xlibdir.C
2458
 
 
2459
 
 
2460
 
## The host type
2461
 
host.h: $(srcdir)/host.h.in config.status
2462
 
        $(CAT) $(srcdir)/host.h.in | \
2463
 
        $(SED) "s%@HOST_CANONICAL@%$(host_canonical)%" | \
2464
 
        $(SED) "s%@TARGET_CANONICAL@%$(target_canonical)%" > $@~ && \
2465
 
        $(MV) $@~ $@
2466
 
 
2467
 
## Tags.
2468
 
.PHONY: tags
2469
 
tags:   $(srcdir)/TAGS
2470
 
 
2471
 
$(srcdir)/TAGS: FORCE
2472
 
        @if [ `ls -c $(srcdir)/TAGS $(srcdir)/*.[Ch] | head -1` != $(srcdir)/TAGS ]; then \
2473
 
        echo 'Creating $@...'; \
2474
 
        $(ETAGS) -o $@ $(srcdir)/*.[Ch]; \
2475
 
        echo 'Creating $@...done.'; \
2476
 
        else \
2477
 
        echo "'"'$@` is up to date.'; \
2478
 
        fi
2479
 
 
2480
 
## Statistics.
2481
 
# Count lines of C++/lex/yacc source code.
2482
 
# Lines containing only comments or documentation and empty lines are ignored.
2483
 
 
2484
 
.PHONY: loc stats
2485
 
loc stats:
2486
 
        cd $(srcdir); \
2487
 
        for list in '$(LIB_OBJECTS)' '$(DDD_OBJECTS)' '$(OBJECTS)'; do \
2488
 
        pattern=`$(ECHO) $$list | $(SED) 's/\([a-zA-Z0-9_]*\)\.$(OBJEXT)/\1\\.*/g'`; \
2489
 
        $(ECHO) "Lines of code for $$pattern"; \
2490
 
        $(CAT) `$(LS) $$pattern | grep '\.[ChLY]'` | \
2491
 
                $(GREP) -v '^[  ]*//' | \
2492
 
                $(GREP) -v '^"' | \
2493
 
                $(GREP) -v '^[  ]*$$' | wc -l; \
2494
 
        done
2495
 
 
2496
 
 
2497
 
## EPS code stuff.
2498
 
 
2499
 
$(srcdir)/header.str: $(srcdir)/header.ps
2500
 
        $(SED) 's/^.*$$/"&\\n"/' $(srcdir)/header.ps > $@~ && $(MV) $@~ $@
2501
 
 
2502
 
$(srcdir)/trailer.str: $(srcdir)/trailer.ps
2503
 
        $(SED) 's/^.*$$/"&\\n"/' $(srcdir)/trailer.ps > $@~ && $(MV) $@~ $@
2504
 
 
2505
 
$(srcdir)/eps-code.h: \
2506
 
        $(srcdir)/header.str $(srcdir)/trailer.str $(srcdir)/eps-code.x
2507
 
        $(SED) -e '/prolog/r $(srcdir)/header.str' \
2508
 
               -e '/trailer/r $(srcdir)/trailer.str' $(srcdir)/eps-code.x \
2509
 
        > $@~ && $(MV) $@~ $@
2510
 
 
2511
 
 
2512
 
## Configuration info stuff
2513
 
configinfo.C: USERINFO $(srcdir)/config-info
2514
 
        $(SHELL) $(srcdir)/config-info $(srcdir)/USERINFO USERINFO > $@~ && \
2515
 
        $(MV) $@~ $@
2516
 
 
2517
 
# configinfo.C: Makefile config.h
2518
 
 
2519
 
configinfo.$(OBJEXT):   configinfo.C configinfo.h
2520
 
 
2521
 
# If `~/.ddd_userinfo' exists, use this file as personal identification.
2522
 
USERINFO: userinfo$(EXEEXT)
2523
 
        -(cat $$HOME/.ddd_userinfo 2> /dev/null || \
2524
 
        ./userinfo || echo '(unknown)') > $@~ && $(MV) $@~ $@
2525
 
        @$(ECHO) ""
2526
 
        @$(ECHO) "Please check your name and e-mail address:"
2527
 
        @$(ECHO) ""
2528
 
        @$(CAT) $@
2529
 
        @$(ECHO) ""
2530
 
        @$(ECHO) "This information will be compiled into $(DDD)."
2531
 
        @$(ECHO) "If it is not correct, please edit $@ and re-compile."
2532
 
        @$(ECHO) ""
2533
 
 
2534
 
 
2535
 
## Update the shared source tree.  For development only.
2536
 
 
2537
 
PUB_DEST=/ftp/ips/pub/misc/$(ddd)-$(VERSION)/ddd
2538
 
PUB_SRC=`ls -t /usr/local/share/CVS/ddd/ddd | $(SED) 's/,v//'`
2539
 
GTEST=/usr/local/gnubin/test
2540
 
 
2541
 
.PHONY: pub
2542
 
pub:    $(PROG_STUFF) configure $(PUB_DEST)/USERINFO
2543
 
        @for file in $(PUB_SRC) $(PROG_STUFF) configure Makedeps; do \
2544
 
            if $(GTEST) ./$$file -nt $(PUB_DEST)/$$file; then \
2545
 
                echo -n Updating $(PUB_DEST)/$$file...; \
2546
 
                cp -p ./$$file $(PUB_DEST)/$$file; \
2547
 
                echo done.; \
2548
 
            fi; \
2549
 
        done
2550
 
 
2551
 
 
2552
 
## Make dependency stuff.
2553
 
 
2554
 
.PHONY: depend
2555
 
depend: FORCE $(PROG_STUFF)
2556
 
 
2557
 
.PRECIOUS: $(srcdir)/Makedeps
2558
 
$(srcdir)/Makedeps depend:
2559
 
        @$(ECHO) "Creating $(srcdir)/Makedeps..."
2560
 
        @( $(ECHO) \#' DO NOT EDIT -- generated automagically by make depend';\
2561
 
        $(ECHO) \#' Source: $$Id$$'; \
2562
 
        $(ECHO) ; \
2563
 
        srcdir=`echo $(srcdir) | $(SED) 's%\.%\\\\.%g'`; \
2564
 
        $(CXX) -M $(CPPFLAGS) $(DEFS) $(INCLUDE) $(srcdir)/*.C \
2565
 
        | $(SED) "s% $$srcdir/% %g" \
2566
 
        | $(SED) 's% /[^ ]*%%g' \
2567
 
        | $(SED) 's% \./% %g' \
2568
 
        | $(GREP) -v '^ *\\$$' \
2569
 
        | $(SED) "s% \.\./% \$$(srcdir)/\.\./%g" \
2570
 
        | $(SED) 's%^ *$$%& config.h%g' ) > Makedeps~
2571
 
        @$(MV) Makedeps~ $(srcdir)/Makedeps
2572
 
        @$(ECHO) "Creating $(srcdir)/Makedeps...done."
2573
 
 
2574
 
## If your `make' cannot handle the following line,
2575
 
## just replace it by the contents of `@srcdir@/Makedeps'.
2576
 
include @srcdir@/Makedeps