Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#    Copyright (C) 1989, 2000-2004 artofcode LLC. All rights reserved.
2
# 
3
# This software is provided AS-IS with no warranty, either express or
4
# implied.
5
# 
6
# This software is distributed under license and may not be copied,
7
# modified or distributed except as expressly authorized under the terms
8
# of the license contained in the file LICENSE in this distribution.
9
# 
10
# For more information about licensing, please refer to
11
# http://www.ghostscript.com/licensing/. For information on
12
# commercial licensing, go to http://www.artifex.com/licensing/ or
13
# contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14
# San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15
 
16
# $Id: devs.mak,v 1.140 2005/10/18 09:05:58 leonardo Exp $
17
# makefile for Aladdin's device drivers.
18
 
19
# Define the name of this makefile.
20
DEVS_MAK=$(GLSRC)devs.mak
21
 
22
# All device drivers depend on the following:
23
GDEVH=$(gserrors_h) $(gx_h) $(gxdevice_h)
24
GDEV=$(AK) $(ECHOGS_XE) $(GDEVH)
25
 
26
###### --------------------------- Overview -------------------------- ######
27
 
28
# It is possible to build Ghostscript with an arbitrary collection of device
29
# drivers, although some drivers are supported only on a subset of the
30
# target platforms.
31
 
32
# The catalog in this file, devs.mak, lists all the drivers that were
33
# written by Aladdin, or by people working closely with Aladdin, and for
34
# which Aladdin is willing to take problem reports (although since
35
# Ghostscript is provided with NO WARRANTY and NO SUPPORT, we can't promise
36
# that we'll solve your problem).  Another file, contrib.mak, lists all the
37
# drivers contributed by other people that are distributed by Aladdin with
38
# Ghostscript.  Note in particular that all drivers for color inkjets and
39
# other non-PostScript-capable color printers are in contrib.mak.
40
 
41
# If you haven't configured Ghostscript before, or if you want to add a
42
# driver that that isn't included in the catalogs (for which you have the
43
# source code), we suggest you skip to the "End of catalog" below and read
44
# the documentation there before continuing.
45
 
46
###### --------------------------- Catalog -------------------------- ######
47
 
48
# MS-DOS displays (note: not usable with Desqview/X):
49
#   MS-DOS EGA and VGA:
50
#	ega	EGA (640x350, 16-color)
51
#	vga	VGA (640x480, 16-color)
52
#   MS-DOS SuperVGA:
53
# *	ali	SuperVGA using Avance Logic Inc. chipset, 256-color modes
54
# *	atiw	ATI Wonder SuperVGA, 256-color modes
55
# *	cirr	SuperVGA using Cirrus Logic CL-GD54XX chips, 256-color modes
56
# *	s3vga	SuperVGA using S3 86C911 chip (e.g., Diamond Stealth board)
57
#	svga16	Generic SuperVGA in 800x600, 16-color mode
58
# *	tseng	SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes
59
# *	tvga	SuperVGA using Trident chipset, 256-color modes
60
#   ****** NOTE: The vesa device does not work with the Watcom (32-bit MS-DOS)
61
#   ****** compiler or executable.
62
#	vesa	SuperVGA with VESA standard API driver
63
# Other displays:
64
#	display   For use on any platform that supports DLLs
65
#   MS Windows:
66
#	mswindll  Microsoft Windows 3.1 DLL  [MS Windows only]
67
#	mswinprn  Microsoft Windows 3.0, 3.1 DDB printer  [MS Windows only]
68
#	mswinpr2  Microsoft Windows 3.0, 3.1 DIB printer  [MS Windows only]
69
#   OS/2:
70
# *	os2pm	OS/2 Presentation Manager   [OS/2 only]
71
# *	os2dll	OS/2 DLL bitmap             [OS/2 only]
72
# *	os2prn	OS/2 printer                [OS/2 only]
73
#   Unix and VMS:
74
#   ****** NOTE: For direct frame buffer addressing under SCO Unix or Xenix,
75
#   ****** edit the definition of EGAVGA below.
76
# *	lvga256  Linux vgalib, 256-color VGA modes  [Linux only]
77
# +	vgalib	Linux vgalib, 16-color VGA modes   [Linux only]
78
#	x11	X Windows version 11, release >=4   [Unix and VMS only]
79
#	x11alpha  X Windows masquerading as a device with alpha capability
80
#	x11cmyk  X Windows masquerading as a 1-bit-per-plane CMYK device
81
#	x11cmyk2  X Windows as a 2-bit-per-plane CMYK device
82
#	x11cmyk4  X Windows as a 4-bit-per-plane CMYK device
83
#	x11cmyk8  X Windows as an 8-bit-per-plane CMYK device
84
#	x11gray2  X Windows as a 2-bit gray-scale device
85
#	x11gray4  X Windows as a 4-bit gray-scale device
86
#	x11mono  X Windows masquerading as a black-and-white device
87
#	x11rg16x  X Windows with G5/B5/R6 pixel layout for testing.
88
#	x11rg32x  X Windows with G11/B10/R11 pixel layout for testing.
89
# Printers:
90
# +	atx23	Practical Automation ATX-23 label printer
91
# +	atx24	Practical Automation ATX-24 label printer
92
# +	atx38	Practical Automation ATX-38 label printer
93
# +	deskjet  H-P DeskJet and DeskJet Plus
94
#	djet500  H-P DeskJet 500; use -r600 for DJ 600 series
95
# +	fs600	Kyocera FS-600 (600 dpi)
96
# +	laserjet  H-P LaserJet
97
# +	ljet2p	H-P LaserJet IId/IIp/III* with TIFF compression
98
# +	ljet3	H-P LaserJet III* with Delta Row compression
99
# +	ljet3d	H-P LaserJet IIID with duplex capability
100
# +	ljet4	H-P LaserJet 4 (defaults to 600 dpi)
101
# +	ljet4d	H-P LaserJet 4 (defaults to 600 dpi) with duplex
102
# +	ljetplus  H-P LaserJet Plus
103
#	lj5mono  H-P LaserJet 5 & 6 family (PCL XL), bitmap:
104
#		see below for restrictions & advice
105
#	lj5gray  H-P LaserJet 5 & 6 family, gray-scale bitmap;
106
#		see below for restrictions & advice
107
# *	lp2563	H-P 2563B line printer
108
# *	oce9050  OCE 9050 printer
109
#	(pxlmono) H-P black-and-white PCL XL printers (LaserJet 5 and 6 family)
110
#	(pxlcolor) H-P color PCL XL printers (e.g. Color LaserJet 4500)
111
# Fax file format:
112
#   ****** NOTE: all of these drivers normally adjust the page size to match
113
#   ****** one of the three CCITT standard sizes (U.S. letter with A4 width,
114
#   ****** A4, or B4).  To suppress this, use -dAdjustWidth=0.
115
#	faxg3	Group 3 fax, with EOLs but no header or EOD
116
#	faxg32d  Group 3 2-D fax, with EOLs but no header or EOD
117
#	faxg4	Group 4 fax, with EOLs but no header or EOD
118
#	tiffcrle  TIFF "CCITT RLE 1-dim" (= Group 3 fax with no EOLs)
119
#	tiffg3	TIFF Group 3 fax (with EOLs)
120
#	tiffg32d  TIFF Group 3 2-D fax
121
#	tiffg4	TIFF Group 4 fax
122
# High-level file formats:
123
#	epswrite  EPS output (like PostScript Distillery)
124
#	pdfwrite  PDF output (like Adobe Acrobat Distiller)
125
#	pswrite  PostScript output (like PostScript Distillery)
126
#	pxlmono  Black-and-white PCL XL
127
#	pxlcolor  Color PCL XL
128
# Other raster file formats and devices:
129
#	bit	Plain bits, monochrome
130
#	bitrgb	Plain bits, RGB
131
#	bitcmyk  Plain bits, CMYK
132
#	bmpmono	Monochrome MS Windows .BMP file format
133
#	bmpgray	8-bit gray .BMP file format
134
#	bmpsep1	Separated 1-bit CMYK .BMP file format, primarily for testing
135
#	bmpsep8	Separated 8-bit CMYK .BMP file format, primarily for testing
136
#	bmp16	4-bit (EGA/VGA) .BMP file format
137
#	bmp256	8-bit (256-color) .BMP file format
138
#	bmp16m	24-bit .BMP file format
139
#	bmp32b  32-bit pseudo-.BMP file format
140
#	cgmmono  Monochrome (black-and-white) CGM -- LOW LEVEL OUTPUT ONLY
141
#	cgm8	8-bit (256-color) CGM -- DITTO
142
#	cgm24	24-bit color CGM -- DITTO
143
#	jpeg	JPEG format, RGB output
144
#	jpeggray  JPEG format, gray output
145
#	jpegcmyk  JPEG format, cmyk output
146
#	miff24	ImageMagick MIFF format, 24-bit direct color, RLE compressed
147
#	pam	Portable Arbitrary Map file format
148
#	pcxmono	PCX file format, monochrome (1-bit black and white)
149
#	pcxgray	PCX file format, 8-bit gray scale
150
#	pcx16	PCX file format, 4-bit planar (EGA/VGA) color
151
#	pcx256	PCX file format, 8-bit chunky color
152
#	pcx24b	PCX file format, 24-bit color (3 8-bit planes)
153
#	pcxcmyk PCX file format, 4-bit chunky CMYK color
154
#	pbm	Portable Bitmap (plain format)
155
#	pbmraw	Portable Bitmap (raw format)
156
#	pgm	Portable Graymap (plain format)
157
#	pgmraw	Portable Graymap (raw format)
158
#	pgnm	Portable Graymap (plain format), optimizing to PBM if possible
159
#	pgnmraw	Portable Graymap (raw format), optimizing to PBM if possible
160
#	pnm	Portable Pixmap (plain format) (RGB), optimizing to PGM or PBM
161
#		 if possible
162
#	pnmraw	Portable Pixmap (raw format) (RGB), optimizing to PGM or PBM
163
#		 if possible
164
#	ppm	Portable Pixmap (plain format) (RGB)
165
#	ppmraw	Portable Pixmap (raw format) (RGB)
166
#	pkm	Portable inKmap (plain format) (4-bit CMYK => RGB)
167
#	pkmraw	Portable inKmap (raw format) (4-bit CMYK => RGB)
168
#	pksm	Portable Separated map (plain format) (4-bit CMYK => 4 pages)
169
#	pksmraw	Portable Separated map (raw format) (4-bit CMYK => 4 pages)
170
# *	plan9bm  Plan 9 bitmap format
171
#	pngmono	Monochrome Portable Network Graphics (PNG)
172
#	pnggray	8-bit gray Portable Network Graphics (PNG)
173
#	png16	4-bit color Portable Network Graphics (PNG)
174
#	png256	8-bit color Portable Network Graphics (PNG)
175
#	png16m	24-bit color Portable Network Graphics (PNG)
176
#	pngalpha 32-bit RGBA color Portable Network Graphics (PNG)
177
#	psmono	PostScript (Level 1) monochrome image
178
#	psgray	PostScript (Level 1) 8-bit gray image
179
#	psrgb	PostScript (Level 2) 24-bit color image
180
#	tiffgray  TIFF 8-bit gray, no compression
181
#	tiff12nc  TIFF 12-bit RGB, no compression
182
#	tiff24nc  TIFF 24-bit RGB, no compression (NeXT standard format)
183
#	tiff32nc  TIFF 32-bit CMYK
184
#	tiffsep   Creates tiffgray for each colorant plus a CMYK composite
185
#	tifflzw  TIFF LZW (tag = 5) (monochrome)
186
#	tiffpack  TIFF PackBits (tag = 32773) (monochrome)
187
 
188
# Note that MS Windows-specific drivers are defined in pcwin.mak, not here,
189
# because they have special compilation requirements that require defining
190
# parameter macros not relevant to other platforms; the OS/2-specific
191
# drivers are there too, because they share some definitions.
192
 
193
# User-contributed drivers marked with * require hardware or software
194
# that is not available to Aladdin Enterprises.  Please contact the
195
# original contributors, not Aladdin Enterprises, if you have questions.
196
# Contact information appears in the driver entry below.
197
#
198
# Drivers marked with a + are maintained by Aladdin Enterprises with
199
# the assistance of users, since Aladdin Enterprises doesn't have access to
200
# the hardware for these either.
201
 
202
# If you add drivers, it would be nice if you kept each list
203
# in alphabetical order.
204
 
205
###### ----------------------- End of catalog ----------------------- ######
206
 
207
# As noted in gs.mak, DEVICE_DEVS and DEVICE_DEVS1..15 select the devices
208
# that should be included in a given configuration.  By convention, these
209
# are used as follows.  Each of these must be limited to about 6 devices
210
# so as not to overflow the 120 character limit on MS-DOS command lines.
211
#	DEVICE_DEVS - the default device, and any display devices.
212
#	DEVICE_DEVS1 - additional display devices if needed.
213
#	DEVICE_DEVS2 - dot matrix printers.
214
#	DEVICE_DEVS3 - H-P monochrome printers.
215
#	DEVICE_DEVS4 - H-P color printers.
216
#	DEVICE_DEVS5 - additional inkjet printers if needed.
217
#	DEVICE_DEVS6 - other ink-jet and laser printers.
218
#	DEVICE_DEVS7 - fax file formats.
219
#	DEVICE_DEVS8 - PCX file formats.
220
#	DEVICE_DEVS9 - PBM/PGM/PPM file formats.
221
#	DEVICE_DEVS10 - black-and-white TIFF file formats.
222
#	DEVICE_DEVS11 - BMP and color TIFF file formats.
223
#	DEVICE_DEVS12 - PostScript image and 'bit' file formats.
224
#	DEVICE_DEVS13 - PNG file formats.
225
#	DEVICE_DEVS14 - CGM, JPEG, and MIFF file formats.
226
#	DEVICE_DEVS15 - high-level (PostScript and PDF) file formats.
227
#	DEVICE_DEVS16 - additional high-level and utility drivers
228
#	DEVICE_DEVS17 - (overflow for PC platforms)
229
#	DEVICE_DEVS18 - (ditto)
230
#	DEVICE_DEVS19 - (ditto)
231
#	DEVICE_DEVS20 - (ditto)
232
# Feel free to disregard this convention if it gets in your way.
233
 
234
# If you want to add a new device driver, the examples below should be
235
# enough of a guide to the correct form for the makefile rules.
236
# Note that all drivers other than displays must include page.dev in their
237
# dependencies and use $(SETPDEV) rather than $(SETDEV) in their rule bodies.
238
 
239
# "Printer" drivers depend on the following:
240
PDEVH=$(AK) $(gdevprn_h)
241
 
242
# Define the header files for device drivers.  Every header file used by
243
# more than one device driver family must be listed here.
244
gdev8bcm_h=$(GLSRC)gdev8bcm.h
245
gdevcbjc_h=$(GLSRC)gdevcbjc.h $(stream_h)
246
gdevdcrd_h=$(GLSRC)gdevdcrd.h
247
gsequivc_h=$(GLSRC)gsequivc.h
248
gdevdevn_h=$(GLSRC)gdevdevn.h $(gsequivc_h)
249
gdevpccm_h=$(GLSRC)gdevpccm.h
250
gdevpcfb_h=$(GLSRC)gdevpcfb.h $(dos__h)
251
gdevpcl_h=$(GLSRC)gdevpcl.h
252
gdevpsu_h=$(GLSRC)gdevpsu.h
253
gdevsvga_h=$(GLSRC)gdevsvga.h
254
# Out of order
255
gdevdljm_h=$(GLSRC)gdevdljm.h $(gdevpcl_h)
256
 
257
###### ----------------------- Device support ----------------------- ######
258
 
259
# Implement dynamic color management for 8-bit mapped color displays.
260
$(GLOBJ)gdev8bcm.$(OBJ) : $(GLSRC)gdev8bcm.c $(AK)\
261
 $(gx_h) $(gxdevice_h) $(gdev8bcm_h)
262
	$(GLCC) $(GLO_)gdev8bcm.$(OBJ) $(C_) $(GLSRC)gdev8bcm.c
263
 
264
# PC display color mapping
265
$(GLOBJ)gdevpccm.$(OBJ) : $(GLSRC)gdevpccm.c $(AK)\
266
 $(gx_h) $(gsmatrix_h) $(gxdevice_h) $(gdevpccm_h)
267
	$(GLCC) $(GLO_)gdevpccm.$(OBJ) $(C_) $(GLSRC)gdevpccm.c
268
 
269
# Generate Canon BJC command sequences.
270
$(GLOBJ)gdevcbjc.$(OBJ) : $(GLSRC)gdevcbjc.c $(AK)\
271
 $(std_h) $(stream_h) $(gdevcbjc_h)
272
	$(GLCC) $(GLO_)gdevcbjc.$(OBJ) $(C_) $(GLSRC)gdevcbjc.c
273
 
274
# Provide a sample device CRD.
275
$(GLOBJ)gdevdcrd.$(OBJ) : $(GLSRC)gdevdcrd.c $(AK)\
276
 $(math__h) $(memory__h) $(string__h)\
277
 $(gscrd_h) $(gscrdp_h) $(gserrors_h) $(gsparam_h) $(gscspace_h)\
278
 $(gx_h) $(gxdevcli_h) $(gdevdcrd_h)
279
	$(GLCC) $(GLO_)gdevdcrd.$(OBJ) $(C_) $(GLSRC)gdevdcrd.c
280
 
281
# Support for writing PostScript (high- or low-level).
282
$(GLOBJ)gdevpsu.$(OBJ) : $(GLSRC)gdevpsu.c $(GX) $(GDEV) $(math__h) $(time__h)\
283
 $(stat__h) $(unistd__h)\
284
 $(gdevpsu_h) $(gscdefs_h) $(gxdevice_h)\
285
 $(spprint_h) $(stream_h)
286
	$(GLCC) $(GLO_)gdevpsu.$(OBJ) $(C_) $(GLSRC)gdevpsu.c
287
 
288
###### ------------------- MS-DOS display devices ------------------- ######
289
 
290
# There are really only three drivers: an EGA/VGA driver (4 bit-planes,
291
# plane-addressed), a SuperVGA driver (8 bit-planes, byte addressed),
292
# and a special driver for the S3 chip.
293
 
294
### ----------------------- EGA and VGA displays ----------------------- ###
295
 
296
# The shared MS-DOS makefile defines PCFBASM as either gdevegaa.$(OBJ)
297
# or an empty string.
298
 
299
$(GLOBJ)gdevegaa.$(OBJ) : $(GLSRC)gdevegaa.asm
300
	$(GLCC) $(GLO_)gdevegaa.$(OBJ) $(C_) $(GLSRC)gdevegaa.c
301
 
302
EGAVGA_DOS=$(GLOBJ)gdevevga.$(OBJ) $(GLOBJ)gdevpcfb.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(PCFBASM)
303
EGAVGA_SCO=$(GLOBJ)gdevsco.$(OBJ) $(GLOBJ)gdevpcfb.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(PCFBASM)
304
# NOTE: for direct frame buffer addressing under SCO Unix or Xenix,
305
# change DOS to SCO in the following line.  Also, since SCO's /bin/as
306
# does not support the "out" instructions, you must build the GNU
307
# assembler and have it on your path as "as".
308
EGAVGA=$(EGAVGA_DOS)
309
 
310
#**************** $(CCD) gdevevga.c
311
$(GLOBJ)gdevevga.$(OBJ) : $(GLSRC)gdevevga.c $(GDEV) $(memory__h) $(gdevpcfb_h)
312
	$(GLCC) $(GLO_)gdevevga.$(OBJ) $(C_) $(GLSRC)gdevevga.c
313
 
314
$(GLOBJ)gdevsco.$(OBJ) : $(GLSRC)gdevsco.c $(GDEV) $(memory__h) $(gdevpcfb_h)
315
	$(GLCC) $(GLO_)gdevsco.$(OBJ) $(C_) $(GLSRC)gdevsco.c
316
 
317
# Common code for MS-DOS and SCO.
318
#**************** $(CCD) gdevpcfb.c
319
$(GLOBJ)gdevpcfb.$(OBJ) : $(GLSRC)gdevpcfb.c $(GDEV) $(memory__h) $(gconfigv_h)\
320
 $(gdevpccm_h) $(gdevpcfb_h) $(gsparam_h)
321
	$(GLCC) $(GLO_)gdevpcfb.$(OBJ) $(C_) $(GLSRC)gdevpcfb.c
322
 
323
# The EGA/VGA family includes EGA and VGA.  Many SuperVGAs in 800x600,
324
# 16-color mode can share the same code; see the next section below.
325
$(DD)ega.dev : $(DEVS_MAK) $(EGAVGA)
326
	$(SETDEV) $(DD)ega $(EGAVGA)
327
 
328
$(DD)vga.dev : $(DEVS_MAK) $(EGAVGA)
329
	$(SETDEV) $(DD)vga $(EGAVGA)
330
 
331
### ------------------------- SuperVGA displays ------------------------ ###
332
 
333
# SuperVGA displays in 16-color, 800x600 mode are really just slightly
334
# glorified VGA's, so we can handle them all with a single driver.
335
# The way to select them on the command line is with
336
#	-sDEVICE=svga16 -dDisplayMode=NNN
337
# where NNN is the display mode in decimal.  See Use.htm for the modes
338
# for some popular display chipsets.
339
 
340
$(DD)svga16.dev : $(DEVS_MAK) $(EGAVGA)
341
	$(SETDEV) $(DD)svga16 $(EGAVGA)
342
 
343
# More capable SuperVGAs have a wide variety of slightly differing
344
# interfaces, so we need a separate driver for each one.
345
 
346
SVGA=$(GLOBJ)gdevsvga.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(PCFBASM)
347
 
348
#**************** $(CCD) gdevsvga.c
349
$(GLOBJ)gdevsvga.$(OBJ) : $(GLSRC)gdevsvga.c $(GDEV) $(memory__h) $(gconfigv_h)\
350
 $(gsparam_h) $(gxarith_h) $(gdevpccm_h) $(gdevpcfb_h) $(gdevsvga_h)
351
	$(GLCC) $(GLO_)gdevsvga.$(OBJ) $(C_) $(GLSRC)gdevsvga.c
352
 
353
# The SuperVGA family includes: Avance Logic Inc., ATI Wonder, S3,
354
# Trident, Tseng ET3000/4000, and VESA.
355
 
356
$(DD)ali.dev : $(DEVS_MAK) $(SVGA)
357
	$(SETDEV) $(DD)ali $(SVGA)
358
 
359
$(DD)atiw.dev : $(DEVS_MAK) $(SVGA)
360
	$(SETDEV) $(DD)atiw $(SVGA)
361
 
362
$(DD)cirr.dev : $(DEVS_MAK) $(SVGA)
363
	$(SETDEV) $(DD)cirr $(SVGA)
364
 
365
$(DD)tseng.dev : $(DEVS_MAK) $(SVGA)
366
	$(SETDEV) $(DD)tseng $(SVGA)
367
 
368
$(DD)tvga.dev : $(DEVS_MAK) $(SVGA)
369
	$(SETDEV) $(DD)tvga $(SVGA)
370
 
371
$(DD)vesa.dev : $(DEVS_MAK) $(SVGA)
372
	$(SETDEV) $(DD)vesa $(SVGA)
373
 
374
# The S3 driver doesn't share much code with the others.
375
 
376
s3vga_=$(GLOBJ)gdevs3ga.$(OBJ) $(GLOBJ)gdevsvga.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ)
377
$(DD)s3vga.dev : $(DEVS_MAK) $(SVGA) $(s3vga_)
378
	$(SETDEV) $(DD)s3vga $(SVGA)
379
	$(ADDMOD) $(DD)s3vga -obj $(s3vga_)
380
 
381
#**************** $(CCD) gdevs3ga.c
382
$(GLOBJ)gdevs3ga.$(OBJ) : $(GLSRC)gdevs3ga.c $(GDEV) $(gdevpcfb_h) $(gdevsvga_h)
383
	$(GLCC) $(GLO_)gdevs3ga.$(OBJ) $(C_) $(GLSRC)gdevs3ga.c
384
 
385
###### ----------------------- Other displays ------------------------ ######
386
 
387
### ------------------ Display device for DLL platforms ----------------- ###
388
 
389
display_=$(GLOBJ)gdevdsp.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(GLOBJ)gdevdevn.$(OBJ) \
390
	 $(GLOBJ)gsequivc.$(OBJ) $(GLOBJ)gdevdcrd.$(OBJ)
391
$(DD)display.dev : $(display_)
392
	$(SETDEV) $(DD)display $(display_)
393
 
394
$(GLOBJ)gdevdsp.$(OBJ) : $(GLSRC)gdevdsp.c $(string__h)\
395
 $(gp_h) $(gpcheck_h) $(gdevpccm_h) $(gsparam_h) $(gsdevice_h)\
396
 $(GDEVH) $(gxdevmem_h) $(gdevdevn_h) $(gsequivc_h) $(gdevdsp_h) $(gdevdsp2_h)
397
	$(GLCC) $(GLO_)gdevdsp.$(OBJ) $(C_) $(GLSRC)gdevdsp.c
398
 
399
 
400
### ---------------------- Linux PC with vgalib ------------------------- ###
401
### Note: these drivers were contributed by users.                        ###
402
### For questions about the lvga256 driver, please contact                ###
403
###       Ludger Kunz (ludger.kunz@fernuni-hagen.de).                     ###
404
### For questions about the vgalib driver, please contact                 ###
405
###       Erik Talvola (talvola@gnu.ai.mit.edu).                          ###
406
### Note that the vgalib device supports only 16-color VGA modes.         ###
407
 
408
lvga256_=$(GLOBJ)gdevl256.$(OBJ)
409
$(DD)lvga256.dev : $(DEVS_MAK) $(lvga256_)
410
	$(SETDEV) $(DD)lvga256 $(lvga256_)
411
	$(ADDMOD) $(DD)lvga256 -lib vga vgagl
412
 
413
$(GLOBJ)gdevl256.$(OBJ) : $(GLSRC)gdevl256.c $(GDEV) $(memory__h)
414
	$(GLCC) $(GLO_)gdevl256.$(OBJ) $(C_) $(GLSRC)gdevl256.c
415
 
416
vgalib_=$(GLOBJ)gdevvglb.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ)
417
$(DD)vgalib.dev : $(DEVS_MAK) $(vgalib_)
418
	$(SETDEV2) $(DD)vgalib $(vgalib_)
419
	$(ADDMOD) $(DD)vgalib -lib vga
420
 
421
$(GLOBJ)gdevvglb.$(OBJ) : $(GLSRC)gdevvglb.c $(GDEV) $(gdevpccm_h) $(gsparam_h)
422
	$(GLCC) $(GLO_)gdevvglb.$(OBJ) $(C_) $(GLSRC)gdevvglb.c
423
 
424
### -------------------------- The X11 device -------------------------- ###
425
 
426
# Please note that Aladdin Enterprises does not support Ghostview.
427
# For more information about Ghostview, please contact Tim Theisen
428
# (ghostview@cs.wisc.edu).
429
 
430
x__h=$(GLSRC)x_.h
431
gdevxcmp_h=$(GLSRC)gdevxcmp.h
432
gdevx_h=$(GLSRC)gdevx.h $(gdevbbox_h) $(gdevxcmp_h)
433
 
434
# See the main makefile for the definition of XLIBDIRS and XLIBS.
435
x11_=$(GLOBJ)gdevx.$(OBJ) $(GLOBJ)gdevxcmp.$(OBJ) $(GLOBJ)gdevxini.$(OBJ)\
436
 $(GLOBJ)gdevxres.$(OBJ) $(GLOBJ)gdevxxf.$(OBJ)\
437
 $(GLOBJ)gdevemap.$(OBJ) $(GLOBJ)gsparamx.$(OBJ)
438
$(DD)x11_.dev : $(DEVS_MAK) $(x11_) $(GLD)bboxutil.dev
439
	$(SETMOD) $(DD)x11_ $(x11_)
440
	$(ADDMOD) $(DD)x11_ -link $(XLIBDIRS)
441
	$(ADDMOD) $(DD)x11_ -lib $(XLIBS)
442
	$(ADDMOD) $(DD)x11_ -include $(GLD)bboxutil
443
 
444
$(DD)x11.dev : $(DEVS_MAK) $(DD)x11_.dev
445
	$(SETDEV2) $(DD)x11 -include $(DD)x11_
446
 
447
# See the main makefile for the definition of XINCLUDE.
448
GDEVX=$(GDEV) $(x__h) $(gdevx_h) $(TOP_MAKEFILES)
449
$(GLOBJ)gdevx.$(OBJ) : $(GLSRC)gdevx.c $(GDEVX) $(math__h) $(memory__h)\
450
 $(gscoord_h) $(gsdevice_h) $(gsiparm2_h) $(gsmatrix_h) $(gsparam_h)\
451
 $(gxdevmem_h) $(gxgetbit_h) $(gxiparam_h) $(gxpath_h)
452
	$(GLCC) $(XINCLUDE) $(GLO_)gdevx.$(OBJ) $(C_) $(GLSRC)gdevx.c
453
 
454
$(GLOBJ)gdevxcmp.$(OBJ) : $(GLSRC)gdevxcmp.c $(GDEVX) $(math__h)
455
	$(GLCC) $(XINCLUDE) $(GLO_)gdevxcmp.$(OBJ) $(C_) $(GLSRC)gdevxcmp.c
456
 
457
$(GLOBJ)gdevxini.$(OBJ) : $(GLSRC)gdevxini.c $(GDEVX) $(memory__h)\
458
 $(gserrors_h) $(gsparamx_h) $(gxdevmem_h) $(gdevbbox_h)
459
	$(GLCC) $(XINCLUDE) $(GLO_)gdevxini.$(OBJ) $(C_) $(GLSRC)gdevxini.c
460
 
461
# We have to compile gdevxres without warnings, because there is a
462
# const/non-const cast required by the X headers that we can't work around.
463
$(GLOBJ)gdevxres.$(OBJ) : $(GLSRC)gdevxres.c $(std_h) $(x__h)\
464
 $(gsmemory_h) $(gstypes_h) $(gxdevice_h) $(gdevx_h)
465
	$(CC_NO_WARN) $(GLCCFLAGS) $(XINCLUDE) $(GLO_)gdevxres.$(OBJ) $(C_) $(GLSRC)gdevxres.c
466
 
467
$(GLOBJ)gdevxxf.$(OBJ) : $(GLSRC)gdevxxf.c $(GDEVX) $(math__h) $(memory__h)\
468
 $(gsstruct_h) $(gsutil_h) $(gxxfont_h)
469
	$(GLCC) $(XINCLUDE) $(GLO_)gdevxxf.$(OBJ) $(C_) $(GLSRC)gdevxxf.c
470
 
471
# Alternate X11-based devices to help debug other drivers.
472
# x11alpha pretends to have 4 bits of alpha channel.
473
# x11cmyk pretends to be a CMYK device with 1 bit each of C,M,Y,K.
474
# x11cmyk2 pretends to be a CMYK device with 2 bits each of C,M,Y,K.
475
# x11cmyk4 pretends to be a CMYK device with 4 bits each of C,M,Y,K.
476
# x11cmyk8 pretends to be a CMYK device with 8 bits each of C,M,Y,K.
477
# x11gray2 pretends to be a 2-bit gray-scale device.
478
# x11gray4 pretends to be a 4-bit gray-scale device.
479
# x11mono pretends to be a black-and-white device.
480
# x11rg16x pretends to be a G5/B5/R6 color device.
481
# x11rg16x pretends to be a G11/B10/R11 color device.
482
x11alt_=$(GLOBJ)gdevxalt.$(OBJ)
483
$(DD)x11alt_.dev : $(DEVS_MAK) $(x11alt_) $(DD)x11_.dev
484
	$(SETMOD) $(DD)x11alt_ $(x11alt_)
485
	$(ADDMOD) $(DD)x11alt_ -include $(DD)x11_
486
 
487
$(DD)x11alpha.dev : $(DEVS_MAK) $(DD)x11alt_.dev
488
	$(SETDEV2) $(DD)x11alpha -include $(DD)x11alt_
489
 
490
$(DD)x11cmyk.dev : $(DEVS_MAK) $(DD)x11alt_.dev
491
	$(SETDEV2) $(DD)x11cmyk -include $(DD)x11alt_
492
 
493
$(DD)x11cmyk2.dev : $(DEVS_MAK) $(DD)x11alt_.dev
494
	$(SETDEV2) $(DD)x11cmyk2 -include $(DD)x11alt_
495
 
496
$(DD)x11cmyk4.dev : $(DEVS_MAK) $(DD)x11alt_.dev
497
	$(SETDEV2) $(DD)x11cmyk4 -include $(DD)x11alt_
498
 
499
$(DD)x11cmyk8.dev : $(DEVS_MAK) $(DD)x11alt_.dev
500
	$(SETDEV2) $(DD)x11cmyk8 -include $(DD)x11alt_
501
 
502
$(DD)x11gray2.dev : $(DEVS_MAK) $(DD)x11alt_.dev
503
	$(SETDEV2) $(DD)x11gray2 -include $(DD)x11alt_
504
 
505
$(DD)x11gray4.dev : $(DEVS_MAK) $(DD)x11alt_.dev
506
	$(SETDEV2) $(DD)x11gray4 -include $(DD)x11alt_
507
 
508
$(DD)x11mono.dev : $(DEVS_MAK) $(DD)x11alt_.dev
509
	$(SETDEV2) $(DD)x11mono -include $(DD)x11alt_
510
 
511
$(DD)x11rg16x.dev : $(DEVS_MAK) $(DD)x11alt_.dev
512
	$(SETDEV2) $(DD)x11rg16x -include $(DD)x11alt_
513
 
514
$(DD)x11rg32x.dev : $(DEVS_MAK) $(DD)x11alt_.dev
515
	$(SETDEV2) $(DD)x11rg32x -include $(DD)x11alt_
516
 
517
$(GLOBJ)gdevxalt.$(OBJ) : $(GLSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
518
 $(gsdevice_h) $(gsparam_h) $(gsstruct_h)
519
	$(GLCC) $(XINCLUDE) $(GLO_)gdevxalt.$(OBJ) $(C_) $(GLSRC)gdevxalt.c
520
 
521
###### --------------- Memory-buffered printer devices --------------- ######
522
 
523
### ---------------- Practical Automation label printers ---------------- ###
524
 
525
atx_=$(GLOBJ)gdevatx.$(OBJ)
526
 
527
$(DD)atx23.dev : $(DEVS_MAK) $(atx_) $(GLD)page.dev
528
	$(SETPDEV2) $(DD)atx23 $(atx_)
529
 
530
$(DD)atx24.dev : $(DEVS_MAK) $(atx_) $(GLD)page.dev
531
	$(SETPDEV2) $(DD)atx24 $(atx_)
532
 
533
$(DD)atx38.dev : $(DEVS_MAK) $(atx_) $(GLD)page.dev
534
	$(SETPDEV2) $(DD)atx38 $(atx_)
535
 
536
$(GLOBJ)gdevatx.$(OBJ) : $(GLSRC)gdevatx.c $(PDEVH) $(math__h)
537
	$(GLCC) $(GLO_)gdevatx.$(OBJ) $(C_) $(GLSRC)gdevatx.c
538
 
539
### ----------- The H-P DeskJet and LaserJet printer devices ----------- ###
540
 
541
### These are essentially the same device.
542
### NOTE: printing at full resolution (300 DPI) requires a printer
543
###   with at least 1.5 Mb of memory.  150 DPI only requires .5 Mb.
544
### Note that the lj4dith driver is included with the H-P color printer
545
###   drivers below.
546
### For questions about the fs600 device, please contact                  ###
547
### Peter Schildmann (peter.schildmann@etechnik.uni-rostock.de).          ###
548
 
549
HPPCL=$(GLOBJ)gdevpcl.$(OBJ)
550
HPDLJM=$(GLOBJ)gdevdljm.$(OBJ) $(HPPCL)
551
HPMONO=$(GLOBJ)gdevdjet.$(OBJ) $(HPDLJM)
552
 
553
$(GLOBJ)gdevpcl.$(OBJ) : $(GLSRC)gdevpcl.c $(PDEVH) $(math__h) $(gdevpcl_h)
554
	$(GLCC) $(GLO_)gdevpcl.$(OBJ) $(C_) $(GLSRC)gdevpcl.c
555
 
556
$(GLOBJ)gdevdljm.$(OBJ) : $(GLSRC)gdevdljm.c $(PDEVH) $(gdevdljm_h)
557
	$(GLCC) $(GLO_)gdevdljm.$(OBJ) $(C_) $(GLSRC)gdevdljm.c
558
 
559
$(GLOBJ)gdevdjet.$(OBJ) : $(GLSRC)gdevdjet.c $(PDEVH) $(gdevdljm_h)
560
	$(GLCC) $(GLO_)gdevdjet.$(OBJ) $(C_) $(GLSRC)gdevdjet.c
561
 
562
$(DD)deskjet.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
563
	$(SETPDEV2) $(DD)deskjet $(HPMONO)
564
 
565
$(DD)djet500.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
566
	$(SETPDEV2) $(DD)djet500 $(HPMONO)
567
 
568
$(DD)fs600.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
569
	$(SETPDEV2) $(DD)fs600 $(HPMONO)
570
 
571
$(DD)laserjet.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
572
	$(SETPDEV2) $(DD)laserjet $(HPMONO)
573
 
574
$(DD)ljetplus.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
575
	$(SETPDEV2) $(DD)ljetplus $(HPMONO)
576
 
577
### Selecting ljet2p provides TIFF (mode 2) compression on LaserJet III,
578
### IIIp, IIId, IIIsi, IId, and IIp. 
579
 
580
$(DD)ljet2p.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
581
	$(SETPDEV2) $(DD)ljet2p $(HPMONO)
582
 
583
### Selecting ljet3 provides Delta Row (mode 3) compression on LaserJet III,
584
### IIIp, IIId, IIIsi.
585
 
586
$(DD)ljet3.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
587
	$(SETPDEV2) $(DD)ljet3 $(HPMONO)
588
 
589
### Selecting ljet3d also provides duplex printing capability.
590
 
591
$(DD)ljet3d.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
592
	$(SETPDEV2) $(DD)ljet3d $(HPMONO)
593
 
594
### Selecting ljet4 or ljet4d also provides Delta Row compression on
595
### LaserJet IV series.
596
 
597
$(DD)ljet4.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
598
	$(SETPDEV2) $(DD)ljet4 $(HPMONO)
599
 
600
$(DD)ljet4d.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
601
	$(SETPDEV2) $(DD)ljet4d $(HPMONO)
602
 
603
$(DD)lp2563.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
604
	$(SETPDEV2) $(DD)lp2563 $(HPMONO)
605
 
606
$(DD)oce9050.dev : $(DEVS_MAK) $(HPMONO) $(GLD)page.dev
607
	$(SETPDEV2) $(DD)oce9050 $(HPMONO)
608
 
609
### ------------------ The H-P LaserJet 5 and 6 devices ----------------- ###
610
 
611
### These drivers use H-P's new PCL XL printer language, like H-P's
612
### LaserJet 5 Enhanced driver for MS Windows.  We don't recommend using
613
### them:
614
###	- If you have a LJ 5L or 5P, which isn't a "real" LaserJet 5,
615
###	use the ljet4 driver instead.  (The lj5 drivers won't work.)
616
###	- If you have any other model of LJ 5 or 6, use the pxlmono
617
###	driver, which often produces much more compact output.
618
 
619
gdevpxat_h=$(GLSRC)gdevpxat.h
620
gdevpxen_h=$(GLSRC)gdevpxen.h
621
gdevpxop_h=$(GLSRC)gdevpxop.h
622
gdevpxut_h=$(GLSRC)gdevpxut.h
623
 
624
 
625
$(GLOBJ)gdevpxut.$(OBJ) : $(GLSRC)gdevpxut.c $(math__h) $(string__h)\
626
 $(gx_h) $(gxdevcli_h) $(stream_h)\
627
 $(gdevpxat_h) $(gdevpxen_h) $(gdevpxop_h) $(gdevpxut_h)
628
	$(GLCC) $(GLO_)gdevpxut.$(OBJ) $(C_) $(GLSRC)gdevpxut.c
629
 
630
ljet5_=$(GLOBJ)gdevlj56.$(OBJ) $(GLOBJ)gdevpxut.$(OBJ) $(HPPCL)
631
$(DD)lj5mono.dev : $(DEVS_MAK) $(ljet5_) $(GLD)page.dev
632
	$(SETPDEV) $(DD)lj5mono $(ljet5_)
633
 
634
$(DD)lj5gray.dev : $(DEVS_MAK) $(ljet5_) $(GLD)page.dev
635
	$(SETPDEV) $(DD)lj5gray $(ljet5_)
636
 
637
$(GLOBJ)gdevlj56.$(OBJ) : $(GLSRC)gdevlj56.c $(PDEVH) $(gdevpcl_h)\
638
 $(gdevpxat_h) $(gdevpxen_h) $(gdevpxop_h) $(gdevpxut_h) $(stream_h)
639
	$(GLCC) $(GLO_)gdevlj56.$(OBJ) $(C_) $(GLSRC)gdevlj56.c
640
 
641
### -------------------- The ijs client ----------------- ###
642
 
643
ijs_=$(GLOBJ)gdevijs.$(OBJ) $(IJSOBJ)ijs.$(OBJ) $(IJSOBJ)ijs_client.$(OBJ) \
644
 $(IJSOBJ)ijs_exec_$(IJSEXECTYPE).$(OBJ)
645
 
646
$(DD)ijs.dev : $(ijs_) $(GLD)page.dev $(DD)ijslib.dev
647
	$(SETPDEV) $(DD)ijs $(ijs_)
648
 
649
$(GLOBJ)gdevijs.$(OBJ) : $(GLSRC)gdevijs.c $(PDEVH) $(unistd__h) $(gp_h)\
650
 $(ijs_h) $(ijs_client_h)
651
	$(CC_) $(I_)$(GLI_) $(II)$(IJSI_)$(_I) $(GLF_) $(GLO_)gdevijs.$(OBJ) $(C_) $(GLSRC)gdevijs.c
652
 
653
# Please see ijs.mak for the Makefile fragment which builds the IJS
654
# library.
655
 
656
 
657
### -------------------------- The rinkj device ------------------------ ###
658
 
659
RINKJ_SRCDIR=$(GLSRC)rinkj
660
RINKJ_SRC=$(RINKJ_SRCDIR)$(D)
661
RINKJ_OBJ=$(GLOBJ)
662
RINKJ_O_=$(O_)$(RINKJ_OBJ)
663
 
664
RINKJ_INCL=$(I_)$(RINKJ_SRCDIR)$(_I)
665
RINKJ_CC=$(CC_) $(RINKJ_INCL)
666
 
667
rinkj_core=$(RINKJ_OBJ)evenbetter-rll.$(OBJ) \
668
 $(RINKJ_OBJ)rinkj-byte-stream.$(OBJ) $(RINKJ_OBJ)rinkj-device.$(OBJ) \
669
 $(RINKJ_OBJ)rinkj-config.$(OBJ) $(RINKJ_OBJ)rinkj-dither.$(OBJ) \
670
 $(RINKJ_OBJ)rinkj-epson870.$(OBJ) $(RINKJ_OBJ)rinkj-screen-eb.$(OBJ)
671
 
672
$(RINKJ_OBJ)evenbetter-rll.$(OBJ): $(RINKJ_SRC)evenbetter-rll.c
673
	$(RINKJ_CC) $(RINKJ_O_)evenbetter-rll.$(OBJ) $(C_) $(RINKJ_SRC)evenbetter-rll.c
674
 
675
$(RINKJ_OBJ)rinkj-byte-stream.$(OBJ): $(RINKJ_SRC)rinkj-byte-stream.c
676
	$(RINKJ_CC) $(RINKJ_O_)rinkj-byte-stream.$(OBJ) $(C_) $(RINKJ_SRC)rinkj-byte-stream.c
677
 
678
$(RINKJ_OBJ)rinkj-device.$(OBJ): $(RINKJ_SRC)rinkj-device.c
679
	$(RINKJ_CC) $(RINKJ_O_)rinkj-device.$(OBJ) $(C_) $(RINKJ_SRC)rinkj-device.c
680
 
681
$(RINKJ_OBJ)rinkj-config.$(OBJ): $(RINKJ_SRC)rinkj-config.c
682
	$(RINKJ_CC) $(RINKJ_O_)rinkj-config.$(OBJ) $(C_) $(RINKJ_SRC)rinkj-config.c
683
 
684
$(RINKJ_OBJ)rinkj-dither.$(OBJ): $(RINKJ_SRC)rinkj-dither.c
685
	$(RINKJ_CC) $(RINKJ_O_)rinkj-dither.$(OBJ) $(C_) $(RINKJ_SRC)rinkj-dither.c
686
 
687
$(RINKJ_OBJ)rinkj-epson870.$(OBJ): $(RINKJ_SRC)rinkj-epson870.c
688
	$(RINKJ_CC) $(RINKJ_O_)rinkj-epson870.$(OBJ) $(C_) $(RINKJ_SRC)rinkj-epson870.c
689
 
690
$(RINKJ_OBJ)rinkj-screen-eb.$(OBJ): $(RINKJ_SRC)rinkj-screen-eb.c
691
	$(RINKJ_CC) $(RINKJ_O_)rinkj-screen-eb.$(OBJ) $(C_) $(RINKJ_SRC)rinkj-screen-eb.c
692
 
693
rinkj_=$(GLOBJ)gdevrinkj.$(OBJ) $(rinkj_core)
694
 
695
$(DD)rinkj.dev : $(DEVS_MAK) $(rinkj_) $(GLD)page.dev
696
	$(SETDEV) $(DD)rinkj $(rinkj_)
697
 
698
$(GLOBJ)gdevrinkj.$(OBJ) : $(GLSRC)gdevrinkj.c $(PDEVH) $(math__h)\
699
 $(gdevdcrd_h) $(gscrd_h) $(gscrdp_h) $(gsparam_h) $(gxlum_h) $(icc_h)\
700
 $(gxdcconv_h)
701
	$(GLICCCC) $(GLO_)gdevrinkj.$(OBJ) $(C_) $(GLSRC)gdevrinkj.c
702
 
703
 
704
###### ------------------- High-level file formats ------------------- ######
705
 
706
# Support for PostScript and PDF
707
 
708
gdevpsdf_h=$(GLSRC)gdevpsdf.h $(gdevvec_h) $(gsparam_h)\
709
 $(sa85x_h) $(scfx_h) $(spsdf_h) $(strimpl_h)
710
gdevpsds_h=$(GLSRC)gdevpsds.h $(strimpl_h) $(gsiparam_h)
711
 
712
psdf_1=$(GLOBJ)gdevpsdi.$(OBJ) $(GLOBJ)gdevpsdp.$(OBJ)
713
psdf_2=$(GLOBJ)gdevpsds.$(OBJ) $(GLOBJ)gdevpsdu.$(OBJ)
714
psdf_3=$(GLOBJ)scfparam.$(OBJ) $(GLOBJ)sdcparam.$(OBJ) $(GLOBJ)sdeparam.$(OBJ)
715
psdf_4=$(GLOBJ)spprint.$(OBJ) $(GLOBJ)spsdf.$(OBJ) $(GLOBJ)sstring.$(OBJ)
716
psdf_5=$(GLOBJ)gsparamx.$(OBJ)
717
psdf_=$(psdf_1) $(psdf_2) $(psdf_3) $(psdf_4) $(psdf_5)
718
psdf_inc1=$(GLD)vector.dev $(GLD)pngp.dev $(GLD)seexec.dev
719
psdf_inc2=$(GLD)sdcte.dev $(GLD)slzwe.dev $(GLD)szlibe.dev
720
psdf_inc=$(psdf_inc1) $(psdf_inc2)
721
$(DD)psdf.dev : $(DEVS_MAK) $(ECHOGS_XE) $(psdf_) $(psdf_inc)
722
	$(SETMOD) $(DD)psdf $(psdf_1)
723
	$(ADDMOD) $(DD)psdf -obj $(psdf_2)
724
	$(ADDMOD) $(DD)psdf -obj $(psdf_3)
725
	$(ADDMOD) $(DD)psdf -obj $(psdf_4)
726
	$(ADDMOD) $(DD)psdf -obj $(psdf_5)
727
	$(ADDMOD) $(DD)psdf -include $(psdf_inc1)
728
	$(ADDMOD) $(DD)psdf -include $(psdf_inc2)
729
 
730
$(GLOBJ)gdevpsdi.$(OBJ) : $(GLSRC)gdevpsdi.c $(GXERR)\
731
 $(jpeglib__h) $(math__h) $(stdio__h)\
732
 $(gscspace_h)\
733
 $(scfx_h) $(sdct_h) $(sjpeg_h) $(slzwx_h) $(srlx_h) $(spngpx_h)\
734
 $(strimpl_h) $(szlibx_h)\
735
 $(gdevpsdf_h) $(gdevpsds_h) $(gxdevmem_h) $(gxcspace_h) $(gxparamx_h)
736
	$(GLJCC) $(GLO_)gdevpsdi.$(OBJ) $(C_) $(GLSRC)gdevpsdi.c
737
 
738
$(GLOBJ)gdevpsdp.$(OBJ) : $(GLSRC)gdevpsdp.c $(GDEVH)\
739
 $(string__h) $(jpeglib__h)\
740
 $(scfx_h) $(sdct_h) $(slzwx_h) $(srlx_h) $(strimpl_h) $(szlibx_h)\
741
 $(gsparamx_h) $(gsutil_h) $(gdevpsdf_h) $(spprint_h)
742
	$(GLJCC) $(GLO_)gdevpsdp.$(OBJ) $(C_) $(GLSRC)gdevpsdp.c
743
 
744
$(GLOBJ)gdevpsds.$(OBJ) : $(GLSRC)gdevpsds.c $(GX) $(memory__h)\
745
 $(gserrors_h) $(gxdcconv_h) $(gdevpsds_h) $(gxbitmap_h)\
746
 $(gxcspace_h) $(gsdcolor_h) $(gscspace_h) $(gxdevcli_h)
747
	$(GLCC) $(GLO_)gdevpsds.$(OBJ) $(C_) $(GLSRC)gdevpsds.c
748
 
749
$(GLOBJ)gdevpsdu.$(OBJ) : $(GLSRC)gdevpsdu.c $(GXERR)\
750
 $(jpeglib__h) $(memory__h) $(stdio__h)\
751
 $(sa85x_h) $(scfx_h) $(sdct_h) $(sjpeg_h) $(sstring_h) $(strimpl_h)\
752
 $(gdevpsdf_h) $(spprint_h) $(gsovrc_h)
753
	$(GLJCC) $(GLO_)gdevpsdu.$(OBJ) $(C_) $(GLSRC)gdevpsdu.c
754
 
755
# PostScript and EPS writers
756
 
757
pswrite_=$(GLOBJ)gdevps.$(OBJ) $(GLOBJ)gdevpsu.$(OBJ) $(GLOBJ)scantab.$(OBJ) $(GLOBJ)sfilter2.$(OBJ)
758
$(DD)epswrite.dev : $(DEVS_MAK) $(ECHOGS_XE) $(pswrite_) $(GLD)psdf.dev
759
	$(SETDEV2) $(DD)epswrite $(pswrite_)
760
	$(ADDMOD) $(DD)epswrite -include $(GLD)psdf
761
 
762
$(DD)pswrite.dev : $(DEVS_MAK) $(ECHOGS_XE) $(pswrite_) $(GLD)psdf.dev
763
	$(SETDEV2) $(DD)pswrite $(pswrite_)
764
	$(ADDMOD) $(DD)pswrite -include $(GLD)psdf
765
 
766
$(GLOBJ)gdevps.$(OBJ) : $(GLSRC)gdevps.c $(GDEV)\
767
 $(math__h) $(memory__h) $(string__h) $(time__h)\
768
 $(gscdefs_h) $(gscspace_h) $(gsline_h) $(gsparam_h) $(gsiparam_h) $(gsmatrix_h)\
769
 $(gxdcolor_h) $(gxpath_h)\
770
 $(sa85x_h) $(sstring_h) $(strimpl_h)\
771
 $(gdevpsdf_h) $(gdevpsu_h) $(spprint_h)
772
	$(GLCC) $(GLO_)gdevps.$(OBJ) $(C_) $(GLSRC)gdevps.c
773
 
774
################ BEGIN PDF WRITER ################
775
 
776
# PDF writer
777
# Note that gs_pdfwr.ps will only actually be loaded if the configuration
778
# includes a PostScript interpreter.
779
 
780
# We reserve slots here for gdevpdfa...z, just in case we need them.
781
pdfwrite1_=$(GLOBJ)gdevpdf.$(OBJ) $(GLOBJ)gdevpdfb.$(OBJ)
782
pdfwrite2_=$(GLOBJ)gdevpdfc.$(OBJ) $(GLOBJ)gdevpdfd.$(OBJ)
783
pdfwrite3_=$(GLOBJ)gdevpdfg.$(OBJ)
784
pdfwrite4_=$(GLOBJ)gdevpdfi.$(OBJ) $(GLOBJ)gdevpdfj.$(OBJ) $(GLOBJ)gdevpdfk.$(OBJ)
785
pdfwrite5_=$(GLOBJ)gdevpdfm.$(OBJ)
786
pdfwrite6_=$(GLOBJ)gdevpdfo.$(OBJ) $(GLOBJ)gdevpdfp.$(OBJ) $(GLOBJ)gdevpdft.$(OBJ)
787
pdfwrite7_=$(GLOBJ)gdevpdfr.$(OBJ)
788
pdfwrite8_=$(GLOBJ)gdevpdfu.$(OBJ) $(GLOBJ)gdevpdfv.$(OBJ)
789
pdfwrite9_=
790
pdfwrite10_=$(GLOBJ)gsflip.$(OBJ)
791
pdfwrite11_=$(GLOBJ)scantab.$(OBJ) $(GLOBJ)sfilter2.$(OBJ)
792
pdfwrite_=$(pdfwrite1_) $(pdfwrite2_) $(pdfwrite3_) $(pdfwrite4_)\
793
 $(pdfwrite5_) $(pdfwrite6_) $(pdfwrite7_) $(pdfwrite8_) $(pdfwrite9_)\
794
 $(pdfwrite10_) $(pdfwrite11_)
795
 
796
# Since ps2write actually is a clone of pdfwrite,
797
# we don't define a full module for it, 
798
# but generate both devices within pdfwrite.dev .
799
 
800
# Note that for ps2pdf operation, we need to parse DSC comments to set
801
# the Orientation (Page dict /Rotate value). This is not part of the
802
# pdfwrite device, but part of the PS interpreter so that the pdfwrite
803
# device can be used with other top level interpreters (such as PCL).
804
$(DD)pdfwrite.dev : $(DEVS_MAK) $(ECHOGS_XE) $(pdfwrite_)\
805
 $(GLD)cmyklib.dev $(GLD)cfe.dev $(GLD)lzwe.dev\
806
 $(GLD)rle.dev $(GLD)sdcte.dev $(GLD)sdeparam.dev $(GLD)smd5.dev\
807
 $(GLD)szlibe.dev $(GLD)psdf.dev \
808
 $(DD)pdtext.dev
809
	$(SETDEV2) $(DD)ps2write $(pdfwrite1_)
810
	$(SETDEV2) $(DD)pdfwrite $(pdfwrite1_)
811
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite2_)
812
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite3_)
813
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite4_)
814
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite5_)
815
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite6_)
816
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite7_)
817
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite8_)
818
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite9_)
819
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite10_)
820
	$(ADDMOD) $(DD)pdfwrite $(pdfwrite11_)
821
	$(ADDMOD) $(DD)pdfwrite -ps gs_pdfwr
822
	$(ADDMOD) $(DD)pdfwrite -include $(GLD)cmyklib $(GLD)cfe $(GLD)lzwe
823
	$(ADDMOD) $(DD)pdfwrite -include $(GLD)rle $(GLD)sdcte $(GLD)sdeparam
824
	$(ADDMOD) $(DD)pdfwrite -include $(GLD)smd5 $(GLD)szlibe
825
	$(ADDMOD) $(DD)pdfwrite -include $(GLD)psdf
826
	$(ADDMOD) $(DD)pdfwrite -include $(DD)pdtext
827
 
828
gdevpdfb_h=$(GLSRC)gdevpdfb.h
829
gdevpdfc_h=$(GLSRC)gdevpdfc.h
830
gdevpdfg_h=$(GLSRC)gdevpdfg.h $(gscspace_h)
831
gdevpdfo_h=$(GLSRC)gdevpdfo.h $(gsparam_h)
832
gdevpdfx_h=$(GLSRC)gdevpdfx.h\
833
 $(gsparam_h) $(gsuid_h) $(gxdevice_h) $(gxfont_h) $(gxline_h)\
834
 $(spprint_h) $(stream_h) $(gdevpsdf_h)
835
 
836
$(GLOBJ)gdevpdf.$(OBJ) : $(GLSRC)gdevpdf.c $(GDEVH)\
837
 $(fcntl__h) $(memory__h) $(string__h) $(time__h) $(unistd__h) $(gp_h)\
838
 $(gdevpdfg_h) $(gdevpdfo_h) $(gdevpdfx_h) $(gdevpdt_h) $(smd5_h) $(sarc4_h)\
839
 $(gdevpdfb_h)
840
	$(GLCC) $(GLO_)gdevpdf.$(OBJ) $(C_) $(GLSRC)gdevpdf.c
841
 
842
$(GLOBJ)gdevpdfb.$(OBJ) : $(GLSRC)gdevpdfb.c\
843
 $(string__h) $(gx_h)\
844
 $(gdevpdfg_h) $(gdevpdfo_h) $(gdevpdfx_h)\
845
 $(gserrors_h) $(gxcspace_h) $(gxdcolor_h) $(gxpcolor_h) $(gxhldevc_h)
846
	$(GLCC) $(GLO_)gdevpdfb.$(OBJ) $(C_) $(GLSRC)gdevpdfb.c
847
 
848
$(GLOBJ)gdevpdfc.$(OBJ) : $(GLSRC)gdevpdfc.c $(GXERR) $(math__h) $(memory__h)\
849
 $(gdevpdfc_h) $(gdevpdfg_h) $(gdevpdfo_h) $(gdevpdfx_h)\
850
 $(gscie_h) $(gscindex_h) $(gscspace_h) $(gscdevn_h) $(gscsepr_h) $(gsicc_h)\
851
 $(sstring_h) $(stream_h) $(strimpl_h) $(gxcspace_h)
852
	$(GLCC) $(GLO_)gdevpdfc.$(OBJ) $(C_) $(GLSRC)gdevpdfc.c
853
 
854
$(GLOBJ)gdevpdfd.$(OBJ) : $(GLSRC)gdevpdfd.c $(math__h) $(memory__h)\
855
 $(gx_h) $(gxdevice_h) $(gxfixed_h) $(gxistate_h) $(gxpaint_h)\
856
 $(gxcoord_h) $(gxdevmem_h) $(gxcolor2_h) $(gxhldevc_h)\
857
 $(gsstate_h) $(gserrors_h) $(gsptype2_h)\
858
 $(gzpath_h) $(gzcpath_h) $(gdevpdfx_h) $(gdevpdfg_h) $(gdevpdfo_h) $(gsutil_h)
859
	$(GLCC) $(GLO_)gdevpdfd.$(OBJ) $(C_) $(GLSRC)gdevpdfd.c
860
 
861
$(GLOBJ)gdevpdfg.$(OBJ) : $(GLSRC)gdevpdfg.c $(GXERR) $(math__h) $(string__h)\
862
 $(memory__h) $(gdevpdfg_h) $(gdevpdfo_h) $(gdevpdfx_h)\
863
 $(gsfunc0_h) $(gsstate_h) $(gxdcolor_h) $(gxpcolor_h) $(gxcolor2_h) $(gsptype2_h)\
864
 $(gxbitmap_h) $(gxdht_h) $(gxfarith_h) $(gxfmap_h) $(gxht_h) $(gxistate_h)\
865
 $(gzht_h)\
866
 $(szlibx_h)
867
	$(GLCC) $(GLO_)gdevpdfg.$(OBJ) $(C_) $(GLSRC)gdevpdfg.c
868
 
869
$(GLOBJ)gdevpdfi.$(OBJ) : $(GLSRC)gdevpdfi.c $(memory__h) $(math__h)\
870
 $(gx_h)\
871
 $(gserrors_h) $(gsdevice_h) $(gsflip_h) $(gsiparm4_h) $(gsstate_h) $(gscolor2_h)\
872
 $(gdevpdfx_h) $(gdevpdfg_h) $(gdevpdfo_h)\
873
 $(gxcspace_h) $(gximage3_h) $(gximag3x_h) $(gxdcolor_h) $(gxpcolor_h)\
874
 $(gxhldevc_h)
875
	$(GLCC) $(GLO_)gdevpdfi.$(OBJ) $(C_) $(GLSRC)gdevpdfi.c
876
 
877
$(GLOBJ)gdevpdfj.$(OBJ) : $(GLSRC)gdevpdfj.c\
878
 $(memory__h) $(string__h) $(gx_h) $(gserrors_h)\
879
 $(gdevpdfx_h) $(gdevpdfg_h) $(gdevpdfo_h) $(gxcspace_h)\
880
 $(gsiparm4_h) $(gdevpsds_h) $(spngpx_h)
881
	$(GLJCC) $(GLO_)gdevpdfj.$(OBJ) $(C_) $(GLSRC)gdevpdfj.c
882
 
883
$(GLOBJ)gdevpdfk.$(OBJ) : $(GLSRC)gdevpdfk.c $(GXERR) $(math__h) $(memory__h)\
884
 $(gdevpdfc_h) $(gdevpdfg_h) $(gdevpdfo_h) $(gdevpdfx_h)\
885
 $(gsicc_h) $(gxcie_h) $(gxcspace_h)\
886
 $(stream_h) $(strimpl_h)
887
	$(GLCC) $(GLO_)gdevpdfk.$(OBJ) $(C_) $(GLSRC)gdevpdfk.c
888
 
889
$(GLOBJ)gdevpdfm.$(OBJ) : $(GLSRC)gdevpdfm.c\
890
 $(math__h) $(memory__h) $(string__h) $(gx_h)\
891
 $(gdevpdfo_h) $(gdevpdfx_h) $(gserrors_h) $(gsutil_h) $(scanchar_h)\
892
 $(szlibx_h) $(slzwx_h)
893
	$(GLCC) $(GLO_)gdevpdfm.$(OBJ) $(C_) $(GLSRC)gdevpdfm.c
894
 
895
$(GLOBJ)gdevpdfo.$(OBJ) : $(GLSRC)gdevpdfo.c $(memory__h) $(string__h)\
896
 $(gx_h)\
897
 $(gdevpdfo_h) $(gdevpdfx_h) $(gserrors_h) $(gsparam_h) $(gsutil_h)\
898
 $(sa85x_h) $(slzwx_h) $(sarc4_h) $(sstring_h) $(strimpl_h) $(szlibx_h)
899
	$(GLCC) $(GLO_)gdevpdfo.$(OBJ) $(C_) $(GLSRC)gdevpdfo.c
900
 
901
$(GLOBJ)gdevpdfp.$(OBJ) : $(GLSRC)gdevpdfp.c $(memory__h) $(string__h) $(gx_h)\
902
 $(gdevpdfo_h) $(gdevpdfg_h) $(gdevpdfx_h) $(gserrors_h) $(gsparamx_h)
903
	$(GLCC) $(GLO_)gdevpdfp.$(OBJ) $(C_) $(GLSRC)gdevpdfp.c
904
 
905
$(GLOBJ)gdevpdfr.$(OBJ) : $(GLSRC)gdevpdfr.c $(memory__h) $(string__h)\
906
 $(gx_h)\
907
 $(gdevpdfo_h) $(gdevpdfx_h) $(gserrors_h) $(gsutil_h)\
908
 $(scanchar_h) $(sstring_h) $(strimpl_h)
909
	$(GLCC) $(GLO_)gdevpdfr.$(OBJ) $(C_) $(GLSRC)gdevpdfr.c
910
 
911
$(GLOBJ)gdevpdft.$(OBJ) : $(GLSRC)gdevpdft.c $(string__h)\
912
 $(gx_h) $(gserrors_h) $(gstrans_h) $(gscolor2_h) $(gzstate_h)\
913
 $(gdevpdfx_h) $(gdevpdfg_h) $(gdevpdfo_h)
914
	$(GLCC) $(GLO_)gdevpdft.$(OBJ) $(C_) $(GLSRC)gdevpdft.c
915
 
916
$(GLOBJ)gdevpdfu.$(OBJ) : $(GLSRC)gdevpdfu.c $(GXERR)\
917
 $(jpeglib__h) $(memory__h) $(string__h)\
918
 $(gdevpdfo_h) $(gdevpdfx_h) $(gdevpdfg_h) $(gdevpdtd_h) $(gscdefs_h)\
919
 $(gsdsrc_h) $(gsfunc_h) $(gsfunc3_h)\
920
 $(sa85x_h) $(scanchar_h) $(scfx_h) $(sdct_h) $(slzwx_h) $(spngpx_h)\
921
 $(srlx_h) $(sarc4_h) $(smd5_h) $(sstring_h) $(strimpl_h) $(szlibx_h)
922
	$(GLCC) $(GLO_)gdevpdfu.$(OBJ) $(C_) $(GLSRC)gdevpdfu.c
923
 
924
$(GLOBJ)gdevpdfv.$(OBJ) : $(GLSRC)gdevpdfv.c $(GXERR) $(math__h) $(string__h)\
925
 $(gdevpdfg_h) $(gdevpdfo_h) $(gdevpdfx_h)\
926
 $(gscindex_h) $(gscoord_h) $(gsiparm3_h) $(gsmatrix_h) $(gsptype2_h)\
927
 $(gxcolor2_h) $(gxdcolor_h) $(gxpcolor_h) $(gxshade_h)\
928
 $(szlibx_h)
929
	$(GLCC) $(GLO_)gdevpdfv.$(OBJ) $(C_) $(GLSRC)gdevpdfv.c
930
 
931
######## pdfwrite text
932
 
933
# The text facilities for the PDF writer are so large and complex that
934
# we give them their own module name and (for the new code) file name prefix.
935
# However, logically they are part of pdfwrite and cannot be used separately.
936
 
937
$(DD)pdtext.dev : $(DEVS_MAK) $(ECHOGS_XE) $(DD)pdxtext.dev
938
	$(SETMOD) $(DD)pdtext -include $(DD)pdxtext
939
 
940
# For a code roadmap, see gdevpdtx.h.
941
 
942
gdevpdt_h=$(GLSRC)gdevpdt.h
943
gdevpdtx_h=$(GLSRC)gdevpdtx.h $(gdevpdt_h)
944
gdevpdtb_h=$(GLSRC)gdevpdtb.h $(gdevpdtx_h)
945
gdevpdtd_h=$(GLSRC)gdevpdtd.h $(gdevpdtb_h) $(gdevpdtx_h)
946
gdevpdtf_h=$(GLSRC)gdevpdtf.h $(gdevpdtx_h)
947
gdevpdti_h=$(GLSRC)gdevpdti.h $(gdevpdt_h)
948
gdevpdts_h=$(GLSRC)gdevpdts.h $(gsmatrix_h)
949
gdevpdtt_h=$(GLSRC)gdevpdtt.h
950
gdevpdtv_h=$(GLSRC)gdevpdtv.h
951
gdevpdtw_h=$(GLSRC)gdevpdtw.h
952
 
953
# We reserve space for all of a..z, just in case.
954
pdxtext_ab=$(GLOBJ)gdevpdt.$(OBJ) $(GLOBJ)gdevpdtb.$(OBJ)
955
pdxtext_cde=$(GLOBJ)gdevpdtc.$(OBJ) $(GLOBJ)gdevpdtd.$(OBJ) $(GLOBJ)gdevpdte.$(OBJ)
956
pdxtext_fgh=$(GLOBJ)gdevpdtf.$(OBJ)
957
pdxtext_ijk=$(GLOBJ)gdevpdti.$(OBJ)
958
pdxtext_lmn=
959
pdxtext_opq=
960
pdxtext_rst=$(GLOBJ)gdevpdts.$(OBJ) $(GLOBJ)gdevpdtt.$(OBJ)
961
pdxtext_uvw=$(GLOBJ)gdevpdtv.$(OBJ) $(GLOBJ)gdevpdtw.$(OBJ)
962
pdxtext_xyz=
963
pdxtext_=$(pdxtext_ab) $(pdxtext_cde) $(pdxtext_fgh) $(pdxtext_ijk)\
964
 $(pdxtext_lmn) $(pdxtext_opq) $(pdxtext_rst) $(pdxtext_uvw) $(pdxtext_xyz)\
965
 $(GLOBJ)gsfont0c.$(OBJ)
966
$(DD)pdxtext.dev : $(DEVS_MAK) $(ECHOGS_XE) $(pdxtext_)\
967
 $(GLD)fcopy.dev $(GLD)psf.dev
968
	$(SETMOD) $(DD)pdxtext $(pdxtext_ab)
969
	$(ADDMOD) $(DD)pdxtext $(pdxtext_cde)
970
	$(ADDMOD) $(DD)pdxtext $(pdxtext_fgh)
971
	$(ADDMOD) $(DD)pdxtext $(pdxtext_ijk)
972
	$(ADDMOD) $(DD)pdxtext $(pdxtext_lmn)
973
	$(ADDMOD) $(DD)pdxtext $(pdxtext_opq)
974
	$(ADDMOD) $(DD)pdxtext $(pdxtext_rst)
975
	$(ADDMOD) $(DD)pdxtext $(pdxtext_uvw)
976
	$(ADDMOD) $(DD)pdxtext $(pdxtext_xyz)
977
	$(ADDMOD) $(DD)pdxtext $(GLOBJ)gsfont0c.$(OBJ)
978
	$(ADDMOD) $(DD)pdxtext -include $(GLD)fcopy $(GLD)psf
979
 
980
$(GLOBJ)gdevpdt.$(OBJ) : $(GLSRC)gdevpdt.c $(gx_h) $(gxpath_h) $(memory__h)\
981
 $(gdevpdfx_h) $(gdevpdfg_h) $(gdevpdtf_h) $(gdevpdti_h) $(gdevpdts_h) $(gdevpdtx_h) $(gdevpdt_h)
982
	$(GLCC) $(GLO_)gdevpdt.$(OBJ) $(C_) $(GLSRC)gdevpdt.c
983
 
984
$(GLOBJ)gdevpdtb.$(OBJ) : $(GLSRC)gdevpdtb.c $(memory__h) $(ctype__h) $(string__h)\
985
 $(gx_h) $(gserrors_h) $(gsutil_h)\
986
 $(gxfcid_h) $(gxfcopy_h) $(gxfont_h) $(gxfont42_h)\
987
 $(gdevpsf_h) $(gdevpdfx_h) $(gdevpdtb_h)
988
	$(GLCC) $(GLO_)gdevpdtb.$(OBJ) $(C_) $(GLSRC)gdevpdtb.c
989
 
990
$(GLOBJ)gdevpdtc.$(OBJ) : $(GLSRC)gdevpdtc.c $(gx_h) $(memory__h) $(string__h)\
991
 $(gserrors_h) $(gxfcmap_h) $(gxfont_h) $(gxfont0_h) $(gxfont0c_h)\
992
 $(gzpath_h) $(gxchar_h) $(gdevpsf_h) $(gdevpdfx_h) $(gdevpdtx_h)\
993
 $(gdevpdtd_h) $(gdevpdtf_h) $(gdevpdts_h) $(gdevpdtt_h)
994
	$(GLCC) $(GLO_)gdevpdtc.$(OBJ) $(C_) $(GLSRC)gdevpdtc.c
995
 
996
$(GLOBJ)gdevpdte.$(OBJ) : $(GLSRC)gdevpdte.c $(gx_h) $(math__h) $(memory__h)\
997
 $(gserrors_h) $(gsutil_h) $(gxfcmap_h) $(gxfcopy_h) $(gxfont_h) \
998
 $(gxfont0_h) $(gxfont0c_h) $(gxpath_h) $(gdevpsf_h) $(gdevpdfx_h) \
999
 $(gdevpdfg_h) $(gdevpdtx_h) $(gdevpdtd_h) $(gdevpdtf_h) $(gdevpdts_h) \
1000
 $(gdevpdtt_h)
1001
	$(GLCC) $(GLO_)gdevpdte.$(OBJ) $(C_) $(GLSRC)gdevpdte.c
1002
 
1003
$(GLOBJ)gdevpdtd.$(OBJ) : $(GLSRC)gdevpdtd.c $(math__h) $(memory__h) $(gx_h)\
1004
 $(gserrors_h) $(gsrect_h)\
1005
 $(gdevpdfo_h) $(gdevpdfx_h)\
1006
 $(gdevpdtb_h) $(gdevpdtd_h)
1007
	$(GLCC) $(GLO_)gdevpdtd.$(OBJ) $(C_) $(GLSRC)gdevpdtd.c
1008
 
1009
$(GLOBJ)gdevpdtf.$(OBJ) : $(GLSRC)gdevpdtf.c $(gx_h) $(memory__h)\
1010
 $(string__h) $(gserrors_h) $(gsutil_h)\
1011
 $(gxfcache_h) $(gxfcid_h) $(gxfcmap_h) $(gxfcopy_h) $(gxfont_h) $(gxfont1_h)\
1012
 $(gdevpsf_h) $(gdevpdfx_h) $(gdevpdtb_h) $(gdevpdtd_h) $(gdevpdtf_h) $(gdevpdtw_h)
1013
	$(GLCC) $(GLO_)gdevpdtf.$(OBJ) $(C_) $(GLSRC)gdevpdtf.c
1014
 
1015
$(GLOBJ)gdevpdti.$(OBJ) : $(GLSRC)gdevpdti.c $(memory__h) $(string__h) $(gx_h)\
1016
 $(gserrors_h) $(gsutil_h)\
1017
 $(gdevpdfx_h) $(gdevpdfg_h)\
1018
 $(gdevpdtf_h) $(gdevpdti_h) $(gdevpdts_h) $(gdevpdtw_h) $(gdevpdtt_h) $(gdevpdfo_h)
1019
	$(GLCC) $(GLO_)gdevpdti.$(OBJ) $(C_) $(GLSRC)gdevpdti.c
1020
 
1021
$(GLOBJ)gdevpdts.$(OBJ) : $(GLSRC)gdevpdts.c $(gx_h) $(math__h) $(memory__h)\
1022
 $(gdevpdfx_h) $(gdevpdtf_h) $(gdevpdts_h) $(gdevpdtx_h)
1023
	$(GLCC) $(GLO_)gdevpdts.$(OBJ) $(C_) $(GLSRC)gdevpdts.c
1024
 
1025
$(GLOBJ)gdevpdtt.$(OBJ) : $(GLSRC)gdevpdtt.c $(gx_h) $(math__h) $(string__h)\
1026
 $(gserrors_h) $(gsencs_h) $(gscedata_h) $(gsmatrix_h) $(gzstate_h)\
1027
 $(gxfcache_h) $(gxfont_h) $(gxfont0_h) $(gxfcid_h) $(gxfcopy_h)\
1028
 $(gxfcmap_h) $(gxpath_h) $(gxchar_h) $(gxstate_h) $(gdevpdfx_h) $(gdevpdfg_h)\
1029
 $(gdevpdtx_h) $(gdevpdtd_h) $(gdevpdtf_h) $(gdevpdts_h) $(gdevpdtt_h)\
1030
 $(gdevpdti_h) $(gxhldevc_h)
1031
	$(GLCC) $(GLO_)gdevpdtt.$(OBJ) $(C_) $(GLSRC)gdevpdtt.c
1032
 
1033
$(GLOBJ)gdevpdtv.$(OBJ) : $(GLSRC)gdevpdtv.c $(gx_h) $(gdevpdtv_h)
1034
	$(GLCC) $(GLO_)gdevpdtv.$(OBJ) $(C_) $(GLSRC)gdevpdtv.c
1035
 
1036
$(GLOBJ)gdevpdtw.$(OBJ) : $(GLSRC)gdevpdtw.c $(gx_h) $(gserrors_h) $(memory__h)\
1037
 $(gxfcmap_h) $(gxfont_h) $(gscencs_h)\
1038
 $(gdevpsf_h) $(gdevpdfx_h) $(gdevpdfo_h)\
1039
 $(gdevpdtd_h) $(gdevpdtf_h) $(gdevpdti_h) $(gdevpdtw_h) $(gdevpdtv_h) $(sarc4_h)
1040
	$(GLCC) $(GLO_)gdevpdtw.$(OBJ) $(C_) $(GLSRC)gdevpdtw.c
1041
 
1042
################ END PDF WRITER ################
1043
 
1044
# High-level PCL XL writer
1045
 
1046
pxl_=$(GLOBJ)gdevpx.$(OBJ) $(GLOBJ)gdevpxut.$(OBJ)
1047
$(DD)pxlmono.dev : $(DEVS_MAK) $(pxl_) $(GDEV) $(GLD)vector.dev
1048
	$(SETDEV2) $(DD)pxlmono $(pxl_)
1049
	$(ADDMOD) $(DD)pxlmono -include $(GLD)vector
1050
 
1051
$(DD)pxlcolor.dev : $(DEVS_MAK) $(pxl_) $(GDEV) $(GLD)vector.dev
1052
	$(SETDEV2) $(DD)pxlcolor $(pxl_)
1053
	$(ADDMOD) $(DD)pxlcolor -include $(GLD)vector
1054
 
1055
$(GLOBJ)gdevpx.$(OBJ) : $(GLSRC)gdevpx.c\
1056
 $(math__h) $(memory__h) $(string__h)\
1057
 $(gx_h) $(gsccolor_h) $(gsdcolor_h) $(gserrors_h)\
1058
 $(gxcspace_h) $(gxdevice_h) $(gxpath_h)\
1059
 $(gdevpxat_h) $(gdevpxen_h) $(gdevpxop_h) $(gdevpxut_h) $(gdevvec_h)\
1060
 $(srlx_h) $(strimpl_h)
1061
	$(GLCC) $(GLO_)gdevpx.$(OBJ) $(C_) $(GLSRC)gdevpx.c
1062
 
1063
###### --------------------- Raster file formats --------------------- ######
1064
 
1065
### --------------------- The "plain bits" devices ---------------------- ###
1066
 
1067
# This device also exercises the driver CRD facilities, which is why it
1068
# needs some additional files.
1069
 
1070
bit_=$(GLOBJ)gdevbit.$(OBJ) $(GLOBJ)gdevdcrd.$(OBJ)
1071
 
1072
$(DD)bit.dev : $(DEVS_MAK) $(bit_) $(GLD)page.dev $(GLD)cielib.dev
1073
	$(SETPDEV2) $(DD)bit $(bit_)
1074
	$(ADDMOD) $(DD)bit -include $(GLD)cielib
1075
 
1076
$(DD)bitrgb.dev : $(DEVS_MAK) $(bit_) $(GLD)page.dev $(GLD)cielib.dev
1077
	$(SETPDEV2) $(DD)bitrgb $(bit_)
1078
	$(ADDMOD) $(DD)bitrgb -include $(GLD)cielib
1079
 
1080
$(DD)bitcmyk.dev : $(DEVS_MAK) $(bit_) $(GLD)page.dev $(GLD)cielib.dev
1081
	$(SETPDEV2) $(DD)bitcmyk $(bit_)
1082
	$(ADDMOD) $(DD)bitcmyk -include $(GLD)cielib
1083
 
1084
$(DD)bitrgbtags.dev : $(DEVS_MAK) $(bit_) $(GLD)page.dev $(GLD)cielib.dev
1085
	$(SETPDEV2) $(DD)bitrgbtags $(bit_)
1086
	$(ADDMOD) $(DD)bitrgbtags -include $(GLD)cielib
1087
 
1088
$(GLOBJ)gdevbit.$(OBJ) : $(GLSRC)gdevbit.c $(PDEVH) $(math__h)\
1089
 $(gdevdcrd_h) $(gscrd_h) $(gscrdp_h) $(gsparam_h) $(gxlum_h)
1090
	$(GLCC) $(GLO_)gdevbit.$(OBJ) $(C_) $(GLSRC)gdevbit.c
1091
 
1092
### ------------------------- .BMP file formats ------------------------- ###
1093
 
1094
gdevbmp_h=$(GLSRC)gdevbmp.h
1095
 
1096
bmp_=$(GLOBJ)gdevbmp.$(OBJ) $(GLOBJ)gdevbmpc.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ)
1097
 
1098
$(GLOBJ)gdevbmp.$(OBJ) : $(GLSRC)gdevbmp.c $(PDEVH) $(gdevbmp_h) $(gdevpccm_h)
1099
	$(GLCC) $(GLO_)gdevbmp.$(OBJ) $(C_) $(GLSRC)gdevbmp.c
1100
 
1101
$(GLOBJ)gdevbmpc.$(OBJ) : $(GLSRC)gdevbmpc.c $(PDEVH) $(gdevbmp_h)
1102
	$(GLCC) $(GLO_)gdevbmpc.$(OBJ) $(C_) $(GLSRC)gdevbmpc.c
1103
 
1104
$(DD)bmpmono.dev : $(DEVS_MAK) $(bmp_) $(GLD)page.dev
1105
	$(SETPDEV2) $(DD)bmpmono $(bmp_)
1106
 
1107
$(DD)bmpgray.dev : $(DEVS_MAK) $(bmp_) $(GLD)page.dev
1108
	$(SETPDEV2) $(DD)bmpgray $(bmp_)
1109
 
1110
$(DD)bmpsep1.dev : $(DEVS_MAK) $(bmp_) $(GLD)page.dev
1111
	$(SETPDEV2) $(DD)bmpsep1 $(bmp_)
1112
 
1113
$(DD)bmpsep8.dev : $(DEVS_MAK) $(bmp_) $(GLD)page.dev
1114
	$(SETPDEV2) $(DD)bmpsep8 $(bmp_)
1115
 
1116
$(DD)bmp16.dev : $(DEVS_MAK) $(bmp_) $(GLD)page.dev
1117
	$(SETPDEV2) $(DD)bmp16 $(bmp_)
1118
 
1119
$(DD)bmp256.dev : $(DEVS_MAK) $(bmp_) $(GLD)page.dev
1120
	$(SETPDEV2) $(DD)bmp256 $(bmp_)
1121
 
1122
$(DD)bmp16m.dev : $(DEVS_MAK) $(bmp_) $(GLD)page.dev
1123
	$(SETPDEV2) $(DD)bmp16m $(bmp_)
1124
 
1125
$(DD)bmp32b.dev : $(DEVS_MAK) $(bmp_) $(GLD)page.dev
1126
	$(SETPDEV2) $(DD)bmp32b $(bmp_)
1127
 
1128
### ------------- BMP driver that serves as demo of async rendering ---- ###
1129
 
1130
bmpa_=$(GLOBJ)gdevbmpa.$(OBJ) $(GLOBJ)gdevbmpc.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(GLOBJ)gdevppla.$(OBJ)
1131
 
1132
$(GLOBJ)gdevbmpa.$(OBJ) : $(GLSRC)gdevbmpa.c $(AK) $(stdio__h)\
1133
 $(gdevbmp_h) $(gdevprna_h) $(gdevpccm_h) $(gdevppla_h)\
1134
 $(gserrors_h) $(gpsync_h)
1135
	$(GLCC) $(GLO_)gdevbmpa.$(OBJ) $(C_) $(GLSRC)gdevbmpa.c
1136
 
1137
$(DD)bmpamono.dev : $(DEVS_MAK) $(bmpa_) $(GLD)page.dev $(GLD)async.dev
1138
	$(SETPDEV2) $(DD)bmpamono $(bmpa_)
1139
	$(ADDMOD) $(DD)bmpamono -include $(GLD)async
1140
 
1141
$(DD)bmpasep1.dev : $(DEVS_MAK) $(bmpa_) $(GLD)page.dev $(GLD)async.dev
1142
	$(SETPDEV2) $(DD)bmpasep1 $(bmpa_)
1143
	$(ADDMOD) $(DD)bmpasep1 -include $(GLD)async
1144
 
1145
$(DD)bmpasep8.dev : $(DEVS_MAK) $(bmpa_) $(GLD)page.dev $(GLD)async.dev
1146
	$(SETPDEV2) $(DD)bmpasep8 $(bmpa_)
1147
	$(ADDMOD) $(DD)bmpasep8 -include $(GLD)async
1148
 
1149
$(DD)bmpa16.dev : $(DEVS_MAK) $(bmpa_) $(GLD)page.dev $(GLD)async.dev
1150
	$(SETPDEV2) $(DD)bmpa16 $(bmpa_)
1151
	$(ADDMOD) $(DD)bmpa16 -include $(GLD)async
1152
 
1153
$(DD)bmpa256.dev : $(DEVS_MAK) $(bmpa_) $(GLD)page.dev $(GLD)async.dev
1154
	$(SETPDEV2) $(DD)bmpa256 $(bmpa_)
1155
	$(ADDMOD) $(DD)bmpa256 -include $(GLD)async
1156
 
1157
$(DD)bmpa16m.dev : $(DEVS_MAK) $(bmpa_) $(GLD)page.dev $(GLD)async.dev
1158
	$(SETPDEV2) $(DD)bmpa16m $(bmpa_)
1159
	$(ADDMOD) $(DD)bmpa16m -include $(GLD)async
1160
 
1161
$(DD)bmpa32b.dev : $(DEVS_MAK) $(bmpa_) $(GLD)page.dev $(GLD)async.dev
1162
	$(SETPDEV2) $(DD)bmpa32b $(bmpa_)
1163
	$(ADDMOD) $(DD)bmpa32b -include $(GLD)async
1164
 
1165
### -------------------------- CGM file format ------------------------- ###
1166
### This driver is under development.  Use at your own risk.             ###
1167
### The output is very low-level, consisting only of rectangles and      ###
1168
### cell arrays.                                                         ###
1169
 
1170
cgm_=$(GLOBJ)gdevcgm.$(OBJ) $(GLOBJ)gdevcgml.$(OBJ)
1171
 
1172
gdevcgml_h=$(GLSRC)gdevcgml.h
1173
gdevcgmx_h=$(GLSRC)gdevcgmx.h $(gdevcgml_h)
1174
 
1175
$(GLOBJ)gdevcgm.$(OBJ) : $(GLSRC)gdevcgm.c $(GDEV) $(memory__h)\
1176
 $(gp_h) $(gsparam_h) $(gdevpccm_h) $(gdevcgml_h)
1177
	$(GLCC) $(GLO_)gdevcgm.$(OBJ) $(C_) $(GLSRC)gdevcgm.c
1178
 
1179
$(GLOBJ)gdevcgml.$(OBJ) : $(GLSRC)gdevcgml.c $(memory__h) $(stdio__h)\
1180
 $(gdevcgmx_h)
1181
	$(GLCC) $(GLO_)gdevcgml.$(OBJ) $(C_) $(GLSRC)gdevcgml.c
1182
 
1183
$(DD)cgmmono.dev : $(DEVS_MAK) $(cgm_)
1184
	$(SETDEV) $(DD)cgmmono $(cgm_)
1185
 
1186
$(DD)cgm8.dev : $(DEVS_MAK) $(cgm_)
1187
	$(SETDEV) $(DD)cgm8 $(cgm_)
1188
 
1189
$(DD)cgm24.dev : $(DEVS_MAK) $(cgm_)
1190
	$(SETDEV) $(DD)cgm24 $(cgm_)
1191
 
1192
### ------------------------ The DeviceN device ------------------------ ###
1193
 
1194
devn_=$(GLOBJ)gdevdevn.$(OBJ)
1195
 
1196
$(DD)spotcmyk.dev : $(DEVS_MAK) $(devn_) $(GLD)page.dev
1197
	$(SETDEV) $(DD)spotcmyk $(devn_)
1198
 
1199
$(DD)devicen.dev : $(DEVS_MAK) $(devn_) $(GLD)page.dev
1200
	$(SETDEV) $(DD)devicen $(devn_)
1201
 
1202
$(GLOBJ)gdevdevn.$(OBJ) : $(GLSRC)gdevdevn.c $(PDEVH) $(math__h) $(string__h)\
1203
 $(gdevprn_h) $(gsparam_h) $(gscrd_h) $(gscrdp_h) $(gxlum_h) $(gdevdcrd_h)\
1204
 $(gstypes_h) $(gxdcconv_h) $(gdevdevn_h) $(gsequivc_h)
1205
	$(GLCC) $(GLO_)gdevdevn.$(OBJ) $(C_) $(GLSRC)gdevdevn.c
1206
 
1207
### --------------------------- The XCF device ------------------------- ###
1208
 
1209
xcf_=$(GLOBJ)gdevxcf.$(OBJ)
1210
 
1211
$(DD)xcf.dev : $(DEVS_MAK) $(xcf_) $(GLD)page.dev
1212
	$(SETDEV) $(DD)xcf $(xcf_)
1213
 
1214
$(DD)xcfcmyk.dev : $(DEVS_MAK) $(xcf_) $(GLD)page.dev
1215
	$(SETDEV) $(DD)xcfcmyk $(xcf_)
1216
 
1217
$(GLOBJ)gdevxcf.$(OBJ) : $(GLSRC)gdevxcf.c $(PDEVH) $(math__h)\
1218
 $(gdevdcrd_h) $(gscrd_h) $(gscrdp_h) $(gsparam_h) $(gxlum_h) $(icc_h)\
1219
 $(gxdcconv_h)
1220
	$(GLICCCC) $(GLO_)gdevxcf.$(OBJ) $(C_) $(GLSRC)gdevxcf.c
1221
 
1222
### --------------------------- The PSD device ------------------------- ###
1223
 
1224
psd_=$(GLOBJ)gdevpsd.$(OBJ) $(GLOBJ)gdevdevn.$(OBJ) $(GLOBJ)gsequivc.$(OBJ)
1225
 
1226
$(DD)psdrgb.dev : $(DEVS_MAK) $(psd_) $(GLD)page.dev
1227
	$(SETDEV) $(DD)psdrgb $(psd_)
1228
 
1229
$(DD)psdcmyk.dev : $(DEVS_MAK) $(psd_) $(GLD)page.dev
1230
	$(SETDEV) $(DD)psdcmyk $(psd_)
1231
 
1232
$(GLOBJ)gdevpsd.$(OBJ) : $(GLSRC)gdevpsd.c $(PDEVH) $(math__h)\
1233
 $(gdevdcrd_h) $(gscrd_h) $(gscrdp_h) $(gsparam_h) $(gxlum_h) $(icc_h)\
1234
 $(gstypes_h) $(gxdcconv_h) $(gdevdevn_h) $(gsequivc_h)
1235
	$(GLICCCC) $(GLO_)gdevpsd.$(OBJ) $(C_) $(GLSRC)gdevpsd.c
1236
 
1237
$(GLOBJ)gsequivc.$(OBJ) : $(GLSRC)gsequivc.c $(math__h)\
1238
 $(PDEVH) $(gsparam_h) $(gstypes_h) $(gxdconv_h) $(gdevdevn_h)\
1239
 $(gsequivc_h) $(gzstate_h) $(gsstate_h) $(gscspace_h) $(gxcspace_h)
1240
	$(GLICCCC) $(GLO_)gsequivc.$(OBJ) $(C_) $(GLSRC)gsequivc.c
1241
 
1242
### ----------------------- The permutation device --------------------- ###
1243
 
1244
perm_=$(GLOBJ)gdevperm.$(OBJ)
1245
 
1246
$(DD)perm.dev : $(DEVS_MAK) $(perm_) $(GLD)page.dev
1247
	$(SETDEV) $(DD)perm $(perm_)
1248
 
1249
$(GLOBJ)gdevperm.$(OBJ) : $(GLSRC)gdevperm.c $(PDEVH) $(math__h)\
1250
 $(gdevdcrd_h) $(gscrd_h) $(gscrdp_h) $(gsparam_h) $(gxlum_h) $(icc_h)
1251
	$(GLICCCC) $(GLO_)gdevperm.$(OBJ) $(C_) $(GLSRC)gdevperm.c
1252
 
1253
### ------------------------- JPEG file format ------------------------- ###
1254
 
1255
jpeg_=$(GLOBJ)gdevjpeg.$(OBJ)
1256
 
1257
# RGB output
1258
$(DD)jpeg.dev : $(DEVS_MAK) $(jpeg_) $(GLD)sdcte.dev $(GLD)page.dev
1259
	$(SETPDEV2) $(DD)jpeg $(jpeg_)
1260
	$(ADDMOD) $(DD)jpeg -include $(GLD)sdcte
1261
 
1262
# Gray output
1263
$(DD)jpeggray.dev : $(DEVS_MAK) $(jpeg_) $(GLD)sdcte.dev $(GLD)page.dev
1264
	$(SETPDEV2) $(DD)jpeggray $(jpeg_)
1265
	$(ADDMOD) $(DD)jpeggray -include $(GLD)sdcte
1266
 
1267
# CMYK output
1268
$(DD)jpegcmyk.dev : $(DEVS_MAK) $(jpeg_) $(GLD)sdcte.dev $(GLD)page.dev
1269
	$(SETPDEV2) $(DD)jpegcmyk $(jpeg_)
1270
	$(ADDMOD) $(DD)jpegcmyk -include $(GLD)sdcte
1271
 
1272
$(GLOBJ)gdevjpeg.$(OBJ) : $(GLSRC)gdevjpeg.c $(PDEVH)\
1273
 $(stdio__h) $(jpeglib__h)\
1274
 $(sdct_h) $(sjpeg_h) $(stream_h) $(strimpl_h)
1275
	$(GLCC) $(GLO_)gdevjpeg.$(OBJ) $(C_) $(GLSRC)gdevjpeg.c
1276
 
1277
### ------------------------- MIFF file format ------------------------- ###
1278
### Right now we support only 24-bit direct color, but we might add more ###
1279
### formats in the future.                                               ###
1280
 
1281
miff_=$(GLOBJ)gdevmiff.$(OBJ)
1282
 
1283
$(DD)miff24.dev : $(DEVS_MAK) $(miff_) $(GLD)page.dev
1284
	$(SETPDEV) $(DD)miff24 $(miff_)
1285
 
1286
$(GLOBJ)gdevmiff.$(OBJ) : $(GLSRC)gdevmiff.c $(PDEVH)
1287
	$(GLCC) $(GLO_)gdevmiff.$(OBJ) $(C_) $(GLSRC)gdevmiff.c
1288
 
1289
### ------------------------- PCX file formats ------------------------- ###
1290
 
1291
pcx_=$(GLOBJ)gdevpcx.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ)
1292
 
1293
$(GLOBJ)gdevpcx.$(OBJ) : $(GLSRC)gdevpcx.c $(PDEVH) $(gdevpccm_h) $(gxlum_h)
1294
	$(GLCC) $(GLO_)gdevpcx.$(OBJ) $(C_) $(GLSRC)gdevpcx.c
1295
 
1296
$(DD)pcxmono.dev : $(DEVS_MAK) $(pcx_) $(GLD)page.dev
1297
	$(SETPDEV2) $(DD)pcxmono $(pcx_)
1298
 
1299
$(DD)pcxgray.dev : $(DEVS_MAK) $(pcx_) $(GLD)page.dev
1300
	$(SETPDEV2) $(DD)pcxgray $(pcx_)
1301
 
1302
$(DD)pcx16.dev : $(DEVS_MAK) $(pcx_) $(GLD)page.dev
1303
	$(SETPDEV2) $(DD)pcx16 $(pcx_)
1304
 
1305
$(DD)pcx256.dev : $(DEVS_MAK) $(pcx_) $(GLD)page.dev
1306
	$(SETPDEV2) $(DD)pcx256 $(pcx_)
1307
 
1308
$(DD)pcx24b.dev : $(DEVS_MAK) $(pcx_) $(GLD)page.dev
1309
	$(SETPDEV2) $(DD)pcx24b $(pcx_)
1310
 
1311
$(DD)pcxcmyk.dev : $(DEVS_MAK) $(pcx_) $(GLD)page.dev
1312
	$(SETPDEV2) $(DD)pcxcmyk $(pcx_)
1313
 
1314
# The 2-up PCX device is here only as an example, and for testing.
1315
 
1316
$(DD)pcx2up.dev : $(DEVS_MAK) $(LIB_MAK) $(ECHOGS_XE) $(GLOBJ)gdevp2up.$(OBJ) $(GLD)page.dev $(DD)pcx256.dev
1317
	$(SETPDEV) $(DD)pcx2up $(GLOBJ)gdevp2up.$(OBJ)
1318
	$(ADDMOD) $(DD)pcx2up -include $(DD)pcx256
1319
 
1320
$(GLOBJ)gdevp2up.$(OBJ) : $(GLSRC)gdevp2up.c $(AK)\
1321
 $(gdevpccm_h) $(gdevprn_h) $(gxclpage_h)
1322
	$(GLCC) $(GLO_)gdevp2up.$(OBJ) $(C_) $(GLSRC)gdevp2up.c
1323
 
1324
### ------------------- Portable Bitmap file formats ------------------- ###
1325
### For more information, see the pam(5), pbm(5), pgm(5), and ppm(5)     ###
1326
### man pages.                                                           ###
1327
 
1328
pxm_=$(GLOBJ)gdevpbm.$(OBJ) $(GLOBJ)gdevppla.$(OBJ) $(GLOBJ)gdevmpla.$(OBJ)
1329
 
1330
$(GLOBJ)gdevpbm.$(OBJ) : $(GLSRC)gdevpbm.c $(PDEVH)\
1331
 $(gdevmpla_h) $(gdevplnx_h) $(gdevppla_h)\
1332
 $(gscdefs_h) $(gscspace_h) $(gxgetbit_h) $(gxiparam_h) $(gxlum_h)
1333
	$(GLCC) $(GLO_)gdevpbm.$(OBJ) $(C_) $(GLSRC)gdevpbm.c
1334
 
1335
### Portable Bitmap (PBM, plain or raw format, magic numbers "P1" or "P4")
1336
 
1337
$(DD)pbm.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1338
	$(SETPDEV2) $(DD)pbm $(pxm_)
1339
 
1340
$(DD)pbmraw.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1341
	$(SETPDEV2) $(DD)pbmraw $(pxm_)
1342
 
1343
### Portable Graymap (PGM, plain or raw format, magic numbers "P2" or "P5")
1344
 
1345
$(DD)pgm.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1346
	$(SETPDEV2) $(DD)pgm $(pxm_)
1347
 
1348
$(DD)pgmraw.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1349
	$(SETPDEV2) $(DD)pgmraw $(pxm_)
1350
 
1351
# PGM with automatic optimization to PBM if this is possible.
1352
 
1353
$(DD)pgnm.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1354
	$(SETPDEV2) $(DD)pgnm $(pxm_)
1355
 
1356
$(DD)pgnmraw.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1357
	$(SETPDEV2) $(DD)pgnmraw $(pxm_)
1358
 
1359
### Portable Pixmap (PPM, plain or raw format, magic numbers "P3" or "P6")
1360
 
1361
$(DD)ppm.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1362
	$(SETPDEV2) $(DD)ppm $(pxm_)
1363
 
1364
$(DD)ppmraw.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1365
	$(SETPDEV2) $(DD)ppmraw $(pxm_)
1366
 
1367
# PPM with automatic optimization to PGM or PBM if possible.
1368
 
1369
$(DD)pnm.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1370
	$(SETPDEV2) $(DD)pnm $(pxm_)
1371
 
1372
$(DD)pnmraw.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1373
	$(SETPDEV2) $(DD)pnmraw $(pxm_)
1374
 
1375
### Portable inKmap (CMYK internally, converted to PPM=RGB at output time)
1376
 
1377
$(DD)pkm.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1378
	$(SETPDEV2) $(DD)pkm $(pxm_)
1379
 
1380
$(DD)pkmraw.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1381
	$(SETPDEV2) $(DD)pkmraw $(pxm_)
1382
 
1383
### Portable Separated map (CMYK internally, produces 4 monobit pages)
1384
 
1385
$(DD)pksm.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1386
	$(SETPDEV2) $(DD)pksm $(pxm_)
1387
 
1388
$(DD)pksmraw.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1389
	$(SETPDEV2) $(DD)pksmraw $(pxm_)
1390
 
1391
### Plan 9 bitmap format
1392
 
1393
$(DD)plan9bm.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1394
	$(SETPDEV2) $(DD)plan9bm $(pxm_)
1395
 
1396
### Portable Arbitrary Map (PAM, magic number "P7", CMYK)
1397
 
1398
$(DD)pam.dev : $(DEVS_MAK) $(pxm_) $(GLD)page.dev
1399
	$(SETPDEV2) $(DD)pam $(pxm_)
1400
 
1401
### --------------- Portable Network Graphics file format --------------- ###
1402
### Requires libpng 0.81 and zlib 0.95 (or more recent versions).         ###
1403
### See libpng.mak and zlib.mak for more details.                         ###
1404
 
1405
png__h=$(GLSRC)png_.h $(MAKEFILE)
1406
 
1407
png_=$(GLOBJ)gdevpng.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ)
1408
libpng_dev=$(PNGGENDIR)$(D)libpng.dev
1409
png_i_=-include $(PNGGENDIR)$(D)libpng
1410
 
1411
$(GLOBJ)gdevpng.$(OBJ) : $(GLSRC)gdevpng.c\
1412
 $(gdevprn_h) $(gdevpccm_h) $(gscdefs_h) $(png__h)
1413
	$(CC_) $(I_)$(GLI_) $(II)$(PI_)$(_I) $(PCF_) $(GLF_) $(GLO_)gdevpng.$(OBJ) $(C_) $(GLSRC)gdevpng.c
1414
 
1415
$(DD)pngmono.dev : $(DEVS_MAK) $(libpng_dev) $(png_) $(GLD)page.dev
1416
	$(SETPDEV2) $(DD)pngmono $(png_)
1417
	$(ADDMOD) $(DD)pngmono $(png_i_)
1418
 
1419
$(DD)pnggray.dev : $(DEVS_MAK) $(libpng_dev) $(png_) $(GLD)page.dev
1420
	$(SETPDEV2) $(DD)pnggray $(png_)
1421
	$(ADDMOD) $(DD)pnggray $(png_i_)
1422
 
1423
$(DD)png16.dev : $(DEVS_MAK) $(libpng_dev) $(png_) $(GLD)page.dev
1424
	$(SETPDEV2) $(DD)png16 $(png_)
1425
	$(ADDMOD) $(DD)png16 $(png_i_)
1426
 
1427
$(DD)png256.dev : $(DEVS_MAK) $(libpng_dev) $(png_) $(GLD)page.dev
1428
	$(SETPDEV2) $(DD)png256 $(png_)
1429
	$(ADDMOD) $(DD)png256 $(png_i_)
1430
 
1431
$(DD)png16m.dev : $(DEVS_MAK) $(libpng_dev) $(png_) $(GLD)page.dev
1432
	$(SETPDEV2) $(DD)png16m $(png_)
1433
	$(ADDMOD) $(DD)png16m $(png_i_)
1434
 
1435
$(DD)png48.dev : $(DEVS_MAK) $(libpng_dev) $(png_) $(GLD)page.dev
1436
	$(SETPDEV2) $(DD)png48 $(png_)
1437
	$(ADDMOD) $(DD)png48 $(png_i_)
1438
 
1439
$(DD)pngalpha.dev : $(DEVS_MAK) $(libpng_dev) $(png_) $(GLD)page.dev
1440
	$(SETPDEV2) $(DD)pngalpha $(png_)
1441
	$(ADDMOD) $(DD)pngalpha $(png_i_)
1442
 
1443
### -------------------- PNG with transparency -------------------- ###
1444
 
1445
pnga_=$(GLOBJ)gdevpnga.$(OBJ)
1446
$(DD)pnga.dev :	$(pnga_)
1447
	$(SETDEV) $(DD)pnga $(pnga_)
1448
 
1449
$(GLOBJ)gdevpnga.$(OBJ) : $(GLSRC)gdevpnga.c $(png__h)\
1450
 $(gscdefs_h) $(gsdevice_h) $(gxblend_h) $(gxtext_h)\
1451
 $(gdevmem_h) $(gdevpccm_h) $(gdevprn_h)
1452
	$(CC_) $(I_)$(GLI_) $(II)$(PI_)$(_I) $(PCF_) $(GLF_) $(GLO_)gdevpnga.$(OBJ) $(C_) $(GLSRC)gdevpnga.c
1453
 
1454
### ---------------------- PostScript image format ---------------------- ###
1455
### These devices make it possible to print monochrome Level 2 files on a ###
1456
###   Level 1 printer, by converting them to a bitmap in PostScript       ###
1457
###   format.  They also can convert big, complex color PostScript files  ###
1458
###   to (often) smaller and more easily printed bitmaps.                 ###
1459
 
1460
psim_=$(GLOBJ)gdevpsim.$(OBJ) $(GLOBJ)gdevpsu.$(OBJ)
1461
 
1462
$(GLOBJ)gdevpsim.$(OBJ) : $(GLSRC)gdevpsim.c $(PDEVH)\
1463
 $(gdevpsu_h)\
1464
 $(sa85x_h) $(srlx_h) $(stream_h) $(strimpl_h)
1465
	$(GLCC) $(GLO_)gdevpsim.$(OBJ) $(C_) $(GLSRC)gdevpsim.c
1466
 
1467
# Monochrome, Level 1 output
1468
 
1469
$(DD)psmono.dev : $(DEVS_MAK) $(psim_) $(GLD)page.dev
1470
	$(SETPDEV2) $(DD)psmono $(psim_)
1471
 
1472
$(DD)psgray.dev : $(DEVS_MAK) $(psim_) $(GLD)page.dev
1473
	$(SETPDEV2) $(DD)psgray $(psim_)
1474
 
1475
# RGB, Level 2 output
1476
 
1477
$(DD)psrgb.dev : $(DEVS_MAK) $(psim_) $(GLD)page.dev
1478
	$(SETPDEV2) $(DD)psrgb $(psim_)
1479
 
1480
### ---------------- Fax encoding ---------------- ###
1481
 
1482
# By default, these drivers recognize 3 page sizes -- (U.S.) letter, A4, and
1483
# B4 -- and adjust the page width to the nearest legal value for real fax
1484
# systems (1728 or 2048 pixels).  To suppress this, set the device parameter
1485
# AdjustWidth to 0 (e.g., -dAdjustWidth=0 on the command line).
1486
 
1487
gdevfax_h=$(GLSRC)gdevfax.h
1488
 
1489
fax_=$(GLOBJ)gdevfax.$(OBJ)
1490
$(DD)fax.dev : $(DEVS_MAK) $(fax_) $(GLD)cfe.dev
1491
	$(SETMOD) $(DD)fax $(fax_)
1492
	$(ADDMOD) $(DD)fax -include $(GLD)cfe
1493
 
1494
$(GLOBJ)gdevfax.$(OBJ) : $(GLSRC)gdevfax.c $(PDEVH)\
1495
 $(gdevfax_h) $(scfx_h) $(strimpl_h)
1496
	$(GLCC) $(GLO_)gdevfax.$(OBJ) $(C_) $(GLSRC)gdevfax.c
1497
 
1498
$(DD)faxg3.dev : $(DEVS_MAK) $(DD)fax.dev
1499
	$(SETDEV2) $(DD)faxg3 -include $(DD)fax
1500
 
1501
$(DD)faxg32d.dev : $(DEVS_MAK) $(DD)fax.dev
1502
	$(SETDEV2) $(DD)faxg32d -include $(DD)fax
1503
 
1504
$(DD)faxg4.dev : $(DEVS_MAK) $(DD)fax.dev
1505
	$(SETDEV2) $(DD)faxg4 -include $(DD)fax
1506
 
1507
### -------------------- Plain or TIFF fax encoding --------------------- ###
1508
###    Use -sDEVICE=tiffg3 or tiffg4 and				  ###
1509
###	  -r204x98 for low resolution output, or			  ###
1510
###	  -r204x196 for high resolution output				  ###
1511
 
1512
gdevtifs_h=$(GLSRC)gdevtifs.h
1513
gdevtfax_h=$(GLSRC)gdevtfax.h
1514
 
1515
tfax_=$(GLOBJ)gdevtfax.$(OBJ)
1516
$(DD)tfax.dev : $(DEVS_MAK) $(tfax_) $(GLD)cfe.dev $(GLD)lzwe.dev $(GLD)rle.dev $(DD)fax.dev $(DD)tiffs.dev
1517
	$(SETMOD) $(DD)tfax $(tfax_)
1518
	$(ADDMOD) $(DD)tfax -include $(GLD)cfe $(GLD)lzwe $(GLD)rle
1519
	$(ADDMOD) $(DD)tfax -include $(DD)fax $(DD)tiffs
1520
 
1521
$(GLOBJ)gdevtfax.$(OBJ) : $(GLSRC)gdevtfax.c $(PDEVH)\
1522
 $(gdevfax_h) $(gdevtfax_h) $(gdevtifs_h)\
1523
 $(scfx_h) $(slzwx_h) $(srlx_h) $(strimpl_h)
1524
	$(GLCC) $(GLO_)gdevtfax.$(OBJ) $(C_) $(GLSRC)gdevtfax.c
1525
 
1526
### ---------------------------- TIFF formats --------------------------- ###
1527
 
1528
tiffs_=$(GLOBJ)gdevtifs.$(OBJ)
1529
$(DD)tiffs.dev : $(DEVS_MAK) $(tiffs_) $(GLD)page.dev
1530
	$(SETMOD) $(DD)tiffs $(tiffs_)
1531
	$(ADDMOD) $(DD)tiffs -include $(GLD)page
1532
 
1533
$(GLOBJ)gdevtifs.$(OBJ) : $(GLSRC)gdevtifs.c $(PDEVH) $(stdio__h) $(time__h)\
1534
 $(gdevtifs_h) $(gscdefs_h) $(gstypes_h)
1535
	$(GLCC) $(GLO_)gdevtifs.$(OBJ) $(C_) $(GLSRC)gdevtifs.c
1536
 
1537
# Black & white, G3/G4 fax
1538
# NOTE: see under faxg* above regarding page width adjustment.
1539
 
1540
$(DD)tiffcrle.dev : $(DEVS_MAK) $(DD)tfax.dev
1541
	$(SETDEV2) $(DD)tiffcrle -include $(DD)tfax
1542
 
1543
$(DD)tiffg3.dev : $(DEVS_MAK) $(DD)tfax.dev
1544
	$(SETDEV2) $(DD)tiffg3 -include $(DD)tfax
1545
 
1546
$(DD)tiffg32d.dev : $(DEVS_MAK) $(DD)tfax.dev
1547
	$(SETDEV2) $(DD)tiffg32d -include $(DD)tfax
1548
 
1549
$(DD)tiffg4.dev : $(DEVS_MAK) $(DD)tfax.dev
1550
	$(SETDEV2) $(DD)tiffg4 -include $(DD)tfax
1551
 
1552
# Black & white, LZW compression
1553
 
1554
$(DD)tifflzw.dev : $(DEVS_MAK) $(DD)tfax.dev
1555
	$(SETDEV2) $(DD)tifflzw -include $(DD)tfax
1556
 
1557
# Black & white, PackBits compression
1558
 
1559
$(DD)tiffpack.dev : $(DEVS_MAK) $(DD)tfax.dev
1560
	$(SETDEV2) $(DD)tiffpack -include $(DD)tfax
1561
 
1562
# TIFF Gray, no compression
1563
 
1564
tiffgray_=$(GLOBJ)gdevtsep.$(OBJ)
1565
 
1566
$(DD)tiffgray.dev : $(DEVS_MAK) $(tiffgray_) $(DD)tiffs.dev
1567
	$(SETPDEV2) $(DD)tiffgray $(tiffgray_)
1568
	$(ADDMOD) $(DD)tiffgray -include $(DD)tiffs
1569
 
1570
$(GLOBJ)gdevtsep.$(OBJ) : $(GLSRC)gdevtsep.c $(PDEVH) $(gdevtifs_h)\
1571
	$(gdevdevn_h) $(gsequivc_h)
1572
	$(GLCC) $(GLO_)gdevtsep.$(OBJ) $(C_) $(GLSRC)gdevtsep.c
1573
 
1574
# TIFF RGB, no compression
1575
 
1576
tiffrgb_=$(GLOBJ)gdevtfnx.$(OBJ)
1577
 
1578
$(DD)tiff12nc.dev : $(DEVS_MAK) $(tiffrgb_) $(DD)tiffs.dev
1579
	$(SETPDEV2) $(DD)tiff12nc $(tiffrgb_)
1580
	$(ADDMOD) $(DD)tiff12nc -include $(DD)tiffs
1581
 
1582
$(DD)tiff24nc.dev : $(DEVS_MAK) $(tiffrgb_) $(DD)tiffs.dev
1583
	$(SETPDEV2) $(DD)tiff24nc $(tiffrgb_)
1584
	$(ADDMOD) $(DD)tiff24nc -include $(DD)tiffs
1585
 
1586
$(GLOBJ)gdevtfnx.$(OBJ) : $(GLSRC)gdevtfnx.c $(PDEVH) $(gdevtifs_h)
1587
	$(GLCC) $(GLO_)gdevtfnx.$(OBJ) $(C_) $(GLSRC)gdevtfnx.c
1588
 
1589
# TIFF CMYK, no compression
1590
 
1591
$(DD)tiff32nc.dev : $(DEVS_MAK) $(tiffgray_) $(DD)tiffs.dev
1592
	$(SETPDEV2) $(DD)tiff32nc $(tiffgray_)
1593
	$(ADDMOD) $(DD)tiff32nc -include $(DD)tiffs
1594
#
1595
# Create separation files (tiffgray) plus CMYK composite (tiff32nc)
1596
 
1597
tiffsep_=$(tiffgray_) $(GLOBJ)gdevdevn.$(OBJ) $(GLOBJ)gsequivc.$(OBJ)
1598
 
1599
$(DD)tiffsep.dev : $(DEVS_MAK) $(tiffgray_) $(DD)tiffs.dev
1600
	$(SETPDEV2) $(DD)tiffsep $(tiffsep_)
1601
	$(ADDMOD) $(DD)tiffsep -include $(DD)tiffs
1602