386BSD 0.1 development
[unix-history] / usr / othersrc / public / ghostscript-2.4.1 / unix-cc.mak
CommitLineData
1e2be215
WJ
1# Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved.
2# Distributed by Free Software Foundation, Inc.
3#
4# This file is part of Ghostscript.
5#
6# Ghostscript is distributed in the hope that it will be useful, but
7# WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
8# to anyone for the consequences of using it or for whether it serves any
9# particular purpose or works at all, unless he says so in writing. Refer
10# to the Ghostscript General Public License for full details.
11#
12# Everyone is granted permission to copy, modify and redistribute
13# Ghostscript, but only under the conditions described in the Ghostscript
14# General Public License. A copy of this license is supposed to have been
15# given to you along with Ghostscript so you can know your rights and
16# responsibilities. It should be in a file named COPYING. Among other
17# things, the copyright notice and this notice must be preserved on all
18# copies.
19
20# makefile for Ghostscript, Unix/cc/X11 configuration.
21
22# ------------------------------- Options ------------------------------- #
23
24####### The following are the only parts of the file you should need to edit.
25
26# ------ Generic options ------ #
27
28# Define the default directory/ies for the runtime
29# initialization and font files. Separate multiple directories with a :.
30# `pwd` means use the directory in which the 'make' is being done.
31
32GS_LIB_DEFAULT=`pwd`:`pwd`/fonts
33
34# Define the name of the Ghostscript initialization file.
35# (There is no reason to change this.)
36
37GS_INIT=gs_init.ps
38
39# Choose generic configuration options.
40
41# -DDEBUG
42# includes debugging features (-Z switch) in the code.
43# Code runs substantially slower even if no debugging switches
44# are set.
45# -DNOPRIVATE
46# makes private (static) procedures and variables public,
47# so they are visible to the debugger and profiler.
48# No execution time or space penalty.
49
50GENOPT=
51
52# ------ Platform-specific options ------ #
53
54# Define the other compilation flags.
55# Add -DBSD4_2 for 4.2bsd systems.
56# Add -DSYSV for System V.
57# Add -DSYSV -D__SVR3 for SCO ODT, ISC Unix 2.2 or before,
58# or any System III Unix, or System V release 3-or-older Unix.
59# Add -DSVR4 (not -DSYSV) for System V release 4.
60# XCFLAGS can be set from the command line.
61
62CFLAGS=-O $(XCFLAGS)
63
64# Define platform flags for ld.
65# SunOS and some others want -X; Ultrix wants -x.
66# SunOS 4.n may need -Bstatic.
67# XLDFLAGS can be set from the command line.
68
69LDFLAGS=$(XLDFLAGS)
70
71# Define any extra libraries to link into the executable.
72# ISC Unix 2.2 wants -linet.
73# (Libraries required by individual drivers are handled automatically.)
74
75EXTRALIBS=
76
77# Define the include switch(es) for the X11 header files.
78# This can be null if handled in some other way (e.g., the files are
79# in /usr/include, or the directory is supplied by an environment variable).
80
81XINCLUDE=-I/usr/local/X/include
82
83# Define the directory/ies for the X11 library files.
84# This can be null if these files are in the default linker search path.
85
86XLIBDIRS=-L/usr/local/X/lib
87
88# Define the installation commands and target directories for
89# executables and files. Only relevant to `make install'.
90
91INSTALL = install -c
92INSTALL_PROGRAM = $(INSTALL) -m 775
93INSTALL_DATA = $(INSTALL) -m 664
94
95prefix = /usr/local
96bindir = $(prefix)/bin
97libdir = $(prefix)/lib/ghostscript
98
99# ------ Devices and features ------ #
100
101# Choose the language feature(s) to include. See gs.mak for details.
102
103FEATURE_DEVS=filter.dev dps.dev level2.dev
104
105# Choose the device(s) to include. See devs.mak for details.
106
107DEVICE_DEVS=x11.dev
108
109# ---------------------------- End of options --------------------------- #
110
111# Define the name of the makefile -- used in dependencies.
112
113MAKEFILE=unix-cc.mak
114
115# Define the ANSI-to-K&R dependency.
116
117AK=ansi2knr$(XE)
118
119# Define the compilation rules and flags.
120
121CCC=./ccgs "$(CC) $(CCFLAGS)"
122
123# --------------------------- Generic makefile ---------------------------- #
124
125# The remainder of the makefile (unixhead.mak, gs.mak, devs.mak, unixtail.mak)
126# is generic. tar_cat concatenates all these together.
127# Copyright (C) 1990, 1991 Aladdin Enterprises. All rights reserved.
128# Distributed by Free Software Foundation, Inc.
129#
130# This file is part of Ghostscript.
131#
132# Ghostscript is distributed in the hope that it will be useful, but
133# WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
134# to anyone for the consequences of using it or for whether it serves any
135# particular purpose or works at all, unless he says so in writing. Refer
136# to the Ghostscript General Public License for full details.
137#
138# Everyone is granted permission to copy, modify and redistribute
139# Ghostscript, but only under the conditions described in the Ghostscript
140# General Public License. A copy of this license is supposed to have been
141# given to you along with Ghostscript so you can know your rights and
142# responsibilities. It should be in a file named COPYING. Among other
143# things, the copyright notice and this notice must be preserved on all
144# copies.
145
146# Partial makefile for Ghostscript, common to all Unix configurations.
147
148# This part of the makefile gets inserted after the compiler-specific part
149# (xxx-head.mak) and before gs.mak and devs.mak.
150
151# ----------------------------- Generic stuff ----------------------------- #
152
153# Define the platform name.
154
155PLATFORM=unix_
156
157# Define the extensions for the object and executable files.
158
159OBJ=o
160XE=
161
162# Define the need for uniq.
163
164UNIQ=
165
166# Define the current directory prefix, shell quote string, and shell names.
167
168EXP=./
169QQ=\"
170SHELL=/bin/sh
171SH=$(SHELL)
172SHP=$(SH) $(EXP)
173
174# Define the compilation rules and flags.
175
176CCFLAGS=$(GENOPT) $(CFLAGS)
177
178.c.o: $(AK)
179 $(CCC) $*.c
180
181CC0=$(CCC)
182CCINT=$(CCC)
183# Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved.
184# Distributed by Free Software Foundation, Inc.
185#
186# This file is part of Ghostscript.
187#
188# Ghostscript is distributed in the hope that it will be useful, but
189# WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
190# to anyone for the consequences of using it or for whether it serves any
191# particular purpose or works at all, unless he says so in writing. Refer
192# to the Ghostscript General Public License for full details.
193#
194# Everyone is granted permission to copy, modify and redistribute
195# Ghostscript, but only under the conditions described in the Ghostscript
196# General Public License. A copy of this license is supposed to have been
197# given to you along with Ghostscript so you can know your rights and
198# responsibilities. It should be in a file named COPYING. Among other
199# things, the copyright notice and this notice must be preserved on all
200# copies.
201
202# Generic makefile for Ghostscript.
203# The platform-specific makefiles `include' this file.
204# They define the following symbols:
205# GS_INIT - the name of the initialization file for Ghostscript,
206# normally gs_init.ps.
207# GS_LIB_DEFAULT - the default directory/ies for searching for the
208# initialization and font files at run time.
209# DEVICE_DEVS - the devices to include in the executable.
210# See devs.mak for details.
211# DEVICE_DEVS2...DEVICE_DEVS5 - additional devices, if the definition of
212# DEVICE_DEVS doesn't fit on one line.
213# See devs.mak for details.
214# FEATURE_DEVS - the optional features to include in the
215# executable. Current features are:
216# dps - support for Display PostScript extensions.
217# *** PARTIALLY IMPLEMENTED, SEE language.doc. ***
218# level2 - support for PostScript Level 2 extensions.
219# *** PARTIALLY IMPLEMENTED, SEE language.doc. ***
220# compfont - support for composite (type 0) fonts.
221# *** NOT IMPLEMENTED YET. ***
222# filter - support for Level 2 filters (other than eexec,
223# ASCIIHexEncode/Decode, and PFBDecode, which are
224# always included).
225# ccfonts - precompile fonts into C, and link them
226# with the executable. In the standard makefiles,
227# this is only implemented for a very few fonts:
228# see fonts.doc for details.
229# It is very unlikely that anyone would want to edit the remaining
230# symbols, but we describe them here for completeness:
231# PLATFORM - a "device" name for the platform, so that platforms can
232# add various kinds of resources like devices and features.
233# QQ - a " preceded by whatever escape characters are needed to
234# persuade the shell to pass a " to a program (" on MS-DOS,
235# \" on Unix).
236# XE - the extension for executable files (e.g., null or .exe).
237# OBJ - the extension for relocatable object files (e.g., o or obj).
238# CCC - the C invocation for normal compilation.
239# CC0 - a C invocation with the fewest possible flags. Needed because
240# MS-DOS limits the length of command lines to 128 characters.
241# CCINT - the C invocation for compiling the main interpreter module,
242# normally the same as CCC: this is needed because the
243# Borland compiler generates *worse* code for this module
244# (but only this module) when optimization (-O) is turned on.
245# AK - if source files must be converted from ANSI to K&R syntax,
246# this is ansi2knr$(XE); if not, it is null.
247# If a particular platform requires other utility programs
248# to be built, AK must include them too.
249# UNIQ - null on systems that provide the uniq utility,
250# uniq$(XE) on systems where we have to provide our own.
251# SHP - the prefix for invoking a shell script in the current directory
252# (null for MS-DOS, $(SH) ./ for Unix).
253# EXPP, EXP - the prefix for invoking an executable program in the
254# current directory (null for MS-DOS, ./ for Unix).
255# SH - the shell for scripts (null on MS-DOS, sh on Unix).
256# The platform-specific makefiles must also include rules for creating
257# ansi2knr$(XE) and genarch$(XE) from the corresponding .c files,
258# and for making arch.h by executing genarch$(XE). (This
259# shouldn't really be necessary, but Turbo C and Unix C treat the -o
260# switch slightly differently (Turbo C requires no following space,
261# Unix C requires a following space), and I haven't found a way to capture
262# the difference in a macro; also, Unix requires ./ because . may not be
263# in the search path, whereas MS-DOS always looks in the current
264# directory first.)
265
266all default: gs$(XE)
267
268test: gt$(XE)
269
270mostlyclean realclean distclean clean:
271 rm -f *.$(OBJ) *.a core gmon.out
272 rm -f *.dev gconfig.h obj*.tr lib*.tr
273 rm -f t _temp_* _temp_*.* *.map *.sym
274 rm -f ansi2knr$(XE) genarch$(XE) uniq$(XE) arch.h gs$(XE)
275
276# Auxiliary programs
277
278# genarch may cause a (deliberate) addressing fault,
279# so we invoke it with a preceding -.
280
281arch.h: genarch$(XE)
282 - $(EXPP) $(EXP)genarch arch.h
283
284# -------------------------------- Library -------------------------------- #
285
286# Define the inter-dependencies of the .h files.
287# Since not all versions of `make' defer expansion of macros,
288# we must list these in bottom-to-top order.
289
290# Generic files
291
292arch_h=arch.h
293std_h=std.h $(arch_h)
294gs_h=gs.h $(std_h)
295gx_h=gx.h $(gs_h)
296
297# C library interfaces
298
299# Because of variations in the "standard" header files between systems,
300# we define local include files named *_.h to substitute for <*.h>.
301
302vmsmath_h=vmsmath.h
303
304dos__h=dos_.h
305malloc__h=malloc_.h
306math__h=math_.h $(vmsmath_h)
307memory__h=memory_.h
308stat__h=stat_.h
309string__h=string_.h
310time__h=time_.h
311
312# Miscellaneous
313
314gserrors_h=gserrors.h
315
316GX=$(AK) $(gx_h)
317GXERR=$(GX) $(gserrors_h)
318
319###### Low-level facilities and utilities
320
321### Include files
322
323gschar_h=gschar.h
324gscolor_h=gscolor.h
325gscoord_h=gscoord.h
326gsfont_h=gsfont.h
327gsmatrix_h=gsmatrix.h
328gspaint_h=gspaint.h
329gspath_h=gspath.h
330gsprops_h=gsprops.h
331gsstate_h=gsstate.h $(gscolor_h)
332gstype1_h=gstype1.h
333gsutil_h=gsutil.h
334
335gxarith_h=gxarith.h
336gxbitmap_h=gxbitmap.h
337gxcache_h=gxcache.h
338gxchar_h=gxchar.h $(gschar_h)
339gxclist_h=gxclist.h
340gxcpath_h=gxcpath.h
341gxdevice_h=gxdevice.h $(gsmatrix_h) $(gxbitmap_h)
342gxdevmem_h=gxdevmem.h
343gxfdir_h=gxfdir.h
344gxfixed_h=gxfixed.h
345gxfont_h=gxfont.h $(gsfont_h)
346gximage_h=gximage.h
347gxlum_h=gxlum.h
348gxmatrix_h=gxmatrix.h $(gsmatrix_h)
349gxop1_h=gxop1.h
350gxpath_h=gxpath.h
351gxtype1_h=gxtype1.h $(gstype1_h)
352
353gzcolor_h=gzcolor.h $(gscolor_h)
354gzdevice_h=gzdevice.h $(gxdevice_h)
355gzht_h=gzht.h
356gzline_h=gzline.h
357gzpath_h=gzpath.h $(gxpath_h)
358gzstate_h=gzstate.h $(gsstate_h)
359
360### Executable code
361
362gsutil.$(OBJ): gsutil.c \
363 $(std_h) $(gsprops_h) $(gsutil_h)
364
365gxcache.$(OBJ): gxcache.c $(GXERR) \
366 $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzdevice_h) $(gzcolor_h) \
367 $(gxcpath_h) $(gxdevmem_h) $(gxfont_h) $(gxfdir_h) $(gxchar_h) \
368 $(gxcache_h) $(gzstate_h) $(gzpath_h)
369
370gxclist.$(OBJ): gxclist.c $(GXERR) \
371 $(gsmatrix_h) $(gxbitmap_h) $(gxclist_h) $(gxdevice_h) $(gxdevmem_h)
372
373gxcolor.$(OBJ): gxcolor.c $(GXERR) \
374 $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gxlum_h) $(gzcolor_h) $(gzht_h) $(gzstate_h)
375
376gxcpath.$(OBJ): gxcpath.c $(GXERR) \
377 $(gxdevice_h) $(gxfixed_h) $(gzcolor_h) $(gzpath_h) $(gxcpath_h)
378
379gxdither.$(OBJ): gxdither.c $(GX) \
380 $(gxfixed_h) $(gxlum_h) $(gxmatrix_h) $(gzstate_h) $(gzdevice_h) $(gzcolor_h) $(gzht_h)
381
382gxdraw.$(OBJ): gxdraw.c $(GX) \
383 $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzcolor_h) $(gzdevice_h) $(gzstate_h)
384
385gxfill.$(OBJ): gxfill.c $(GXERR) \
386 $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzcolor_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h)
387
388gxht.$(OBJ): gxht.c $(GXERR) \
389 $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h)
390
391gxpath.$(OBJ): gxpath.c $(GXERR) \
392 $(gxfixed_h) $(gzpath_h)
393
394gxpath2.$(OBJ): gxpath2.c $(GXERR) \
395 $(gxfixed_h) $(gxarith_h) $(gzpath_h)
396
397gxstroke.$(OBJ): gxstroke.c $(GXERR) \
398 $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzline_h) $(gzpath_h)
399
400###### High-level facilities
401
402gschar.$(OBJ): gschar.c $(GXERR) \
403 $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gxcache_h) $(gstype1_h) $(gspath_h) $(gzpath_h) $(gzcolor_h) $(gzstate_h)
404
405gscolor.$(OBJ): gscolor.c $(GXERR) \
406 $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzstate_h) $(gzcolor_h) $(gzht_h)
407
408gscoord.$(OBJ): gscoord.c $(GXERR) \
409 $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gzstate_h) $(gscoord_h)
410
411gsdevice.$(OBJ): gsdevice.c $(GXERR) \
412 $(gsarith_h) $(gsprops_h) $(gsutil_h) $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gxdevmem_h) $(gzstate_h) $(gzdevice_h)
413
414gsfile.$(OBJ): gsfile.c $(GXERR) \
415 $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
416
417gsfont.$(OBJ): gsfont.c $(GXERR) \
418 $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfdir_h) $(gzstate_h)
419
420gsimage.$(OBJ): gsimage.c $(GXERR) \
421 $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gspaint_h) $(gzcolor_h) $(gzdevice_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
422
423gsim2out.$(OBJ): gsim2out.c $(GXERR) \
424 $(gsstate_h) $(gsmatrix_h) $(gscoord_h) $(gxfixed_h) $(gxtype1_h)
425
426gsline.$(OBJ): gsline.c $(GXERR) \
427 $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzline_h)
428
429gsmatrix.$(OBJ): gsmatrix.c $(GXERR) \
430 $(gxfixed_h) $(gxarith_h) $(gxmatrix_h)
431
432gsmisc.$(OBJ): gsmisc.c $(GX) $(MAKEFILE)
433 $(CCC) -DUSE_ASM=0$(USE_ASM) gsmisc.c
434
435gspaint.$(OBJ): gspaint.c $(GXERR) \
436 $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzpath_h) $(gzstate_h) $(gzdevice_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
437
438gspath.$(OBJ): gspath.c $(GXERR) \
439 $(gxfixed_h) $(gxmatrix_h) $(gxpath_h) $(gzstate_h)
440
441gspath2.$(OBJ): gspath2.c $(GXERR) \
442 $(gspath_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzpath_h) $(gzdevice_h)
443
444gsstate.$(OBJ): gsstate.c $(GXERR) \
445 $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h) $(gzline_h) $(gzpath_h)
446
447gstdev.$(OBJ): gstdev.c $(GX) \
448 $(gxbitmap_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h)
449
450gstype1.$(OBJ): gstype1.c $(GXERR) \
451 $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h) $(gxdevmem_h) $(gxop1_h) $(gxtype1_h) \
452 $(gzstate_h) $(gzdevice_h) $(gzpath_h)
453
454###### The internal devices
455
456gdevmem_h=gdevmem.h
457
458gdevmem1.$(OBJ): gdevmem1.c $(AK) \
459 $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
460
461gdevmem2.$(OBJ): gdevmem2.c $(AK) \
462 $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
463
464gdevmem3.$(OBJ): gdevmem3.c $(AK) \
465 $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
466
467###### Files dependent on the installed devices, features, and platform.
468###### Generating gconfig.h also generates obj*.tr and lib.tr.
469
470gconfig.h obj.tr objw.tr lib.tr: devs.mak $(MAKEFILE) $(UNIQ) \
471 $(DEVICE_DEVS) $(DEVICE_DEVS2) $(DEVICE_DEVS3) $(DEVICE_DEVS4) $(DEVICE_DEVS5)\
472 $(FEATURE_DEVS) $(PLATFORM).dev
473 $(SHP)gsconfig $(DEVICE_DEVS) +
474 $(SHP)gsconfig + $(DEVICE_DEVS2) +
475 $(SHP)gsconfig + $(DEVICE_DEVS3) +
476 $(SHP)gsconfig + $(DEVICE_DEVS4) +
477 $(SHP)gsconfig + $(DEVICE_DEVS5) +
478 $(SHP)gsconfig + $(FEATURE_DEVS) $(PLATFORM).dev
479
480gconfig.$(OBJ): gconfig.c $(AK) gconfig.h $(MAKEFILE)
481 $(CC0) -DGS_LIB_DEFAULT=$(QQ)$(GS_LIB_DEFAULT)$(QQ) -DGS_INIT=$(QQ)$(GS_INIT)$(QQ) gconfig.c
482
483###### On Unix, we pre-link all of the library except the back end.
484###### On MS-DOS, we have to do the whole thing at once.
485
486LIB=gschar.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) \
487 gsdevice.$(OBJ) gsfile.$(OBJ) gsfont.$(OBJ) \
488 gsimage.$(OBJ) gsim2out.$(OBJ) \
489 gsline.$(OBJ) gsmatrix.$(OBJ) gsmisc.$(OBJ) \
490 gspaint.$(OBJ) gspath.$(OBJ) gspath2.$(OBJ) \
491 gsstate.$(OBJ) gstdev.$(OBJ) gstype1.$(OBJ) gsutil.$(OBJ) \
492 gxcache.$(OBJ) gxclist.$(OBJ) gxcolor.$(OBJ) gxcpath.$(OBJ) \
493 gxdither.$(OBJ) gxdraw.$(OBJ) gxfill.$(OBJ) \
494 gxht.$(OBJ) gxpath.$(OBJ) gxpath2.$(OBJ) gxstroke.$(OBJ) \
495 gdevmem1.$(OBJ) gdevmem2.$(OBJ) gdevmem3.$(OBJ) gconfig.$(OBJ)
496
497# ------------------------------ Interpreter ------------------------------ #
498
499###### Include files
500
501alloc_h=alloc.h
502astate_h=astate.h
503ccfont_h=ccfont.h
504dict_h=dict.h
505dstack_h=dstack.h
506errors_h=errors.h
507estack_h=estack.h
508file_h=file.h
509font_h=font.h
510ghost_h=ghost.h $(gx_h)
511gp_h=gp.h
512iutil_h=iutil.h
513name_h=name.h
514opdef_h=opdef.h
515ostack_h=ostack.h
516overlay_h=overlay.h
517packed_h=packed.h
518save_h=save.h
519scanchar_h=scanchar.h
520state_h=state.h
521store_h=store.h
522stream_h=stream.h
523# Nested include files
524oper_h=oper.h $(gsutil_h) $(iutil_h) $(opdef_h) $(ostack_h)
525# Include files for optional features
526bnum_h=bnum.h
527bseq_h=bseq.h
528btoken_h=btoken.h
529
530comp1_h=comp1.h $(ghost_h) $(oper_h) $(gserrors_h) $(gxfixed_h) $(gxop1_h)
531
532gdevpccm_h=gdevpccm.h
533gdevpcl_h=gdevpcl.h
534gdevprn_h=gdevprn.h $(memory__h) $(string__h) $(gs_h) \
535 $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) $(gxclist_h)
536gdevx_h=gdevx.h
537
538###### Utilities
539
540GH=$(AK) $(ghost_h)
541
542ialloc.$(OBJ): ialloc.c $(AK) $(gs_h) $(alloc_h) $(astate_h)
543
544iccfont.$(OBJ): iccfont.c $(GH) \
545 $(ghost_h) $(alloc_h) $(ccfont_h) $(dict_h) $(dstack_h) $(errors_h) $(name_h) $(save_h) $(store_h)
546
547idebug.$(OBJ): idebug.c $(GH) \
548 $(iutil_h) $(dict_h) $(name_h) $(ostack_h) $(opdef_h) $(packed_h) $(store_h)
549
550idict.$(OBJ): idict.c $(GH) $(alloc_h) $(errors_h) $(name_h) $(packed_h) $(save_h) $(store_h) $(iutil_h) $(dict_h) $(dstack_h)
551
552iinit.$(OBJ): iinit.c $(GH) gconfig.h $(alloc_h) $(dict_h) $(dstack_h) $(errors_h) $(name_h) $(oper_h) $(store_h)
553
554iname.$(OBJ): iname.c $(GH) $(alloc_h) $(errors_h) $(name_h) $(store_h)
555
556isave.$(OBJ): isave.c $(GH) $(alloc_h) $(astate_h) $(name_h) $(packed_h) $(save_h) $(store_h)
557
558iscan.$(OBJ): iscan.c $(GH) $(alloc_h) $(dict_h) $(dstack_h) $(errors_h) $(iutil_h) \
559 $(name_h) $(ostack_h) $(packed_h) $(store_h) $(stream_h) $(scanchar_h)
560
561iutil.$(OBJ): iutil.c $(GH) \
562 $(errors_h) $(alloc_h) $(dict_h) $(iutil_h) $(name_h) $(ostack_h) $(opdef_h) $(store_h) \
563 $(gsmatrix_h) $(gxdevice_h) $(gzcolor_h)
564
565sfilter.$(OBJ): sfilter.c $(AK) $(std_h) $(scanchar_h) $(stream_h) \
566 $(gxfixed_h) $(gstype1_h)
567
568stream.$(OBJ): stream.c $(AK) $(std_h) $(stream_h) $(scanchar_h)
569
570###### Operators
571
572OP=$(GH) $(errors_h) $(oper_h)
573
574### Non-graphics operators
575
576zarith.$(OBJ): zarith.c $(OP) $(store_h)
577
578zarray.$(OBJ): zarray.c $(OP) $(alloc_h) $(packed_h) $(store_h)
579
580zcontrol.$(OBJ): zcontrol.c $(OP) $(estack_h) $(iutil_h) $(store_h)
581
582zdict.$(OBJ): zdict.c $(OP) $(dict_h) $(dstack_h) $(store_h)
583
584zfile.$(OBJ): zfile.c $(OP) $(gp_h) \
585 $(alloc_h) $(estack_h) $(file_h) $(iutil_h) $(save_h) $(stream_h) $(store_h)
586
587zfileio.$(OBJ): zfileio.c $(OP) $(gp_h) \
588 $(estack_h) $(file_h) $(store_h) $(stream_h) \
589 $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
590
591zfilter.$(OBJ): zfilter.c $(OP) $(alloc_h) $(stream_h)
592
593zgeneric.$(OBJ): zgeneric.c $(OP) $(dict_h) $(estack_h) $(name_h) $(packed_h) $(store_h)
594
595zmath.$(OBJ): zmath.c $(OP) $(store_h)
596
597zmisc.$(OBJ): zmisc.c $(OP) $(gp_h) \
598 $(alloc_h) $(dict_h) $(dstack_h) $(name_h) $(packed_h) $(store_h) \
599 $(gstype1_h) $(gxfixed_h)
600
601zpacked.$(OBJ): zpacked.c $(OP) \
602 $(alloc_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(store_h)
603
604zprops.$(OBJ): zprops.c $(OP) \
605 $(alloc_h) $(dict_h) $(name_h) $(store_h) \
606 $(gsprops_h) $(gsmatrix_h) $(gxdevice_h)
607
608zrelbit.$(OBJ): zrelbit.c $(OP) $(store_h) $(dict_h)
609
610zstack.$(OBJ): zstack.c $(OP) $(store_h)
611
612zstring.$(OBJ): zstring.c $(OP) $(alloc_h) $(iutil_h) $(name_h) $(store_h) $(stream_h)
613
614ztype.$(OBJ): ztype.c $(OP) $(dict_h) $(iutil_h) $(name_h) $(stream_h) $(store_h)
615
616zvmem.$(OBJ): zvmem.c $(OP) $(alloc_h) $(dict_h) $(dstack_h) $(estack_h) $(save_h) $(state_h) $(store_h) \
617 $(gsmatrix_h) $(gsstate_h)
618
619###### Graphics operators
620
621zchar.$(OBJ): zchar.c $(OP) $(gxmatrix_h) $(gschar_h) $(gstype1_h) $(gxdevice_h) $(gxfixed_h) $(gxfont_h) $(gzpath_h) $(gzstate_h) $(alloc_h) $(dict_h) $(dstack_h) $(font_h) $(estack_h) $(state_h) $(store_h)
622
623zcolor.$(OBJ): zcolor.c $(OP) $(alloc_h) $(estack_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gxdevice_h) $(gzcolor_h) $(iutil_h) $(state_h) $(store_h)
624
625zdevice.$(OBJ): zdevice.c $(OP) $(alloc_h) $(state_h) $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(store_h)
626
627zfont.$(OBJ): zfont.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) $(gxfdir_h) \
628 $(alloc_h) $(font_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(state_h) $(store_h)
629
630zfont1.$(OBJ): zfont1.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
631 $(dict_h) $(font_h) $(name_h) $(store_h)
632
633zfont2.$(OBJ): zfont2.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
634 $(alloc_h) $(dict_h) $(font_h) $(name_h) $(packed_h) $(store_h)
635
636zgstate.$(OBJ): zgstate.c $(OP) $(alloc_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
637
638zht.$(OBJ): zht.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
639
640zmatrix.$(OBJ): zmatrix.c $(OP) $(gsmatrix_h) $(state_h) $(gscoord_h) $(store_h)
641
642zpaint.$(OBJ): zpaint.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gspaint_h) $(state_h) $(store_h)
643
644zpath.$(OBJ): zpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h)
645
646zpath2.$(OBJ): zpath2.c $(OP) $(alloc_h) $(estack_h) $(gspath_h) $(state_h) $(store_h)
647
648###### Linking
649
650INT=ialloc.$(OBJ) idebug.$(OBJ) idict.$(OBJ) iinit.$(OBJ) iname.$(OBJ) \
651 interp.$(OBJ) isave.$(OBJ) iscan.$(OBJ) iutil.$(OBJ) \
652 sfilter.$(OBJ) stream.$(OBJ) \
653 zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ) \
654 zfile.$(OBJ) zfileio.$(OBJ) zfilter.$(OBJ) zgeneric.$(OBJ) \
655 zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ) zprops.$(OBJ) zrelbit.$(OBJ) \
656 zstack.$(OBJ) zstring.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ) \
657 zchar.$(OBJ) zcolor.$(OBJ) zfont.$(OBJ) zfont1.$(OBJ) zfont2.$(OBJ) \
658 zdevice.$(OBJ) zgstate.$(OBJ) zht.$(OBJ) zmatrix.$(OBJ) \
659 zpaint.$(OBJ) zpath.$(OBJ) zpath2.$(OBJ)
660
661# -------------------------- Optional features ---------------------------- #
662
663### Additions common to Display PostScript and Level 2
664
665dpsand2_=gsdps1.$(OBJ) ibnum.$(OBJ) ibscan.$(OBJ) \
666 zbseq.$(OBJ) zdps1.$(OBJ) zupath.$(OBJ)
667dpsand2.dev: $(dpsand2_)
668 $(SHP)gssetmod dpsand2 $(dpsand2_)
669 $(SHP)gsaddmod dpsand2 -oper zbseq zdps1 zupath
670 $(SHP)gsaddmod dpsand2 -ps gs_dps1
671
672gsdps1.$(OBJ): gsdps1.c $(GXERR) $(gsmatrix_h) $(gspath_h)
673
674ibnum.$(OBJ): ibnum.c $(GH) $(errors_h) $(stream_h) $(bnum_h) $(btoken_h)
675
676ibscan.$(OBJ): ibscan.c $(GH) $(errors_h) \
677 $(alloc_h) $(dict_h) $(dstack_h) $(iutil_h) $(name_h) $(ostack_h) $(save_h) $(store_h) $(stream_h) $(bseq_h) $(btoken_h) $(bnum_h)
678
679zbseq.$(OBJ): zbseq.c $(OP) $(save_h) $(store_h) $(stream_h) $(file_h) $(name_h) $(bnum_h) $(btoken_h) $(bseq_h)
680
681zdps1.$(OBJ): zdps1.c $(OP) $(gsmatrix_h) $(gspath_h) $(gsstate_h) \
682 $(state_h) $(store_h) $(stream_h) $(bnum_h)
683
684zupath.$(OBJ): zupath.c $(OP) \
685 $(dict_h) $(dstack_h) $(iutil_h) $(state_h) $(store_h) $(stream_h) $(bnum_h) \
686 $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h) \
687 $(gxfixed_h) $(gxdevice_h) $(gxpath_h)
688
689### Display PostScript
690
691# We should include zcontext, but it isn't in good enough shape yet.
692dps_=
693dps.dev: dpsand2.dev $(dps_)
694 $(SHP)gssetmod dps $(dps_)
695 $(SHP)gsaddmod dps -include dpsand2
696
697zcontext.$(OBJ): zcontext.c $(OP) \
698 $(alloc_h) $(dict_h) $(estack_h) $(state_h) $(store_h)
699
700### Level 2 additions -- currently just things common to DPS and Level 2.
701# Should also include
702# $(SHP)gsaddmod level2 -ps gs_lev2
703
704level2_=
705level2.dev: dpsand2.dev $(level2_)
706 $(SHP)gssetmod level2 $(level2_)
707 $(SHP)gsaddmod level2 -include dpsand2
708
709### Composite font support
710
711gschar0.$(OBJ): gschar0.c $(GXERR) \
712 $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h)
713
714zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
715 $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
716
717compfont_=zfont0.$(OBJ) gschar0.$(OBJ)
718compfont.dev: $(compfont_)
719 $(SHP)gssetmod compfont $(compfont_)
720 $(SHP)gsaddmod compfont -oper zfont0
721
722### Filters other than eexec and ASCIIHex
723
724sfilter2.$(OBJ): sfilter2.c $(AK) $(std_h) $(scanchar_h) $(stream_h)
725
726zfilter2.$(OBJ): zfilter2.c $(OP) $(alloc_h) $(stream_h)
727
728filter_=zfilter2.$(OBJ) sfilter2.$(OBJ)
729filter.dev: $(filter_)
730 $(SHP)gssetmod filter $(filter_)
731 $(SHP)gsaddmod filter -oper zfilter2
732
733### LZW encoding/decoding
734### Not included, because Unisys has been awarded a legal monopoly
735### (patent) on the right to implement the freely published algorithms.
736
737lzw_=zlzwd.$(OBJ) zlzwe.$(OBJ) slzwd.$(OBJ) slzwe.$(OBJ)
738lzw.dev: $(lzw_)
739 $(SHP)gssetmod lzw $(lzw_)
740 $(SHP)gsaddmod lzw -oper zlzwd zlzwe
741
742slzwd.$(OBJ): slzwd.c $(AK) std.h stream.h
743
744slzwe.$(OBJ): slzwe.c $(AK) std.h stream.h
745
746zlzwd.$(OBJ): zlzwd.c $(OP) $(alloc_h) $(stream_h)
747
748zlzwe.$(OBJ): zlzwe.c $(OP) $(alloc_h) $(stream_h)
749
750### Precompiled fonts. See fonts.doc for more information.
751
752CCFONT=$(OP) $(ccfont_h)
753
754ccfonts_=ugly.$(OBJ) cour.$(OBJ)
755ccfonts.dev: $(ccfonts_) iccfont.$(OBJ)
756 $(SHP)gssetmod ccfonts $(ccfonts_) iccfont.$(OBJ)
757 $(SHP)gsaddmod ccfonts -oper font_Ugly font_Courier
758
759ugly.$(OBJ): ugly.c $(CCFONT)
760
761cour.$(OBJ): cour.c $(CCFONT)
762
763psyr.$(OBJ): psyr.c $(CCFONT)
764
765pzdr.$(OBJ): pzdr.c $(CCFONT)
766
767# ----------------------------- Main program ------------------------------ #
768
769# Utilities shared between platforms
770
771gsmain.$(OBJ): gsmain.c $(GX) \
772 $(gp_h) $(gsmatrix_h) $(gxdevice_h)
773
774# Interpreter main program
775
776interp.$(OBJ): interp.c $(GH) \
777 $(errors_h) $(estack_h) $(name_h) $(dict_h) $(dstack_h) $(oper_h) $(ostack_h) $(packed_h) $(save_h) $(store_h) $(stream_h)
778 $(CCINT) interp.c
779
780gs.$(OBJ): gs.c $(GH) $(alloc_h) $(estack_h) $(ostack_h) $(store_h) $(stream_h)
781# Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved.
782# Distributed by Free Software Foundation, Inc.
783#
784# This file is part of Ghostscript.
785#
786# Ghostscript is distributed in the hope that it will be useful, but
787# WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
788# to anyone for the consequences of using it or for whether it serves any
789# particular purpose or works at all, unless he says so in writing. Refer
790# to the Ghostscript General Public License for full details.
791#
792# Everyone is granted permission to copy, modify and redistribute
793# Ghostscript, but only under the conditions described in the Ghostscript
794# General Public License. A copy of this license is supposed to have been
795# given to you along with Ghostscript so you can know your rights and
796# responsibilities. It should be in a file named COPYING. Among other
797# things, the copyright notice and this notice must be preserved on all
798# copies.
799
800# makefile for Ghostscript device drivers.
801
802# -------------------------------- Catalog ------------------------------- #
803
804# It is possible to build Ghostscript with an arbitrary collection of
805# device drivers, although some drivers are supported only on a subset
806# of the target platforms. The currently available drivers are:
807
808# Displays:
809# MS-DOS EGA and VGA:
810# ega EGA (640x350, 16-color)
811# vga VGA (640x480, 16-color)
812# MS-DOS SuperVGA:
813# + atiw ATI Wonder SuperVGA, 256-color modes
814# * mdb10 EIZO MDB-10 (1024 x 768)
815# tseng SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes
816# tseng16 Tseng Labs SuperVGA in 800x600, 16-color mode (256K memory)
817# + tvga16 Trident SuperVGA in 800x600, 16-color mode (256K memory)
818# ****** NOTE: the vesa device does not work with the Watcom (32-bit MS-DOS)
819# ****** compiler or executable.
820# vesa SuperVGA with VESA standard API driver
821# MS-DOS other:
822# bgi Borland Graphics Interface (CGA and Hercules)
823# * pe Private Eye
824# Unix and VMS:
825# * sonyfb Sony Microsystems monochrome display [Sony only]
826# * sunview SunView window system [SunOS only]
827# x11 X Windows version 11, release >=3 [Unix and VMS only]
828# Printers:
829# bj10e Canon BubbleJet BJ10e
830# * cdeskjet H-P DeskJet 500C
831# + deskjet H-P DeskJet and DeskJet Plus
832# * dfaxhigh DigiBoard, Inc.'s DigiFAX software format (high resolution)
833# * dfaxlow DigiFAX low (normal) resolution
834# djet500 H-P DeskJet 500
835# * djet500c H-P DeskJet 500C
836# epson Epson-compatible dot matrix printers (9- or 24-pin)
837# * epsonc Epson LQ-2550 and Fujitsu 3400/2400/1200 color printers
838# + laserjet H-P LaserJet
839# * lbp8 Canon LBP-8II laser printer
840# * ln03 DEC LN03 printer [Ultrix only?]
841# + ljet2p H-P LaserJet IId/IIp/III* with TIFF compression
842# + ljet3 H-P LaserJet III* with Delta Row compression
843# * ljetplus H-P LaserJet Plus
844# * nwp533 Sony Microsystems NWP533 laser printer [Sony only]
845# paintjet H-P PaintJet color printer
846# * r4081 Ricoh 4081 laser printer
847# * trufax TruFax facsimile driver [Unix only]
848# File formats and others:
849# bit A "bit bucket" device for time benchmarking
850# gifmono Monochrome GIF file format
851# gif8 8-bit color GIF file format
852# pcxmono Monochrome PCX file format
853# pcx16 Older color PCX file format (EGA/VGA, 16-color)
854# pcx256 Newer color PCX file format (256-color)
855# pbm Portable Bitmap (plain format)
856# pbmraw Portable Bitmap (raw format)
857# pgm Portable Graymap (plain format)
858# pgmraw Portable Graymap (raw format)
859# ppm Portable Pixmap (plain format)
860# ppmraw Portable Pixmap (raw format)
861
862# User-contributed drivers marked with * require hardware or software
863# that is not available to Aladdin Enterprises. Please contact the
864# original contributors, not Aladdin Enterprises, if you have questions.
865# Contact information appears in the driver entry below.
866#
867# Drivers marked with a + are maintained by Aladdin Enterprises with
868# the assistance of users, since Aladdin Enterprises doesn't have access to
869# the hardware for these either.
870
871# If you add drivers, it would be nice if you kept each list
872# in alphabetical order.
873
874# Each platform-specific makefile contains a line of the form
875# DEVICE_DEVS=<dev1>.dev ... <devn>.dev
876# where dev1 ... devn are the devices to be included in the build.
877# You may edit this line to select any desired set of devices.
878# dev1 will be used as the default device (unless overridden from
879# the command line with -sDEVICE=xxx, of course.) If you can't fit all the
880# devices on a single line, you may add lines defining
881# DEVICE_DEVS2=<dev21>.dev ... <dev2n>.dev
882# DEVICE_DEVS3=<dev31>.dev ... <dev3n>.dev
883# etc. up to DEVICE_DEVS5.
884# Don't use continuation lines, since this may break the MS-DOS command
885# processor.
886
887# ---------------------------- End of catalog ---------------------------- #
888
889# If you want to add a new device driver, the examples below should be
890# enough of a guide to the correct form for the makefile rules.
891
892# All device drivers depend on the following:
893GDEV=$(AK) $(gx_h) $(gxdevice_h)
894
895###### ------------------- MS-DOS display devices ------------------- ######
896
897# There are really only two drivers: an EGA/VGA driver (4 bit-planes,
898# plane-addressed) and a SuperVGA driver (8 bit-planes, byte addressed).
899
900### ----------------------- EGA and VGA displays ----------------------- ###
901
902gdevegaa.$(OBJ): gdevegaa.asm
903
904ETEST=ega.$(OBJ) $(ega_)
905ega.exe: $(ETEST) libc$(MM).tr
906 tlink /m /l $(LIBDIR)\c0$(MM) @ega.tr @libc$(MM).tr
907
908ega.$(OBJ): ega.c $(GDEV)
909
910# The shared MS-DOS makefile defines PCFBASM as either gdevegaa.$(OBJ)
911# or an empty string.
912
913EGAVGA=gdevpcfb.$(OBJ) $(PCFBASM)
914
915gdevpcfb.$(OBJ): gdevpcfb.c $(GDEV) $(MAKEFILE) $(dos__h)
916 $(CCC) -DUSE_ASM=0$(USE_ASM) gdevpcfb.c
917
918# The EGA/VGA family includes: EGA, VGA, MDB-10, and the
919# Tseng ET3000/4000 and Trident SuperVGA in 16-color mode.
920
921ega.dev: $(EGAVGA)
922 $(SHP)gssetdev ega $(EGAVGA)
923
924vga.dev: $(EGAVGA)
925 $(SHP)gssetdev vga $(EGAVGA)
926
927mdb10.dev: $(EGAVGA)
928 $(SHP)gssetdev mdb10 $(EGAVGA)
929
930tseng16.dev: $(EGAVGA)
931 $(SHP)gssetdev tseng16 $(EGAVGA)
932
933tvga16.dev: $(EGAVGA)
934 $(SHP)gssetdev tvga16 $(EGAVGA)
935
936### ------------------------- SuperVGA displays ------------------------ ###
937
938SVGA=gdevsvga.$(OBJ) $(PCFBASM)
939
940gdevsvga.$(OBJ): gdevsvga.c $(GDEV) $(MAKEFILE) $(dos__h)
941 $(CCC) -DUSE_ASM=0$(USE_ASM) gdevsvga.c
942
943# The SuperVGA family includes: ATI Wonder, Tseng ET3000/4000, and VESA.
944
945atiw.dev: $(SVGA)
946 $(SHP)gssetdev atiw $(SVGA)
947
948tseng.dev: $(SVGA)
949 $(SHP)gssetdev tseng $(SVGA)
950
951vesa.dev: $(SVGA)
952 $(SHP)gssetdev vesa $(SVGA)
953
954### ------------ The BGI (Borland Graphics Interface) device ----------- ###
955
956# We should use an implicit rule for running bgiobj,
957# but a bug in Borland's `make' utility makes this not work.
958
959cga.$(OBJ): $(BGIDIR)\cga.bgi
960 $(BGIDIR)\bgiobj $(BGIDIR)\$&
961
962egavga.$(OBJ): $(BGIDIR)\egavga.bgi
963 $(BGIDIR)\bgiobj $(BGIDIR)\$&
964
965herc.$(OBJ): $(BGIDIR)\herc.bgi
966 $(BGIDIR)\bgiobj $(BGIDIR)\$&
967
968# Include egavga.$(OBJ) for debugging only.
969bgi_=gdevbgi.$(OBJ) cga.$(OBJ) herc.$(OBJ)
970bgi.dev: $(bgi_)
971 $(SHP)gssetdev bgi $(bgi_)
972 $(SHP)gsaddmod bgi -lib $(LIBDIR)\graphics
973
974gdevbgi.$(OBJ): gdevbgi.c $(GDEV) $(MAKEFILE)
975 $(CCC) -DBGI_LIB=$(QQ)$(BGIDIR)$(QQ) gdevbgi.c
976
977###### ------------------- The Private Eye display ------------------- ######
978### Note: this driver was contributed by a user: ###
979### please contact narf@media-lab.media.mit.edu if you have questions. ###
980
981pe_=gdevpe.$(OBJ)
982pe.dev: $(pe_)
983 $(SHP)gssetdev pe $(pe_)
984
985gdevpe.$(OBJ): gdevpe.c $(GDEV)
986
987###### --------------- Memory-buffered printer devices --------------- ######
988
989PDEVH=$(GDEV) $(gxdevmem_h) $(gxclist_h) $(gdevprn_h)
990
991gdevprn.$(OBJ): gdevprn.c $(PDEVH) $(gp_h) $(gsprops_h)
992
993### ----------------- The Canon BubbleJet BJ10e device ----------------- ###
994
995bj10e_=gdevbj10.$(OBJ) gdevprn.$(OBJ)
996bj10e.dev: $(bj10e_)
997 $(SHP)gssetdev bj10e $(bj10e_)
998
999gdevbj10.$(OBJ): gdevbj10.c $(PDEVH)
1000
1001### -------------------------- The DigiFAX device ----------------------- ###
1002### This driver outputs images in a format suitable for use with ###
1003### DigiBoard, Inc.'s DigiFAX software. Use -sDEVICE=dfaxhigh for ###
1004### high resolution output, -sDEVICE=dfaxlow for normal output. ###
1005### Note: this driver was contributed by a user: please contact ###
1006### Rick Richardson (rick@digibd.com) if you have questions. ###
1007
1008digifax_=gdevdfax.$(OBJ) gdevprn.$(OBJ)
1009dfaxhigh.dev: $(digifax_)
1010 $(SHP)gssetdev dfaxhigh $(digifax_)
1011
1012dfaxlow.dev: $(digifax_)
1013 $(SHP)gssetdev dfaxlow $(digifax_)
1014
1015gdevdfax.$(OBJ): gdevdfax.c $(GDEV) $(gdevprn_h) gdevdfg3.h
1016
1017### ----------- The H-P DeskJet and LaserJet printer devices ----------- ###
1018
1019### These are essentially the same device.
1020
1021HPPCL=gdevprn.$(OBJ) gdevpcl.$(OBJ)
1022HPMONO=gdevdjet.$(OBJ) $(HPPCL)
1023
1024gdevpcl.$(OBJ): gdevpcl.c $(PDEVH) $(gdevpcl_h)
1025
1026gdevdjet.$(OBJ): gdevdjet.c $(PDEVH) $(gdevpcl_h)
1027
1028deskjet.dev: $(HPMONO)
1029 $(SHP)gssetdev deskjet $(HPMONO)
1030
1031djet500.dev: $(HPMONO)
1032 $(SHP)gssetdev djet500 $(HPMONO)
1033
1034laserjet.dev: $(HPMONO)
1035 $(SHP)gssetdev laserjet $(HPMONO)
1036
1037ljetplus.dev: $(HPMONO)
1038 $(SHP)gssetdev ljetplus $(HPMONO)
1039
1040### Selecting ljet2p provides TIFF (mode 2) compression on LaserJet III,
1041### IIIp, IIId, IIIsi, IId, and IIp.
1042
1043ljet2p.dev: $(HPMONO)
1044 $(SHP)gssetdev ljet2p $(HPMONO)
1045
1046### Selecting ljet3 provides Delta Row (mode 3) compression on LaserJet III,
1047### IIIp, IIId, IIIsi.
1048
1049ljet3.dev: $(HPMONO)
1050 $(SHP)gssetdev ljet3 $(HPMONO)
1051
1052### ------------ The H-P DeskJet 500C color printer device -------------- ###
1053### Note: there are two different 500C drivers, both contributed by users.###
1054### If you have questions about the djet500c driver, ###
1055### please contact AKayser@et.tudelft.nl. ###
1056### If you have questions about the cdeskjet driver, ###
1057### please contact g.cameron@aberdeen.ac.uk. ###
1058
1059cdeskjet_=gdevcdj.$(OBJ) $(HPPCL)
1060cdeskjet.dev: $(cdeskjet_)
1061 $(SHP)gssetdev cdeskjet $(cdeskjet_)
1062
1063gdevcdj.$(OBJ): gdevcdj.c $(PDEVH) $(gdevpcl_h)
1064
1065djet500c_=gdevdjtc.$(OBJ) $(HPPCL)
1066djet500c.dev: $(djet500c_)
1067 $(SHP)gssetdev djet500c $(djet500c_)
1068
1069gdevdjtc.$(OBJ): gdevdjtc.c $(PDEVH) $(gdevpcl_h)
1070
1071### ----------------- The generic Epson printer device ----------------- ###
1072
1073epson_=gdevepsn.$(OBJ) gdevprn.$(OBJ)
1074epson.dev: $(epson_)
1075 $(SHP)gssetdev epson $(epson_)
1076
1077gdevepsn.$(OBJ): gdevepsn.c $(PDEVH) devs.mak
1078
1079### -------------- The Epson LQ-2550 color printer device -------------- ###
1080### Note: this driver was contributed by users: please contact ###
1081### Dave St. Clair (dave@exlog.com) if you have questions. ###
1082
1083epsonc_=gdevepsc.$(OBJ) gdevprn.$(OBJ)
1084epsonc.dev: $(epsonc_)
1085 $(SHP)gssetdev epsonc $(epsonc_)
1086
1087gdevepsc.$(OBJ): gdevepsc.c $(PDEVH) devs.mak
1088
1089### ------------ The H-P PaintJet color printer device ----------------- ###
1090
1091paintjet_=gdevpjet.$(OBJ) $(HPPCL)
1092paintjet.dev: $(paintjet_)
1093 $(SHP)gssetdev paintjet $(paintjet_)
1094
1095gdevpjet.$(OBJ): gdevpjet.c $(PDEVH) $(gdevpcl_h)
1096
1097### ----------------- The Canon LBP-8II printer device ----------------- ###
1098### Note: this driver was contributed by users: please contact ###
1099### Tom Quinn (trq@prg.oxford.ac.uk) if you have questions. ###
1100### Note that the standard paper size for this driver is the European ###
1101### A4 size, not the American 8.5" x 11" size. ###
1102
1103lbp8_=gdevlbp8.$(OBJ) gdevprn.$(OBJ)
1104lbp8.dev: $(lbp8_)
1105 $(SHP)gssetdev lbp8 $(lbp8_)
1106
1107gdevlbp8.$(OBJ): gdevlbp8.c $(PDEVH)
1108
1109### ----------------- The DEC LN03 printer device ---------------------- ###
1110### Note: this driver was contributed by users: please contact ###
1111### Ulrich Mueller (ulm@vsnhd1.cern.ch) if you have questions. ###
1112### A more general sixel driver is available from ###
1113### Ian MacPhedran (macphed@dvinci.USask.CA). ###
1114
1115ln03_=gdevln03.$(OBJ) gdevprn.$(OBJ)
1116ln03.dev: $(ln03_)
1117 $(SHP)gssetdev ln03 $(ln03_)
1118
1119gdevln03.$(OBJ): gdevln03.c $(PDEVH)
1120
1121### ------------- The Ricoh 4081 laser printer device ------------------ ###
1122### Note: this driver was contributed by users: ###
1123### please contact kdw@oasis.icl.co.uk if you have questions. ###
1124
1125r4081_=gdev4081.$(OBJ) gdevprn.$(OBJ)
1126r4081.dev: $(r4081_)
1127 $(SHP)gssetdev r4081 $(r4081_)
1128
1129gdev4081.$(OBJ): gdev4081.c $(PDEVH)
1130
1131###### ------------------------ Sony devices ------------------------ ######
1132### Note: these drivers were contributed by users: please contact ###
1133### Mike Smolenski (mike@intertech.com) if you have questions. ###
1134
1135### ------------------- Sony NeWS frame buffer device ------------------ ###
1136
1137sonyfb_=gdevsnfb.$(OBJ) gdevprn.$(OBJ)
1138sonyfb.dev: $(sonyfb_)
1139 $(SHP)gssetdev sonyfb $(sonyfb_)
1140
1141gdevsnfb.$(OBJ): gdevsnfb.c $(PDEVH)
1142
1143### -------------------- Sony NWP533 printer device -------------------- ###
1144
1145nwp533_=gdevn533.$(OBJ) gdevprn.$(OBJ)
1146nwp533.dev: $(nwp533_)
1147 $(SHP)gssetdev nwp533 $(nwp533_)
1148
1149gdevn533.$(OBJ): gdevn533.c $(PDEVH)
1150
1151###### --------------------- The SunView device --------------------- ######
1152### Note: this driver is maintained by a user: if you have questions, ###
1153### please contact Andreas Stolcke (stolcke@icsi.berkeley.edu). ###
1154
1155sunview_=gdevsun.$(OBJ)
1156sunview.dev: $(sunview_)
1157 $(SHP)gssetdev sunview $(sunview_)
1158 $(SHP)gsaddmod sunview -lib suntool sunwindow pixrect
1159
1160gdevsun.$(OBJ): gdevsun.c $(GDEV) $(arch_h)
1161
1162### ----------------- The TruFax facsimile device ---------------------- ###
1163### Note: this driver was contributed by users: please contact ###
1164### Neil Ostroff (nao@maestro.bellcore.com) if you have questions. ###
1165### Note that the driver requires a file encode_l.o supplied by the ###
1166### makers of the TruFax product. ###
1167
1168trufax_=gdevtrfx.$(OBJ) gdevprn.$(OBJ) encode_l.$(OBJ)
1169trufax.dev: $(trufax_)
1170 $(SHP)gssetdev trufax $(trufax_)
1171
1172gdevtrfx.$(OBJ): gdevtrfx.c $(GDEV)
1173
1174###### ----------------------- The X11 device ----------------------- ######
1175
1176# Aladdin Enterprises does not support Ghostview. For more information
1177# about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
1178
1179x11_=gdevx.$(OBJ) gdevxini.$(OBJ)
1180x11.dev: $(x11_)
1181 $(SHP)gssetdev x11 $(x11_)
1182 $(SHP)gsaddmod x11 -lib X11
1183
1184# See the main makefile for the definition of XINCLUDE.
1185GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
1186gdevx.$(OBJ): gdevx.c $(GDEVX)
1187 $(CCC) $(XINCLUDE) gdevx.c
1188
1189gdevxini.$(OBJ): gdevxini.c $(GDEVX)
1190 $(CCC) $(XINCLUDE) gdevxini.c
1191
1192### ---------------------- The bit bucket device ----------------------- ###
1193
1194bit_=gdevbit.$(OBJ) gdevprn.$(OBJ)
1195bit.dev: $(bit_)
1196 $(SHP)gssetdev bit $(bit_)
1197
1198gdevbit.$(OBJ): gdevbit.c $(PDEVH)
1199
1200###### ----------------------- PC file formats ---------------------- ######
1201
1202gdevpccm.$(OBJ): gdevpccm.c $(gs_h) $(gsmatrix_h) $(gxdevice_h) $(gdevpccm_h)
1203
1204### ------------------------- GIF file formats ------------------------- ###
1205
1206GIF=gdevgif.$(OBJ) gdevpccm.$(OBJ) gdevprn.$(OBJ)
1207
1208gdevgif.$(OBJ): gdevgif.c $(PDEVH) $(gdevpccm_h)
1209
1210gifmono.dev: $(GIF)
1211 $(SHP)gssetdev gifmono $(GIF)
1212
1213gif8.dev: $(GIF)
1214 $(SHP)gssetdev gif8 $(GIF)
1215
1216### ------------------------- PCX file formats ------------------------- ###
1217
1218PCX=gdevpcx.$(OBJ) gdevpccm.$(OBJ) gdevprn.$(OBJ)
1219
1220gdevpcx.$(OBJ): gdevpcx.c $(PDEVH) $(gdevpccm_h)
1221
1222pcxmono.dev: $(PCX)
1223 $(SHP)gssetdev pcxmono $(PCX)
1224
1225pcx16.dev: $(PCX)
1226 $(SHP)gssetdev pcx16 $(PCX)
1227
1228pcx256.dev: $(PCX)
1229 $(SHP)gssetdev pcx256 $(PCX)
1230
1231###### ------------------- Portable Bitmap devices ------------------ ######
1232### For more information, see the pbm(5), pgm(5), and ppm(5) man pages. ###
1233
1234PXM=gdevpbm.$(OBJ) gdevprn.$(OBJ)
1235
1236gdevpbm.$(OBJ): gdevpbm.c $(PDEVH) $(gxlum_h)
1237
1238### Portable Bitmap (PBM, plain or raw format, magic numbers "P1" or "P4")
1239
1240pbm.dev: $(PXM)
1241 $(SHP)gssetdev pbm $(PXM)
1242
1243pbmraw.dev: $(PXM)
1244 $(SHP)gssetdev pbmraw $(PXM)
1245
1246### Portable Graymap (PGM, plain or raw format, magic numbers "P2" or "P5")
1247
1248pgm.dev: $(PXM)
1249 $(SHP)gssetdev pgm $(PXM)
1250
1251pgmraw.dev: $(PXM)
1252 $(SHP)gssetdev pgmraw $(PXM)
1253
1254### Portable Pixmap (PPM, plain or raw format, magic numbers "P3" or "P6")
1255
1256ppm.dev: $(PXM)
1257 $(SHP)gssetdev ppm $(PXM)
1258
1259ppmraw.dev: $(PXM)
1260 $(SHP)gssetdev ppmraw $(PXM)
1261# Copyright (C) 1990, 1992 Aladdin Enterprises. All rights reserved.
1262# Distributed by Free Software Foundation, Inc.
1263#
1264# This file is part of Ghostscript.
1265#
1266# Ghostscript is distributed in the hope that it will be useful, but
1267# WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
1268# to anyone for the consequences of using it or for whether it serves any
1269# particular purpose or works at all, unless he says so in writing. Refer
1270# to the Ghostscript General Public License for full details.
1271#
1272# Everyone is granted permission to copy, modify and redistribute
1273# Ghostscript, but only under the conditions described in the Ghostscript
1274# General Public License. A copy of this license is supposed to have been
1275# given to you along with Ghostscript so you can know your rights and
1276# responsibilities. It should be in a file named COPYING. Among other
1277# things, the copyright notice and this notice must be preserved on all
1278# copies.
1279
1280# Partial makefile for Ghostscript, common to all Unix configurations.
1281
1282# This is the last part of the makefile for Unix configurations.
1283# Since Unix make doesn't have an 'include' facility, we concatenate
1284# the various parts of the makefile together by brute force (in tar_cat).
1285
1286# The following prevents GNU make from constructing argument lists that
1287# include all environment variables, which can easily be longer than
1288# brain-damaged system V allows.
1289
1290.NOEXPORT:
1291
1292# -------------------------------- Library -------------------------------- #
1293
1294## The Unix platform
1295
1296unix__=gp_unix.$(OBJ)
1297unix_.dev: $(unix__)
1298 $(SHP)gssetmod unix_ $(unix__)
1299
1300gp_unix.$(OBJ): gp_unix.c $(memory__h) $(string__h) $(gx_h) $(gp_h) \
1301 $(stat__h) $(time__h)
1302
1303# -------------------------- Auxiliary programs --------------------------- #
1304
1305ansi2knr$(XE):
1306 $(CC) -o ansi2knr$(XE) $(CFLAGS) ansi2knr.c
1307
1308# On the RS/6000 (at least), compiling genarch.c with gcc with -O
1309# produces a buggy executable.
1310genarch$(XE): genarch.c
1311 $(CC) -o genarch$(XE) genarch.c
1312
1313# ----------------------------- Main program ------------------------------ #
1314
1315# Main program
1316
1317ALLUNIX=gsmain.$(OBJ) $(LIB)
1318
1319# Interpreter main program
1320
1321GSUNIX=gs.$(OBJ) $(INT) $(ALLUNIX)
1322
1323gs: $(GSUNIX) obj.tr lib.tr
1324 $(SHP)echoq $(CC) $(LDFLAGS) $(XLIBDIRS) -o gs $(GSUNIX) >_temp_
1325 cat obj.tr >>_temp_
1326 cat lib.tr >>_temp_
1327 echo $(EXTRALIBS) -lm >>_temp_
1328 $(SH) <_temp_
1329
1330# Installation
1331
1332TAGS:
1333 etags -t *.c *.h
1334
1335install: gs
1336 -mkdir $(bindir)
1337 $(INSTALL_PROGRAM) gs $(bindir)
1338 $(INSTALL_PROGRAM) gsnd $(bindir)
1339 $(INSTALL_PROGRAM) bdftops $(bindir)
1340 $(INSTALL_PROGRAM) font2c $(bindir)
1341 $(INSTALL_PROGRAM) pfbtogs $(bindir)
1342 -mkdir $(libdir)
1343 $(INSTALL_DATA) gs_init.ps $(libdir)
1344 $(INSTALL_DATA) gs_2asc.ps $(libdir)
1345 $(INSTALL_DATA) gs_dps1.ps $(libdir)
1346 $(INSTALL_DATA) gs_fonts.ps $(libdir)
1347 $(INSTALL_DATA) gs_lev2.ps $(libdir)
1348 $(INSTALL_DATA) gs_statd.ps $(libdir)
1349 $(INSTALL_DATA) sym__enc.ps $(libdir)
1350 $(INSTALL_DATA) quit.ps $(libdir)
1351 $(INSTALL_DATA) Fontmap $(libdir)
1352 $(INSTALL_DATA) uglyr.gsf $(libdir)
1353 $(INSTALL_DATA) chess.ps $(libdir)
1354 $(INSTALL_DATA) cheq.ps $(libdir)
1355 $(INSTALL_DATA) golfer.ps $(libdir)
1356 $(INSTALL_DATA) escher.ps $(libdir)
1357 $(INSTALL_DATA) decrypt.ps $(libdir)
1358 $(INSTALL_DATA) bdftops.ps $(libdir)
1359 $(INSTALL_DATA) font2c.ps $(libdir)
1360 $(INSTALL_DATA) pfbtogs.ps $(libdir)
1361 $(INSTALL_DATA) pstoppm.ps $(libdir)
1362 $(INSTALL_DATA) prfont.ps $(libdir)
1363 $(INSTALL_DATA) showpbm.ps $(libdir)