xref: /plan9/sys/src/cmd/gs/src/lib.mak (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1#    Copyright (C) 1995-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: lib.mak,v 1.211 2005/08/24 19:02:22 giles Exp $
17# (Platform-independent) makefile for Ghostscript graphics library
18# and other support code.
19# Users of this makefile must define the following:
20#	GLSRCDIR - the source directory
21#	GLGENDIR - the directory for source files generated during building
22#	GLOBJDIR - the object code directory
23
24GLSRC=$(GLSRCDIR)$(D)
25GLGEN=$(GLGENDIR)$(D)
26GLOBJ=$(GLOBJDIR)$(D)
27GLO_=$(O_)$(GLOBJ)
28GLI_=$(GLGENDIR) $(II)$(GLSRCDIR)
29GLF_=
30GLCCFLAGS=$(I_)$(GLI_)$(_I) $(GLF_)
31GLCC=$(CC_) $(GLCCFLAGS)
32GLICCCC=$(CC_) $(I_)$(GLI_) $(II)$(ICCI_)$(_I) $(ICCCF_) $(GLF_)
33GLJCC=$(CC_) $(I_)$(GLI_) $(II)$(JI_)$(_I) $(JCF_) $(GLF_)
34GLZCC=$(CC_) $(I_)$(GLI_) $(II)$(ZI_)$(_I) $(ZCF_) $(GLF_)
35GLJBIG2CC=$(CC_) $(I_)$(GLI_) $(II)$(JB2I_)$(_I) $(JB2CF_) $(GLF_)
36# All top-level makefiles define GLD.
37#GLD=$(GLGEN)
38
39# Define the name of this makefile.
40LIB_MAK=$(GLSRC)lib.mak
41
42# Define the inter-dependencies of the .h files.
43# Since not all versions of `make' defer expansion of macros,
44# we must list these in bottom-to-top order.
45
46# Generic files
47
48arch_h=$(GLGEN)arch.h
49stdpn_h=$(GLSRC)stdpn.h
50stdpre_h=$(GLSRC)stdpre.h $(stdpn_h)
51std_h=$(GLSRC)std.h $(arch_h) $(stdpre_h)
52
53$(GLGEN)arch.h : $(GENARCH_XE)
54	$(EXP)$(GENARCH_XE) $(GLGEN)arch.h
55
56# Platform interfaces
57
58# gp.h requires gstypes.h and srdline.h.
59gstypes_h=$(GLSRC)gstypes.h
60srdline_h=$(GLSRC)srdline.h
61gpgetenv_h=$(GLSRC)gpgetenv.h
62gpmisc_h=$(GLSRC)gpmisc.h
63gp_h=$(GLSRC)gp.h $(gpgetenv_h) $(gstypes_h) $(srdline_h)
64gpcheck_h=$(GLSRC)gpcheck.h
65gpsync_h=$(GLSRC)gpsync.h
66
67# Configuration definitions
68
69gconf_h=$(GLSRC)gconf.h $(gconfig_h)
70# gconfig*.h are generated dynamically.
71gconfig__h=$(GLGEN)gconfig_.h
72gconfigv_h=$(GLGEN)gconfigv.h
73gscdefs_h=$(GLSRC)gscdefs.h $(gconfigv_h)
74
75# C library interfaces
76
77# Because of variations in the "standard" header files between systems, and
78# because we must include std.h before any file that includes sys/types.h,
79# we define local include files named *_.h to substitute for <*.h>.
80
81vmsmath_h=$(GLSRC)vmsmath.h
82
83dos__h=$(GLSRC)dos_.h
84ctype__h=$(GLSRC)ctype_.h $(std_h)
85dirent__h=$(GLSRC)dirent_.h $(std_h) $(gconfig__h)
86errno__h=$(GLSRC)errno_.h $(std_h)
87fcntl__h=$(GLSRC)fcntl_.h $(std_h)
88malloc__h=$(GLSRC)malloc_.h $(std_h)
89math__h=$(GLSRC)math_.h $(std_h) $(vmsmath_h)
90memory__h=$(GLSRC)memory_.h $(std_h)
91stat__h=$(GLSRC)stat_.h $(std_h)
92stdint__h=$(GLSRC)stdint_.h $(std_h)
93stdio__h=$(GLSRC)stdio_.h $(std_h)
94string__h=$(GLSRC)string_.h $(std_h)
95time__h=$(GLSRC)time_.h $(std_h) $(gconfig__h)
96unistd__h=$(GLSRC)unistd_.h $(std_h)
97windows__h=$(GLSRC)windows_.h
98# Out of order
99pipe__h=$(GLSRC)pipe_.h $(stdio__h)
100
101# Third-party library interfaces
102
103jerror__h=$(GLSRC)jerror_.h $(MAKEFILE)
104jpeglib__h=$(GLGEN)jpeglib_.h
105
106# Miscellaneous
107
108gsio_h=$(GLSRC)gsio.h
109gxstdio_h=$(GLSRC)gxstdio.h $(gsio_h)
110gs_dll_call_h=$(GLSRC)gs_dll_call.h
111gslibctx_h=$(GLSRC)gslibctx.h $(std_h) $(stdio__h) $(gs_dll_call_h)
112gdebug_h=$(GLSRC)gdebug.h
113gsalloc_h=$(GLSRC)gsalloc.h
114gsargs_h=$(GLSRC)gsargs.h
115gserror_h=$(GLSRC)gserror.h
116gserrors_h=$(GLSRC)gserrors.h
117gsexit_h=$(GLSRC)gsexit.h
118gsgc_h=$(GLSRC)gsgc.h
119gsmalloc_h=$(GLSRC)gsmalloc.h
120gsmdebug_h=$(GLSRC)gsmdebug.h
121gsmemraw_h=$(GLSRC)gsmemraw.h
122gsmemory_h=$(GLSRC)gsmemory.h $(gsmemraw_h) $(gstypes_h) $(gslibctx_h)
123gsmemret_h=$(GLSRC)gsmemret.h $(gsmemory_h)
124gsnogc_h=$(GLSRC)gsnogc.h $(gsgc_h)
125gsrefct_h=$(GLSRC)gsrefct.h
126gsserial_h=$(GLSRC)gsserial.h
127gsstype_h=$(GLSRC)gsstype.h
128gx_h=$(GLSRC)gx.h $(stdio__h) $(gdebug_h)\
129 $(gserror_h) $(gsio_h) $(gsmemory_h) $(gstypes_h)
130gxsync_h=$(GLSRC)gxsync.h $(gpsync_h) $(gsmemory_h)
131# Out of order
132gsmemlok_h=$(GLSRC)gsmemlok.h $(gsmemory_h) $(gxsync_h)
133gsnotify_h=$(GLSRC)gsnotify.h $(gsstype_h)
134gsstruct_h=$(GLSRC)gsstruct.h $(gsstype_h)
135vdtrace_h=$(GLSRC)vdtrace.h
136
137GX=$(AK) $(gx_h)
138GXERR=$(GX) $(gserrors_h)
139
140###### Support
141
142### Include files
143
144gsbitmap_h=$(GLSRC)gsbitmap.h $(gsstype_h)
145gsbitops_h=$(GLSRC)gsbitops.h
146gsbittab_h=$(GLSRC)gsbittab.h
147gsflip_h=$(GLSRC)gsflip.h
148gsuid_h=$(GLSRC)gsuid.h
149gsutil_h=$(GLSRC)gsutil.h
150gxarith_h=$(GLSRC)gxarith.h
151gxbitmap_h=$(GLSRC)gxbitmap.h $(gsbitmap_h) $(gstypes_h)
152gxfarith_h=$(GLSRC)gxfarith.h $(gconfigv_h) $(gxarith_h)
153gxfixed_h=$(GLSRC)gxfixed.h
154gxobj_h=$(GLSRC)gxobj.h $(gxbitmap_h)
155gxrplane_h=$(GLSRC)gxrplane.h
156# Out of order
157gsrect_h=$(GLSRC)gsrect.h $(gxfixed_h)
158gxalloc_h=$(GLSRC)gxalloc.h $(gsalloc_h) $(gxobj_h)
159gxbitops_h=$(GLSRC)gxbitops.h $(gsbitops_h)
160gxcindex_h=$(GLSRC)gxcindex.h $(gsbitops_h)
161
162# Streams
163scommon_h=$(GLSRC)scommon.h $(gsmemory_h) $(gstypes_h) $(gsstype_h)
164stream_h=$(GLSRC)stream.h $(scommon_h) $(srdline_h)
165
166### Memory manager
167
168$(GLOBJ)gsalloc.$(OBJ) : $(GLSRC)gsalloc.c $(GXERR) $(memory__h) $(string__h)\
169 $(gsexit_h) $(gsmdebug_h) $(gsstruct_h) $(gxalloc_h)\
170 $(stream_h)
171	$(GLCC) $(GLO_)gsalloc.$(OBJ) $(C_) $(GLSRC)gsalloc.c
172
173$(GLOBJ)gsmalloc.$(OBJ) : $(GLSRC)gsmalloc.c $(malloc__h)\
174 $(gdebug_h)\
175 $(gserror_h) $(gserrors_h)\
176 $(gsmalloc_h) $(gsmdebug_h) $(gsmemlok_h) $(gsmemret_h)\
177 $(gsmemory_h) $(gsstruct_h) $(gstypes_h)
178	$(GLCC) $(GLO_)gsmalloc.$(OBJ) $(C_) $(GLSRC)gsmalloc.c
179
180$(GLOBJ)gsmemory.$(OBJ) : $(GLSRC)gsmemory.c $(memory__h)\
181 $(gdebug_h)\
182 $(gsmdebug_h) $(gsmemory_h) $(gsrefct_h) $(gsstruct_h) $(gstypes_h)
183	$(GLCC) $(GLO_)gsmemory.$(OBJ) $(C_) $(GLSRC)gsmemory.c
184
185$(GLOBJ)gsmemret.$(OBJ) : $(GLSRC)gsmemret.c $(GXERR) $(gsmemret_h)
186	$(GLCC) $(GLO_)gsmemret.$(OBJ) $(C_) $(GLSRC)gsmemret.c
187
188# gsnogc is not part of the base configuration.
189# We make it available as a .dev so it can be used in configurations that
190# don't include the garbage collector, as well as by the "async" logic.
191gsnogc_=$(GLOBJ)gsnogc.$(OBJ)
192$(GLD)gsnogc.dev : $(LIB_MAK) $(ECHOGS_XE) $(gsnogc_)
193	$(SETMOD) $(GLD)gsnogc $(gsnogc_)
194
195$(GLOBJ)gsnogc.$(OBJ) : $(GLSRC)gsnogc.c $(GX)\
196 $(gsmdebug_h) $(gsnogc_h) $(gsstruct_h) $(gxalloc_h)
197	$(GLCC) $(GLO_)gsnogc.$(OBJ) $(C_) $(GLSRC)gsnogc.c
198
199### Bitmap processing
200
201$(GLOBJ)gsbitcom.$(OBJ) : $(GLSRC)gsbitcom.c $(AK) $(std_h)\
202 $(gdebug_h) $(gsbitops_h) $(gstypes_h)
203	$(GLCC) $(GLO_)gsbitcom.$(OBJ) $(C_) $(GLSRC)gsbitcom.c
204
205$(GLOBJ)gsbitops.$(OBJ) : $(GLSRC)gsbitops.c $(AK) $(memory__h) $(stdio__h)\
206 $(gdebug_h) $(gsbittab_h) $(gserror_h) $(gserrors_h) $(gstypes_h)\
207 $(gxbitops_h) $(gxcindex_h)
208	$(GLCC) $(GLO_)gsbitops.$(OBJ) $(C_) $(GLSRC)gsbitops.c
209
210$(GLOBJ)gsbittab.$(OBJ) : $(GLSRC)gsbittab.c $(AK) $(stdpre_h) $(gsbittab_h)
211	$(GLCC) $(GLO_)gsbittab.$(OBJ) $(C_) $(GLSRC)gsbittab.c
212
213# gsflip is not part of the standard configuration: it's rather large,
214# and no standard facility requires it.
215$(GLOBJ)gsflip.$(OBJ) : $(GLSRC)gsflip.c $(GXERR)\
216 $(gsbitops_h) $(gsbittab_h) $(gsflip_h)
217	$(GLCC) $(GLO_)gsflip.$(OBJ) $(C_) $(GLSRC)gsflip.c
218
219### Multi-threading
220
221# These are required in the standard configuration, because gsmalloc.c
222# needs them even if the underlying primitives are dummies.
223
224$(GLOBJ)gsmemlok.$(OBJ) : $(GLSRC)gsmemlok.c $(GXERR) $(gsmemlok_h)
225	$(GLCC) $(GLO_)gsmemlok.$(OBJ) $(C_) $(GLSRC)gsmemlok.c
226
227$(GLOBJ)gxsync.$(OBJ) : $(GLSRC)gxsync.c $(GXERR) $(memory__h)\
228 $(gsmemory_h) $(gxsync_h)
229	$(GLCC) $(GLO_)gxsync.$(OBJ) $(C_) $(GLSRC)gxsync.c
230
231### Miscellaneous
232
233# Support for platform code
234$(GLOBJ)gpmisc.$(OBJ) : $(GLSRC)gpmisc.c\
235 $(unistd__h) $(fcntl__h) $(stat__h) $(stdio__h)\
236 $(memory__h) $(string__h) $(gp_h) $(gpgetenv_h) $(gpmisc_h)
237	$(GLCC) $(GLO_)gpmisc.$(OBJ) $(C_) $(GLSRC)gpmisc.c
238
239# Command line argument list management
240$(GLOBJ)gsargs.$(OBJ) : $(GLSRC)gsargs.c\
241 $(ctype__h) $(stdio__h) $(string__h)\
242 $(gsargs_h) $(gsexit_h) $(gsmemory_h)\
243 $(gserrors_h)
244	$(GLCC) $(GLO_)gsargs.$(OBJ) $(C_) $(GLSRC)gsargs.c
245
246# FPU emulation
247# gsfemu is only used in FPU-less configurations, and currently only with gcc.
248$(GLOBJ)gsfemu.$(OBJ) : $(GLSRC)gsfemu.c $(AK) $(std_h)
249	$(GLCC) $(GLO_)gsfemu.$(OBJ) $(C_) $(GLSRC)gsfemu.c
250
251$(GLOBJ)gsmisc.$(OBJ) : $(GLSRC)gsmisc.c $(GXERR)\
252 $(gconfigv_h) $(std_h) $(vmsmath_h)\
253 $(ctype__h) $(malloc__h) $(math__h) $(memory__h) $(string__h)\
254 $(gpcheck_h) $(gserror_h) $(gxfarith_h) $(gxfixed_h)
255	$(GLCC) $(GLO_)gsmisc.$(OBJ) $(C_) $(GLSRC)gsmisc.c
256
257$(GLOBJ)gslibctx.$(OBJ) : $(GLSRC)gslibctx.c  $(GXERR)\
258  $(gslibctx_h) $(stdio__h)
259	$(GLCC) $(GLO_)gslibctx.$(OBJ) $(C_) $(GLSRC)gslibctx.c
260
261$(GLOBJ)gsnotify.$(OBJ) : $(GLSRC)gsnotify.c $(GXERR)\
262 $(gsnotify_h) $(gsstruct_h)
263	$(GLCC) $(GLO_)gsnotify.$(OBJ) $(C_) $(GLSRC)gsnotify.c
264
265$(GLOBJ)gsserial.$(OBJ) : $(GLSRC)gsserial.c $(stdpre_h) $(gstypes_h)\
266 $(gsserial_h)
267	$(GLCC) $(GLO_)gsserial.$(OBJ) $(C_) $(GLSRC)gsserial.c
268
269$(GLOBJ)gsutil.$(OBJ) : $(GLSRC)gsutil.c $(AK) $(memory__h) $(string__h)\
270 $(gconfigv_h)\
271 $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsrect_h) $(gstypes_h)\
272 $(gsuid_h) $(gsutil_h)
273	$(GLCC) $(GLO_)gsutil.$(OBJ) $(C_) $(GLSRC)gsutil.c
274
275# MD5 digest
276md5_h=$(GLSRC)md5.h
277# We have to use a slightly different compilation approach in order to
278# get std.h included when compiling md5.c.
279md5_=$(GLOBJ)md5.$(OBJ)
280$(GLOBJ)md5.$(OBJ) : $(GLSRC)md5.c $(AK) $(memory__h) $(md5_h)
281	$(EXP)$(ECHOGS_XE) -w $(GLGEN)md5.h -x 23 include -x 2022 memory_.h -x 22
282	$(EXP)$(ECHOGS_XE) -a $(GLGEN)md5.h -+R $(GLSRC)md5.h
283	$(CP_) $(GLSRC)md5.c $(GLGEN)md5.c
284	$(GLCC) $(GLO_)md5.$(OBJ) $(C_) $(GLGEN)md5.c
285	$(RM_) $(GLGEN)md5.c $(GLGEN)md5.h
286
287# Visual Debugging
288$(GLOBJ)vdtrace.$(OBJ) : $(GLSRC)vdtrace.c $(math__h)\
289 $(gxfixed_h) $(vdtrace_h)
290	$(GLCC) $(GLO_)vdtrace.$(OBJ) $(C_) $(GLSRC)vdtrace.c
291
292###### Low-level facilities and utilities
293
294### Include files
295
296gsalpha_h=$(GLSRC)gsalpha.h
297gsccode_h=$(GLSRC)gsccode.h
298gsccolor_h=$(GLSRC)gsccolor.h $(gsstype_h)
299# gscedata.[ch] are generated automatically by lib/encs2c.ps.
300gscedata_h=$(GLSRC)gscedata.h
301gscencs_h=$(GLSRC)gscencs.h $(stdpre_h) $(gstypes_h) $(gsccode_h)
302gsclipsr_h=$(GLSRC)gsclipsr.h
303gscsel_h=$(GLSRC)gscsel.h
304gscolor1_h=$(GLSRC)gscolor1.h
305gscompt_h=$(GLSRC)gscompt.h
306gscoord_h=$(GLSRC)gscoord.h
307gscpm_h=$(GLSRC)gscpm.h
308gscsepnm_h=$(GLSRC)gscsepnm.h
309gsdevice_h=$(GLSRC)gsdevice.h
310gsdfilt_h=$(GLSRC)gsdfilt.h
311gsfcmap_h=$(GLSRC)gsfcmap.h $(gsccode_h)
312gsfname_h=$(GLSRC)gsfname.h
313gsfont_h=$(GLSRC)gsfont.h
314gsgdata_h=$(GLSRC)gsgdata.h $(gsstype_h)
315gsgcache_h=$(GLSRC)gsgcache.h
316gshsb_h=$(GLSRC)gshsb.h
317gsht_h=$(GLSRC)gsht.h
318gsht1_h=$(GLSRC)gsht1.h $(gsht_h)
319gswts_h=$(GLSRC)gswts.h
320gsjconf_h=$(GLSRC)gsjconf.h $(arch_h) $(stdpre_h)
321gslib_h=$(GLSRC)gslib.h
322gslparam_h=$(GLSRC)gslparam.h
323gsmatrix_h=$(GLSRC)gsmatrix.h
324# Out of order
325gxbitfmt_h=$(GLSRC)gxbitfmt.h
326gxcomp_h=$(GLSRC)gxcomp.h $(gscompt_h) $(gsrefct_h) $(gxbitfmt_h)
327gsovrc_h=$(GLSRC)gsovrc.h $(gsstype_h) $(gxcomp_h)
328gspaint_h=$(GLSRC)gspaint.h
329gsparam_h=$(GLSRC)gsparam.h $(gsstype_h)
330gsparams_h=$(GLSRC)gsparams.h $(gsparam_h) $(stream_h)
331gsparamx_h=$(GLSRC)gsparamx.h
332gspath2_h=$(GLSRC)gspath2.h
333gspcolor_h=$(GLSRC)gspcolor.h $(gsccolor_h) $(gsrefct_h) $(gsuid_h)
334gspenum_h=$(GLSRC)gspenum.h
335gsptype1_h=$(GLSRC)gsptype1.h $(gspcolor_h) $(gxbitmap_h)
336gsropt_h=$(GLSRC)gsropt.h
337gstext_h=$(GLSRC)gstext.h $(gsccode_h) $(gscpm_h)
338gsxfont_h=$(GLSRC)gsxfont.h
339# Out of order
340gschar_h=$(GLSRC)gschar.h $(gsccode_h) $(gscpm_h)
341gsiparam_h=$(GLSRC)gsiparam.h $(gsccolor_h) $(gsmatrix_h) $(gsstype_h)
342gsimage_h=$(GLSRC)gsimage.h $(gsiparam_h)
343gsline_h=$(GLSRC)gsline.h $(gslparam_h)
344gspath_h=$(GLSRC)gspath.h $(gspenum_h)
345gsrop_h=$(GLSRC)gsrop.h $(gsropt_h)
346gstparam_h=$(GLSRC)gstparam.h $(gsccolor_h) $(gsrefct_h)
347
348gxalpha_h=$(GLSRC)gxalpha.h
349gxbcache_h=$(GLSRC)gxbcache.h $(gxbitmap_h)
350gxcvalue_h=$(GLSRC)gxcvalue.h
351gxclio_h=$(GLSRC)gxclio.h $(gp_h)
352gxclip_h=$(GLSRC)gxclip.h
353gxclipsr_h=$(GLSRC)gxclipsr.h $(gsrefct_h)
354gxcoord_h=$(GLSRC)gxcoord.h $(gscoord_h)
355gxcpath_h=$(GLSRC)gxcpath.h
356gxdda_h=$(GLSRC)gxdda.h
357gxdevbuf_h=$(GLSRC)gxdevbuf.h $(gxrplane_h)
358gxdevrop_h=$(GLSRC)gxdevrop.h
359gxdevmem_h=$(GLSRC)gxdevmem.h $(gxrplane_h)
360gxdhtres_h=$(GLSRC)gxdhtres.h $(stdpre_h)
361gxfont0_h=$(GLSRC)gxfont0.h
362gxfrac_h=$(GLSRC)gxfrac.h
363gxftype_h=$(GLSRC)gxftype.h
364gxgetbit_h=$(GLSRC)gxgetbit.h $(gxbitfmt_h)
365gxhttile_h=$(GLSRC)gxhttile.h
366gxhttype_h=$(GLSRC)gxhttype.h
367gxiclass_h=$(GLSRC)gxiclass.h
368gxiodev_h=$(GLSRC)gxiodev.h $(stat__h)
369gxline_h=$(GLSRC)gxline.h $(gslparam_h) $(gsmatrix_h)
370gxlum_h=$(GLSRC)gxlum.h
371gxmatrix_h=$(GLSRC)gxmatrix.h $(gsmatrix_h)
372gxmclip_h=$(GLSRC)gxmclip.h $(gxclip_h)
373gxoprect_h=$(GLSRC)gxoprect.h
374gxp1impl_h=$(GLSRC)gxp1impl.h
375gxpaint_h=$(GLSRC)gxpaint.h
376gxpath_h=$(GLSRC)gxpath.h $(gscpm_h) $(gslparam_h) $(gspenum_h) $(gsrect_h)
377gxpcache_h=$(GLSRC)gxpcache.h
378gxsample_h=$(GLSRC)gxsample.h
379gxsamplp_h=$(GLSRC)gxsamplp.h
380gxstate_h=$(GLSRC)gxstate.h
381gxtext_h=$(GLSRC)gxtext.h $(gsrefct_h) $(gstext_h)
382gxtmap_h=$(GLSRC)gxtmap.h
383gxxfont_h=$(GLSRC)gxxfont.h $(gsccode_h) $(gsmatrix_h) $(gsuid_h) $(gsxfont_h)
384# The following are out of order because they include other files.
385gxband_h=$(GLSRC)gxband.h $(gxclio_h)
386gxcdevn_h=$(GLSRC)gxcdevn.h $(gsrefct_h) $(gxcindex_h)
387gxchar_h=$(GLSRC)gxchar.h $(gschar_h) $(gxtext_h)
388gxchrout_h=$(GLSRC)gxchrout.h
389gxwts_h=$(GLSRC)gxwts.h
390gsdcolor_h=$(GLSRC)gsdcolor.h $(gsccolor_h)\
391 $(gxarith_h) $(gxbitmap_h) $(gxcindex_h) $(gxhttile_h) $(gxwts_h)
392gxdcolor_h=$(GLSRC)gxdcolor.h\
393 $(gscsel_h) $(gsdcolor_h) $(gsropt_h) $(gsstruct_h)
394gscspace_h=$(GLSRC)gscspace.h $(gsmemory_h)
395gscssub_h=$(GLSRC)gscssub.h $(gscspace_h)
396gxdevcli_h=$(GLSRC)gxdevcli.h $(std_h) $(stdint__h)\
397 $(gscompt_h) $(gsdcolor_h) $(gsiparam_h) $(gsmatrix_h)\
398 $(gsrefct_h) $(gsropt_h) $(gsstruct_h) $(gstparam_h) $(gsxfont_h)\
399 $(gxbitmap_h) $(gxcindex_h) $(gxcvalue_h) $(gxfixed_h)\
400 $(gxtext_h) $(gscspace_h)
401gxdevice_h=$(GLSRC)gxdevice.h $(stdio__h)\
402 $(gsfname_h) $(gsmalloc_h) $(gsparam_h) $(gxdevcli_h) $(gxstdio_h)
403gxdht_h=$(GLSRC)gxdht.h\
404 $(gsmatrix_h) $(gsrefct_h) $(gxarith_h) $(gxhttype_h) $(gscspace_h)\
405 $(gxcindex_h) $(gxfrac_h)
406gxdhtserial_h=$(GLSRC)gxdhtserial.h
407gxdither_h=$(GLSRC)gxdither.h $(gxfrac_h)
408gxclip2_h=$(GLSRC)gxclip2.h $(gxmclip_h)
409gxclipm_h=$(GLSRC)gxclipm.h $(gxmclip_h)
410gxctable_h=$(GLSRC)gxctable.h $(gxfixed_h) $(gxfrac_h)
411gxfcache_h=$(GLSRC)gxfcache.h $(gsccode_h) $(gsuid_h) $(gsxfont_h)\
412 $(gxbcache_h) $(gxfixed_h) $(gxftype_h)
413gxfcopy_h=$(GLSRC)gxfcopy.h $(gsccode_h)
414gxfont_h=$(GLSRC)gxfont.h\
415 $(gsccode_h) $(gsfont_h) $(gsgdata_h) $(gsmatrix_h) $(gsnotify_h)\
416 $(gsstype_h) $(gsuid_h)\
417 $(gxftype_h)
418gxiparam_h=$(GLSRC)gxiparam.h $(gsstype_h) $(gxdevcli_h)
419gscie_h=$(GLSRC)gscie.h $(gconfigv_h) $(gsrefct_h) $(gsstype_h) $(gstypes_h) $(gxctable_h)
420gsicc_h=$(GLSRC)gsicc.h $(gscie_h)
421gscrd_h=$(GLSRC)gscrd.h $(gscie_h)
422gscrdp_h=$(GLSRC)gscrdp.h $(gscie_h) $(gsparam_h)
423gscdevn_h=$(GLSRC)gscdevn.h $(gscspace_h)
424gxdevndi_h=$(GLSRC)gxdevndi.h $(gxfrac_h)
425gscindex_h=$(GLSRC)gscindex.h $(gscspace_h)
426gscolor2_h=$(GLSRC)gscolor2.h $(gscindex_h) $(gsptype1_h)
427gscsepr_h=$(GLSRC)gscsepr.h $(gscspace_h)
428gxdcconv_h=$(GLSRC)gxdcconv.h $(gxfrac_h)
429gxfmap_h=$(GLSRC)gxfmap.h $(gsrefct_h) $(gsstype_h) $(gxfrac_h) $(gxtmap_h)
430gxcmap_h=$(GLSRC)gxcmap.h $(gscsel_h) $(gxcindex_h) $(gxcvalue_h) $(gxfmap_h)
431gxistate_h=$(GLSRC)gxistate.h\
432 $(gscsel_h) $(gsrefct_h) $(gsropt_h) $(gstparam_h) $(gxcvalue_h) $(gxcmap_h)\
433 $(gxfixed_h) $(gxline_h) $(gxmatrix_h) $(gxtmap_h) $(gscspace_h)
434gxclist_h=$(GLSRC)gxclist.h $(gscspace_h)\
435 $(gxband_h) $(gxbcache_h) $(gxclio_h) $(gxdevbuf_h) $(gxistate_h)\
436 $(gxrplane_h)
437gxcolor2_h=$(GLSRC)gxcolor2.h\
438 $(gscolor2_h) $(gsmatrix_h) $(gsrefct_h) $(gxbitmap_h)
439gxcspace_h=$(GLSRC)gxcspace.h\
440 $(gscspace_h) $(gsccolor_h) $(gscsel_h) $(gxfrac_h)
441gxht_h=$(GLSRC)gxht.h $(gsht1_h) $(gsrefct_h) $(gxhttype_h) $(gxtmap_h) $(gscspace_h)
442gxcie_h=$(GLSRC)gxcie.h $(gscie_h)
443gxpcolor_h=$(GLSRC)gxpcolor.h\
444 $(gspcolor_h) $(gxcspace_h) $(gxdevice_h) $(gxdevmem_h) $(gxpcache_h)
445gscolor_h=$(GLSRC)gscolor.h $(gxtmap_h)
446gsstate_h=$(GLSRC)gsstate.h\
447 $(gscolor_h) $(gscpm_h) $(gscsel_h) $(gsdevice_h) $(gsht_h) $(gsline_h)
448
449gzacpath_h=$(GLSRC)gzacpath.h
450gzcpath_h=$(GLSRC)gzcpath.h $(gxcpath_h)
451gzht_h=$(GLSRC)gzht.h $(gscsel_h)\
452 $(gxdht_h) $(gxfmap_h) $(gxht_h) $(gxhttile_h)
453gzline_h=$(GLSRC)gzline.h $(gxline_h)
454gzpath_h=$(GLSRC)gzpath.h $(gsmatrix_h) $(gsrefct_h) $(gsstype_h) $(gxpath_h)
455gzstate_h=$(GLSRC)gzstate.h $(gscpm_h) $(gscspace_h) $(gsrefct_h) $(gsstate_h)\
456 $(gxdcolor_h) $(gxistate_h) $(gxstate_h)
457
458gdevbbox_h=$(GLSRC)gdevbbox.h
459gdevmem_h=$(GLSRC)gdevmem.h $(gxbitops_h)
460gdevmpla_h=$(GLSRC)gdevmpla.h
461gdevmrop_h=$(GLSRC)gdevmrop.h
462gdevmrun_h=$(GLSRC)gdevmrun.h $(gxdevmem_h)
463gdevplnx_h=$(GLSRC)gdevplnx.h $(gxrplane_h)
464
465sa85d_h=$(GLSRC)sa85d.h
466sa85x_h=$(GLSRC)sa85x.h $(sa85d_h)
467sbcp_h=$(GLSRC)sbcp.h
468sbtx_h=$(GLSRC)sbtx.h
469scanchar_h=$(GLSRC)scanchar.h
470sfilter_h=$(GLSRC)sfilter.h $(gstypes_h)
471sdct_h=$(GLSRC)sdct.h
472shc_h=$(GLSRC)shc.h $(gsbittab_h) $(scommon_h)
473sisparam_h=$(GLSRC)sisparam.h
474sjpeg_h=$(GLSRC)sjpeg.h
475slzwx_h=$(GLSRC)slzwx.h
476smd5_h=$(GLSRC)smd5.h $(md5_h)
477sarc4_h=$(GLSRC)sarc4.h $(scommon_h)
478sjbig2_h=$(GLSRC)sjbig2.h $(stdint__h) $(scommon_h)
479sjpx_h=$(GLSRC)sjpx.h $(scommon_h)
480spdiffx_h=$(GLSRC)spdiffx.h
481spngpx_h=$(GLSRC)spngpx.h
482spprint_h=$(GLSRC)spprint.h
483spsdf_h=$(GLSRC)spsdf.h $(gsparam_h)
484srlx_h=$(GLSRC)srlx.h
485sstring_h=$(GLSRC)sstring.h
486strimpl_h=$(GLSRC)strimpl.h $(scommon_h) $(gstypes_h) $(gsstruct_h)
487szlibx_h=$(GLSRC)szlibx.h
488szlibxx_h=$(GLSRC)szlibxx.h $(szlibx_h)
489# Out of order
490scf_h=$(GLSRC)scf.h $(shc_h)
491scfx_h=$(GLSRC)scfx.h $(shc_h)
492siinterp_h=$(GLSRC)siinterp.h $(sisparam_h)
493siscale_h=$(GLSRC)siscale.h $(sisparam_h)
494gximage_h=$(GLSRC)gximage.h $(gsiparam_h)\
495 $(gxcspace_h) $(gxdda_h) $(gxiclass_h) $(gxiparam_h) $(gxsample_h)\
496 $(sisparam_h) $(strimpl_h)
497gxhldevc_h=$(GLSRC)gxhldevc.h $(gsdcolor_h)
498gsptype2_h=$(GLSRC)gsptype2.h $(gspcolor_h) $(gxhldevc_h) $(gxfixed_h)
499gdevddrw_h=$(GLSRC)gdevddrw.h
500gxfill_h=$(GLSRC)gxfill.h
501gxfilltr_h=$(GLSRC)gxfilltr.h
502gxfillsl_h=$(GLSRC)gxfillsl.h
503gxfillts_h=$(GLSRC)gxfillts.h
504gxfdrop_h=$(GLSRC)gxfdrop.h
505gxdtfill_h=$(GLSRC)gxdtfill.h
506
507ttfoutl_h=$(GLSRC)ttfoutl.h
508gxttfb_h = $(GLSRC)gxttfb.h $(ttfoutl_h)
509gzspotan_h = $(GLSRC)gzspotan.h $(gxdevcli_h)
510
511### Executable code
512
513# gconfig and gscdefs are handled specially.  Currently they go in psbase
514# rather than in libcore, which is clearly wrong.
515$(GLOBJ)gconfig.$(OBJ) : $(gconfig_h) $(GLSRC)gconf.c $(GX)\
516 $(gscdefs_h) $(gconf_h)\
517 $(gxdevice_h) $(gxiclass_h) $(gxiodev_h) $(gxiparam_h) $(TOP_MAKEFILES)
518	$(RM_) $(GLGEN)gconfig.c
519	$(RM_) $(GLGEN)gconfig.h
520	$(CP_) $(gconfig_h) $(GLGEN)gconfig.h
521	$(CP_) $(GLSRC)gconf.c $(GLGEN)gconfig.c
522	$(GLCC) $(GLO_)gconfig.$(OBJ) $(C_) $(GLGEN)gconfig.c
523
524$(GLOBJ)gscdefs.$(OBJ) : $(GLSRC)gscdef.c\
525 $(std_h) $(gscdefs_h) $(gconfigd_h) $(TOP_MAKEFILES)
526	$(RM_) $(GLGEN)gscdefs.c
527	$(CP_) $(GLSRC)gscdef.c $(GLGEN)gscdefs.c
528	$(GLCC) $(GLO_)gscdefs.$(OBJ) $(C_) $(GLGEN)gscdefs.c
529
530$(GLOBJ)gxacpath.$(OBJ) : $(GLSRC)gxacpath.c $(GXERR)\
531 $(gsdcolor_h) $(gsrop_h) $(gsstruct_h) $(gsutil_h)\
532 $(gxdevice_h) $(gxfixed_h) $(gxistate_h) $(gxpaint_h)\
533 $(gzacpath_h) $(gzcpath_h) $(gzpath_h)
534	$(GLCC) $(GLO_)gxacpath.$(OBJ) $(C_) $(GLSRC)gxacpath.c
535
536$(GLOBJ)gxbcache.$(OBJ) : $(GLSRC)gxbcache.c $(GX) $(memory__h)\
537 $(gsmdebug_h) $(gxbcache_h)
538	$(GLCC) $(GLO_)gxbcache.$(OBJ) $(C_) $(GLSRC)gxbcache.c
539
540$(GLOBJ)gxccache.$(OBJ) : $(GLSRC)gxccache.c $(GXERR) $(memory__h)\
541 $(gpcheck_h)\
542 $(gscencs_h) $(gxfixed_h) $(gxmatrix_h)\
543 $(gzstate_h) $(gzpath_h) $(gxdevice_h) $(gxdevmem_h)\
544 $(gzcpath_h) $(gxchar_h) $(gxfont_h) $(gxfcache_h)\
545 $(gxxfont_h) $(gscspace_h) $(gximage_h) $(gxhttile_h)
546	$(GLCC) $(GLO_)gxccache.$(OBJ) $(C_) $(GLSRC)gxccache.c
547
548$(GLOBJ)gxccman.$(OBJ) : $(GLSRC)gxccman.c $(GXERR) $(memory__h) $(gpcheck_h)\
549 $(gsbitops_h) $(gsstruct_h) $(gsutil_h) $(gxfixed_h) $(gxmatrix_h)\
550 $(gxdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxfcache_h) $(gxchar_h)\
551 $(gxpath_h) $(gxxfont_h) $(gzstate_h) $(gxttfb_h) $(gxttfb_h) $(gxfont42_h)
552	$(GLCC) $(GLO_)gxccman.$(OBJ) $(C_) $(GLSRC)gxccman.c
553
554$(GLOBJ)gxchar.$(OBJ) : $(GLSRC)gxchar.c $(GXERR) $(memory__h) $(string__h)\
555 $(gspath_h) $(gsstruct_h)\
556 $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gxcoord_h) $(gxdevice_h) $(gxdevmem_h)\
557 $(gxfont_h) $(gxfont0_h) $(gxchar_h) $(gxfcache_h) $(gzpath_h) $(gzstate_h)
558	$(GLCC) $(GLO_)gxchar.$(OBJ) $(C_) $(GLSRC)gxchar.c
559
560$(GLOBJ)gxchrout.$(OBJ) : $(GLSRC)gxchrout.c $(GX) $(math__h)\
561 $(gxchrout_h) $(gxfarith_h) $(gxistate_h)
562	$(GLCC) $(GLO_)gxchrout.$(OBJ) $(C_) $(GLSRC)gxchrout.c
563
564$(GLOBJ)gxcht.$(OBJ) : $(GLSRC)gxcht.c $(GXERR) $(memory__h)\
565 $(gsutil_h)\
566 $(gxarith_h) $(gxcmap_h) $(gxdcolor_h) $(gxdevice_h) $(gxfixed_h)\
567 $(gxistate_h) $(gxmatrix_h) $(gzht_h) $(gsserial_h)
568	$(GLCC) $(GLO_)gxcht.$(OBJ) $(C_) $(GLSRC)gxcht.c
569
570$(GLOBJ)gxclip.$(OBJ) : $(GLSRC)gxclip.c $(GX)\
571 $(gxclip_h) $(gxcpath_h) $(gxdevice_h) $(gxpath_h)
572	$(GLCC) $(GLO_)gxclip.$(OBJ) $(C_) $(GLSRC)gxclip.c
573
574$(GLOBJ)gxcmap.$(OBJ) : $(GLSRC)gxcmap.c $(GXERR)\
575 $(gsccolor_h)\
576 $(gxalpha_h) $(gxcspace_h) $(gxfarith_h) $(gxfrac_h)\
577 $(gxdcconv_h) $(gxdevice_h) $(gxcmap_h) $(gxlum_h)\
578 $(gzstate_h) $(gxdither_h) $(gxcdevn_h) $(string__h)
579	$(GLCC) $(GLO_)gxcmap.$(OBJ) $(C_) $(GLSRC)gxcmap.c
580
581$(GLOBJ)gxcpath.$(OBJ) : $(GLSRC)gxcpath.c $(GXERR)\
582 $(gscoord_h) $(gsline_h) $(gsstruct_h) $(gsutil_h)\
583 $(gxdevice_h) $(gxfixed_h) $(gxistate_h) $(gzpath_h) $(gzcpath_h) $(gzacpath_h)
584	$(GLCC) $(GLO_)gxcpath.$(OBJ) $(C_) $(GLSRC)gxcpath.c
585
586$(GLOBJ)gxdcconv.$(OBJ) : $(GLSRC)gxdcconv.c $(GX)\
587 $(gsdcolor_h) $(gxcmap_h) $(gxdcconv_h) $(gxdevice_h)\
588 $(gxfarith_h) $(gxistate_h) $(gxlum_h)
589	$(GLCC) $(GLO_)gxdcconv.$(OBJ) $(C_) $(GLSRC)gxdcconv.c
590
591$(GLOBJ)gxdcolor.$(OBJ) : $(GLSRC)gxdcolor.c $(GX)\
592 $(memory__h) $(gsbittab_h) $(gserrors_h) $(gxdcolor_h) $(gxdevice_h)
593	$(GLCC) $(GLO_)gxdcolor.$(OBJ) $(C_) $(GLSRC)gxdcolor.c
594
595$(GLOBJ)gxhldevc.$(OBJ) : $(GLSRC)gxhldevc.c $(GX)\
596 $(gzstate_h) $(gscspace_h) $(gxcspace_h) $(gxhldevc_h) $(memory_h)\
597 $(gxpcolor_h) $(gsptype2_h)
598	$(GLCC) $(GLO_)gxhldevc.$(OBJ) $(C_) $(GLSRC)gxhldevc.c
599
600$(GLOBJ)gxfill.$(OBJ) : $(GLSRC)gxfill.c $(GXERR)\
601 $(gsstruct_h)\
602 $(gxdcolor_h) $(gxdevice_h) $(gxfixed_h) $(gxhttile_h)\
603 $(gxistate_h) $(gxpaint_h) $(gxfill_h) $(gxfdrop_h) $(gsptype2_h)\
604 $(gzcpath_h) $(gzpath_h) $(gzspotan_h) $(gdevddrw_h) $(memory__h) $(stdint_) $(vdtrace_h)\
605 $(gxfilltr_h) $(gxfillsl_h) $(gxfillts_h)
606	$(GLCC) $(GLO_)gxfill.$(OBJ) $(C_) $(GLSRC)gxfill.c
607
608$(GLOBJ)gxfdrop.$(OBJ) : $(GLSRC)gxfdrop.c $(GXERR)\
609 $(gsstruct_h) $(gzpath_h) $(gxfixed_h) $(gxdevice_h) $(gxdcolor_h) $(gxfill_h) $(gxfdrop_h)
610	$(GLCC) $(GLO_)gxfdrop.$(OBJ) $(C_) $(GLSRC)gxfdrop.c
611
612$(GLOBJ)gxht.$(OBJ) : $(GLSRC)gxht.c $(GXERR) $(memory__h)\
613 $(gsbitops_h) $(gsstruct_h) $(gsutil_h)\
614 $(gxdcolor_h) $(gxdevice_h) $(gxfixed_h) $(gxistate_h) $(gzht_h)\
615 $(gsserial_h)
616	$(GLCC) $(GLO_)gxht.$(OBJ) $(C_) $(GLSRC)gxht.c
617
618$(GLOBJ)gxhtbit.$(OBJ) : $(GLSRC)gxhtbit.c $(GXERR) $(memory__h)\
619 $(gsbitops_h) $(gscdefs_h)\
620 $(gxbitmap_h) $(gxdht_h) $(gxdhtres_h) $(gxhttile_h) $(gxtmap_h)
621	$(GLCC) $(GLO_)gxhtbit.$(OBJ) $(C_) $(GLSRC)gxhtbit.c
622
623$(GLOBJ)gxwts.$(OBJ) : $(GLSRC)gxwts.c $(GXERR) $(gxwts_h)\
624 $(stdpre_h) $(memory__h) $(gxstate_h) $(gxht_h) $(math__h) $(gxdevcli_h)\
625 $(gxdht_h)
626	$(GLCC) $(GLO_)gxwts.$(OBJ) $(C_) $(GLSRC)gxwts.c
627
628$(GLOBJ)gswts.$(OBJ) : $(GLSRC)gswts.c $(GXERR) $(gxwts_h) $(gswts_h)\
629 $(stdpre_h) $(gx_h) $(gxstate_h) $(gsht_h) $(math__h) $(gxfrac_h)
630	$(GLCC) $(GLO_)gswts.$(OBJ) $(C_) $(GLSRC)gswts.c
631
632$(GLOBJ)gxidata.$(OBJ) : $(GLSRC)gxidata.c $(GXERR) $(memory__h)\
633 $(gxcpath_h) $(gxdevice_h) $(gximage_h)
634	$(GLCC) $(GLO_)gxidata.$(OBJ) $(C_) $(GLSRC)gxidata.c
635
636$(GLOBJ)gxifast.$(OBJ) : $(GLSRC)gxifast.c $(GXERR) $(memory__h) $(gpcheck_h)\
637 $(gdevmem_h) $(gsbittab_h) $(gsccolor_h) $(gspaint_h) $(gsutil_h)\
638 $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h)\
639 $(gxdevmem_h) $(gxfixed_h) $(gximage_h) $(gxistate_h) $(gxmatrix_h)\
640 $(gzht_h)
641	$(GLCC) $(GLO_)gxifast.$(OBJ) $(C_) $(GLSRC)gxifast.c
642
643$(GLOBJ)gximage.$(OBJ) : $(GLSRC)gximage.c $(GXERR) $(memory__h)\
644 $(gscspace_h) $(gsmatrix_h) $(gsutil_h)\
645 $(gxcolor2_h) $(gxiparam_h)\
646 $(stream_h)
647	$(GLCC) $(GLO_)gximage.$(OBJ) $(C_) $(GLSRC)gximage.c
648
649$(GLOBJ)gximage1.$(OBJ) : $(GLSRC)gximage1.c $(GXERR)\
650 $(gximage_h) $(gxiparam_h) $(stream_h)
651	$(GLCC) $(GLO_)gximage1.$(OBJ) $(C_) $(GLSRC)gximage1.c
652
653$(GLOBJ)gximono.$(OBJ) : $(GLSRC)gximono.c $(GXERR) $(memory__h) $(gpcheck_h)\
654 $(gdevmem_h) $(gsccolor_h) $(gspaint_h) $(gsutil_h)\
655 $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h)\
656 $(gxdevmem_h) $(gxfixed_h) $(gximage_h) $(gxistate_h) $(gxmatrix_h)\
657 $(gzht_h)
658	$(GLCC) $(GLO_)gximono.$(OBJ) $(C_) $(GLSRC)gximono.c
659
660$(GLOBJ)gxipixel.$(OBJ) : $(GLSRC)gxipixel.c $(GXERR) $(math__h) $(memory__h)\
661 $(gpcheck_h)\
662 $(gsccolor_h) $(gscdefs_h) $(gspaint_h) $(gsstruct_h) $(gsutil_h)\
663 $(gxfixed_h) $(gxfrac_h) $(gxarith_h) $(gxiparam_h) $(gxmatrix_h)\
664 $(gxdevice_h) $(gzpath_h) $(gzstate_h)\
665 $(gzcpath_h) $(gxdevmem_h) $(gximage_h) $(gdevmrop_h)
666	$(GLCC) $(GLO_)gxipixel.$(OBJ) $(C_) $(GLSRC)gxipixel.c
667
668# gxmclip is used for Patterns and ImageType 3 images:
669# it isn't included in the base library.
670$(GLOBJ)gxmclip.$(OBJ) : $(GLSRC)gxmclip.c $(GX)\
671 $(gxdevice_h) $(gxdevmem_h) $(gxmclip_h)
672	$(GLCC) $(GLO_)gxmclip.$(OBJ) $(C_) $(GLSRC)gxmclip.c
673
674$(GLOBJ)gxpaint.$(OBJ) : $(GLSRC)gxpaint.c $(GX)\
675 $(gxdevice_h) $(gxhttile_h) $(gxpaint_h) $(gxpath_h) $(gzstate_h) $(gxfont_h)
676	$(GLCC) $(GLO_)gxpaint.$(OBJ) $(C_) $(GLSRC)gxpaint.c
677
678$(GLOBJ)gxpath.$(OBJ) : $(GLSRC)gxpath.c $(GXERR)\
679 $(gsstruct_h) $(gxfixed_h) $(gzpath_h) $(vdtrace_h)
680	$(GLCC) $(GLO_)gxpath.$(OBJ) $(C_) $(GLSRC)gxpath.c
681
682$(GLOBJ)gxpath2.$(OBJ) : $(GLSRC)gxpath2.c $(GXERR) $(math__h)\
683 $(gspath_h) $(gsstruct_h) $(gxfixed_h) $(gxarith_h) $(gzpath_h)
684	$(GLCC) $(GLO_)gxpath2.$(OBJ) $(C_) $(GLSRC)gxpath2.c
685
686$(GLOBJ)gxpcopy.$(OBJ) : $(GLSRC)gxpcopy.c $(GXERR) $(math__h) $(gconfigv_h)\
687 $(gxfarith_h) $(gxfixed_h) $(gxistate_h) $(gzpath_h) $(vdtrace_h)
688	$(GLCC) $(GLO_)gxpcopy.$(OBJ) $(C_) $(GLSRC)gxpcopy.c
689
690$(GLOBJ)gxpdash.$(OBJ) : $(GLSRC)gxpdash.c $(GX) $(math__h)\
691 $(gscoord_h) $(gsline_h) $(gsmatrix_h)\
692 $(gxfixed_h) $(gzline_h) $(gzpath_h)
693	$(GLCC) $(GLO_)gxpdash.$(OBJ) $(C_) $(GLSRC)gxpdash.c
694
695$(GLOBJ)gxpflat.$(OBJ) : $(GLSRC)gxpflat.c $(GX)\
696 $(gxarith_h) $(gxfixed_h) $(gzpath_h) $(memory__h) $(string__h)\
697 $(vdtrace_h)
698	$(GLCC) $(GLO_)gxpflat.$(OBJ) $(C_) $(GLSRC)gxpflat.c
699
700$(GLOBJ)gxsample.$(OBJ) : $(GLSRC)gxsample.c $(GX)\
701 $(gxsample_h) $(gxfixed_h) $(gximage_h) $(gxsamplp_h)
702	$(GLCC) $(GLO_)gxsample.$(OBJ) $(C_) $(GLSRC)gxsample.c
703
704$(GLOBJ)gxstroke.$(OBJ) : $(GLSRC)gxstroke.c $(GXERR) $(math__h) $(gpcheck_h)\
705 $(gscoord_h) $(gsdcolor_h) $(gsdevice_h)\
706 $(gxdevice_h) $(gxfarith_h) $(gxfixed_h)\
707 $(gxhttile_h) $(gxistate_h) $(gxmatrix_h) $(gxpaint_h)\
708 $(gzcpath_h) $(gzline_h) $(gzpath_h) $(vdtrace_h)
709	$(GLCC) $(GLO_)gxstroke.$(OBJ) $(C_) $(GLSRC)gxstroke.c
710
711###### Higher-level facilities
712
713$(GLOBJ)gsalpha.$(OBJ) : $(GLSRC)gsalpha.c $(GX)\
714 $(gsalpha_h) $(gxdcolor_h) $(gzstate_h)
715	$(GLCC) $(GLO_)gsalpha.$(OBJ) $(C_) $(GLSRC)gsalpha.c
716
717# gscedata.[ch] are generated automatically by lib/encs2c.ps.
718$(GLOBJ)gscedata.$(OBJ) : $(GLSRC)gscedata.c\
719 $(stdpre_h) $(gstypes_h) $(gscedata_h)
720	$(GLCC) $(GLO_)gscedata.$(OBJ) $(C_) $(GLSRC)gscedata.c
721
722$(GLOBJ)gscencs.$(OBJ) : $(GLSRC)gscencs.c\
723 $(memory__h) $(gscedata_h) $(gscencs_h) $(gserror_h) $(gserrors_h)
724	$(GLCC) $(GLO_)gscencs.$(OBJ) $(C_) $(GLSRC)gscencs.c
725
726$(GLOBJ)gschar.$(OBJ) : $(GLSRC)gschar.c $(GXERR)\
727 $(gscoord_h) $(gsmatrix_h) $(gsstruct_h)\
728 $(gxdevice_h) $(gxdevmem_h) $(gxchar_h) $(gxfont_h) $(gzstate_h)
729	$(GLCC) $(GLO_)gschar.$(OBJ) $(C_) $(GLSRC)gschar.c
730
731$(GLOBJ)gscolor.$(OBJ) : $(GLSRC)gscolor.c $(GXERR)\
732 $(gsccolor_h) $(gsstruct_h) $(gsutil_h)\
733 $(gxcmap_h) $(gxcspace_h) $(gxdcconv_h) $(gxdevice_h) $(gzstate_h)
734	$(GLCC) $(GLO_)gscolor.$(OBJ) $(C_) $(GLSRC)gscolor.c
735
736$(GLOBJ)gscoord.$(OBJ) : $(GLSRC)gscoord.c $(GXERR) $(math__h)\
737 $(gsccode_h) $(gxcoord_h) $(gxdevice_h) $(gxfarith_h) $(gxfixed_h) $(gxfont_h)\
738 $(gxmatrix_h) $(gxpath_h) $(gzstate_h)
739	$(GLCC) $(GLO_)gscoord.$(OBJ) $(C_) $(GLSRC)gscoord.c
740
741$(GLOBJ)gscparam.$(OBJ) : $(GLSRC)gscparam.c $(GXERR) $(memory__h) $(string__h)\
742 $(gsparam_h) $(gsstruct_h)
743	$(GLCC) $(GLO_)gscparam.$(OBJ) $(C_) $(GLSRC)gscparam.c
744
745$(GLOBJ)gscspace.$(OBJ) : $(GLSRC)gscspace.c $(GXERR) $(memory__h)\
746 $(gsstruct_h) $(gsccolor_h) $(gsutil_h)\
747 $(gxcmap_h) $(gxcspace_h) $(gxistate_h) $(gsovrc_h) $(gsstate_h)\
748 $(gsdevice_h) $(gxdevcli_h) $(gzstate_h) $(stream_h)
749	$(GLCC) $(GLO_)gscspace.$(OBJ) $(C_) $(GLSRC)gscspace.c
750
751$(GLOBJ)gsovrc.$(OBJ) : $(GLSRC)gsovrc.c $(GXERR)\
752 $(memory__h) $(gsutil_h) $(gxcomp_h) $(gxdevice_h) $(gsdevice_h) $(gxgetbit_h)\
753 $(gsovrc_h) $(gxdcolor_h) $(gxoprect_h) $(gsbitops_h) $(gxistate_h)
754	$(GLCC) $(GLO_)gsovrc.$(OBJ) $(C_) $(GLSRC)gsovrc.c
755
756$(GLOBJ)gxoprect.$(OBJ) : $(GLSRC)gxoprect.c $(GXERR)\
757 $(memory__h) $(gsutil_h) $(gxdevice_h) $(gsdevice_h) $(gxgetbit_h)\
758 $(gxoprect_h) $(gsbitops_h)
759	$(GLCC) $(GLO_)gxoprect.$(OBJ) $(C_) $(GLSRC)gxoprect.c
760
761$(GLOBJ)gsdevice.$(OBJ) : $(GLSRC)gsdevice.c $(GXERR)\
762 $(ctype__h) $(memory__h) $(string__h) $(gp_h)\
763 $(gscdefs_h) $(gsfname_h) $(gsstruct_h) $(gspath_h)\
764 $(gspaint_h) $(gsmatrix_h) $(gscoord_h) $(gzstate_h)\
765 $(gxcmap_h) $(gxdevice_h) $(gxdevmem_h) $(gxiodev_h) $(gxcspace_h)
766	$(GLCC) $(GLO_)gsdevice.$(OBJ) $(C_) $(GLSRC)gsdevice.c
767
768$(GLOBJ)gsdfilt.$(OBJ) : $(GLSRC)gsdfilt.c $(GXERR)\
769 $(ctype__h) $(memory__h) $(string__h) $(gp_h)\
770 $(gscdefs_h) $(gscoord_h) $(gsdfilt_h) $(gsfname_h) $(gsmatrix_h)\
771 $(gspaint_h) $(gspath_h) $(gsstruct_h)\
772 $(gxcmap_h) $(gxdevice_h) $(gxdevmem_h) $(gxiodev_h) $(gzstate_h)
773	$(GLCC) $(GLO_)gsdfilt.$(OBJ) $(C_) $(GLSRC)gsdfilt.c
774
775$(GLOBJ)gsdevmem.$(OBJ) : $(GLSRC)gsdevmem.c $(GXERR) $(math__h) $(memory__h)\
776 $(gsdevice_h) $(gxarith_h) $(gxdevice_h) $(gxdevmem_h)
777	$(GLCC) $(GLO_)gsdevmem.$(OBJ) $(C_) $(GLSRC)gsdevmem.c
778
779$(GLOBJ)gsdparam.$(OBJ) : $(GLSRC)gsdparam.c $(GXERR)\
780 $(memory__h) $(string__h)\
781 $(gsdevice_h) $(gsparam_h) $(gxdevice_h) $(gxfixed_h)
782	$(GLCC) $(GLO_)gsdparam.$(OBJ) $(C_) $(GLSRC)gsdparam.c
783
784$(GLOBJ)gsfname.$(OBJ) : $(GLSRC)gsfname.c $(memory__h)\
785 $(gserror_h) $(gserrors_h) $(gsfname_h) $(gsmemory_h) $(gstypes_h)\
786 $(gxiodev_h)
787	$(GLCC) $(GLO_)gsfname.$(OBJ) $(C_) $(GLSRC)gsfname.c
788
789$(GLOBJ)gsfont.$(OBJ) : $(GLSRC)gsfont.c $(GXERR) $(memory__h)\
790 $(gsstruct_h) $(gsutil_h)\
791 $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfcache_h)\
792 $(gzpath_h)\
793 $(gzstate_h)
794	$(GLCC) $(GLO_)gsfont.$(OBJ) $(C_) $(GLSRC)gsfont.c
795
796$(GLOBJ)gsgdata.$(OBJ) : $(GLSRC)gsgdata.c $(GXERR) $(memory__h)\
797 $(gsgdata_h) $(gsmatrix_h) $(gsstruct_h) $(gxfont_h)
798	$(GLCC) $(GLO_)gsgdata.$(OBJ) $(C_) $(GLSRC)gsgdata.c
799
800$(GLOBJ)gsgcache.$(OBJ) : $(GLSRC)gsgcache.c $(GXERR)\
801 $(memory__h) $(gsstruct_h) $(gsgdata_h) $(gsgcache_h) $(gxfont_h) $(gxfont42_h)
802	$(GLCC) $(GLO_)gsgcache.$(OBJ) $(C_) $(GLSRC)gsgcache.c
803
804$(GLOBJ)gsht.$(OBJ) : $(GLSRC)gsht.c $(GXERR) $(memory__h) $(string__h)\
805 $(gsstruct_h) $(gsutil_h) $(gxarith_h) $(gxdevice_h) $(gzht_h) $(gzstate_h)\
806 $(gswts_h)
807	$(GLCC) $(GLO_)gsht.$(OBJ) $(C_) $(GLSRC)gsht.c
808
809$(GLOBJ)gshtscr.$(OBJ) : $(GLSRC)gshtscr.c $(GXERR) $(math__h)\
810 $(gsstruct_h) $(gxarith_h) $(gxdevice_h) $(gzht_h) $(gzstate_h) $(gswts_h)
811	$(GLCC) $(GLO_)gshtscr.$(OBJ) $(C_) $(GLSRC)gshtscr.c
812
813$(GLOBJ)gsimage.$(OBJ) : $(GLSRC)gsimage.c $(GXERR) $(memory__h)\
814 $(gscspace_h) $(gsimage_h) $(gsmatrix_h) $(gsstruct_h)\
815 $(gxarith_h) $(gxdevice_h) $(gxiparam_h) $(gxpath_h) $(gzstate_h)
816	$(GLCC) $(GLO_)gsimage.$(OBJ) $(C_) $(GLSRC)gsimage.c
817
818$(GLOBJ)gsimpath.$(OBJ) : $(GLSRC)gsimpath.c $(GXERR)\
819 $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h)
820	$(GLCC) $(GLO_)gsimpath.$(OBJ) $(C_) $(GLSRC)gsimpath.c
821
822$(GLOBJ)gsinit.$(OBJ) : $(GLSRC)gsinit.c $(memory__h) $(stdio__h)\
823 $(gdebug_h) $(gp_h) $(gscdefs_h) $(gslib_h) $(gsmalloc_h) $(gsmemory_h)
824	$(GLCC) $(GLO_)gsinit.$(OBJ) $(C_) $(GLSRC)gsinit.c
825
826$(GLOBJ)gsiodev.$(OBJ) : $(GLSRC)gsiodev.c $(GXERR)\
827 $(errno__h) $(string__h) $(unistd__h)\
828 $(gp_h) $(gscdefs_h) $(gsparam_h) $(gsstruct_h) $(gxiodev_h)
829	$(GLCC) $(GLO_)gsiodev.$(OBJ) $(C_) $(GLSRC)gsiodev.c
830
831$(GLOBJ)gsistate.$(OBJ) : $(GLSRC)gsistate.c $(GXERR)\
832 $(gscie_h) $(gscspace_h) $(gsstruct_h) $(gsutil_h)\
833 $(gxbitmap_h) $(gxcmap_h) $(gxdht_h) $(gxistate_h) $(gzht_h) $(gzline_h)
834	$(GLCC) $(GLO_)gsistate.$(OBJ) $(C_) $(GLSRC)gsistate.c
835
836$(GLOBJ)gsline.$(OBJ) : $(GLSRC)gsline.c $(GXERR) $(math__h) $(memory__h)\
837 $(gscoord_h) $(gsline_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzline_h)
838	$(GLCC) $(GLO_)gsline.$(OBJ) $(C_) $(GLSRC)gsline.c
839
840$(GLOBJ)gsmatrix.$(OBJ) : $(GLSRC)gsmatrix.c $(GXERR) $(math__h) $(memory__h)\
841 $(gxfarith_h) $(gxfixed_h) $(gxmatrix_h) $(stream_h)
842	$(GLCC) $(GLO_)gsmatrix.$(OBJ) $(C_) $(GLSRC)gsmatrix.c
843
844$(GLOBJ)gspaint.$(OBJ) : $(GLSRC)gspaint.c $(GXERR) $(math__h) $(gpcheck_h)\
845 $(gspaint_h) $(gspath_h) $(gsropt_h)\
846 $(gxdevmem_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxpaint_h) $(gxhldevc_h)\
847 $(gzcpath_h) $(gzpath_h) $(gzstate_h)
848	$(GLCC) $(GLO_)gspaint.$(OBJ) $(C_) $(GLSRC)gspaint.c
849
850$(GLOBJ)gsparam.$(OBJ) : $(GLSRC)gsparam.c $(GXERR) $(memory__h) $(string__h)\
851 $(gsparam_h) $(gsstruct_h)
852	$(GLCC) $(GLO_)gsparam.$(OBJ) $(C_) $(GLSRC)gsparam.c
853
854# gsparamx is not included in the base configuration.
855$(GLOBJ)gsparamx.$(OBJ) : $(GLSRC)gsparamx.c $(string__h)\
856 $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsparam_h) $(gsparamx_h)\
857 $(gstypes_h)
858	$(GLCC) $(GLO_)gsparamx.$(OBJ) $(C_) $(GLSRC)gsparamx.c
859
860# Future replacement for gsparams.c
861$(GLOBJ)gsparam2.$(OBJ) : $(GLSRC)gsparam2.c $(GXERR) $(memory__h)\
862 $(gsparams_h)
863	$(GLCC) $(GLO_)gsparam2.$(OBJ) $(C_) $(GLSRC)gsparam2.c
864
865$(GLOBJ)gsparams.$(OBJ) : $(GLSRC)gsparams.c $(GXERR) $(memory__h)\
866 $(gsparams_h)
867	$(GLCC) $(GLO_)gsparams.$(OBJ) $(C_) $(GLSRC)gsparams.c
868
869$(GLOBJ)gspath.$(OBJ) : $(GLSRC)gspath.c $(GXERR)\
870 $(math__h) $(gscoord_h) $(gspath_h)\
871 $(gxdevice_h) $(gxdevmem_h) $(gxfixed_h) $(gxmatrix_h)\
872 $(gzcpath_h) $(gzpath_h) $(gzstate_h)
873	$(GLCC) $(GLO_)gspath.$(OBJ) $(C_) $(GLSRC)gspath.c
874
875$(GLOBJ)gsstate.$(OBJ) : $(GLSRC)gsstate.c $(GXERR) $(memory__h)\
876 $(gsstruct_h) $(gsutil_h) $(gzstate_h) $(gxcspace_h)\
877 $(gsalpha_h) $(gscolor2_h) $(gscoord_h) $(gscie_h)\
878 $(gxclipsr_h) $(gxcmap_h) $(gxdevice_h) $(gxpcache_h)\
879 $(gzht_h) $(gzline_h) $(gspath_h) $(gzpath_h) $(gzcpath_h)\
880 $(gsovrc_h) $(gxcolor2_h) $(gxpcolor_h)
881	$(GLCC) $(GLO_)gsstate.$(OBJ) $(C_) $(GLSRC)gsstate.c
882
883$(GLOBJ)gstext.$(OBJ) : $(GLSRC)gstext.c $(memory__h) $(gdebug_h)\
884 $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsstruct_h) $(gstypes_h) $(gxfcache_h)\
885 $(gxdcolor_h) $(gxdevcli_h) $(gxfont_h) $(gxpath_h) $(gxtext_h) $(gzstate_h)
886	$(GLCC) $(GLO_)gstext.$(OBJ) $(C_) $(GLSRC)gstext.c
887
888# We make gsiodevs a separate module so the PS interpreter can replace it.
889
890$(GLD)gsiodevs.dev : $(ECHOGS_XE) $(LIB_MAK) $(GLOBJ)gsiodevs.$(OBJ)\
891 $(GLD)sfile.dev
892	$(SETMOD) $(GLD)gsiodevs $(GLOBJ)gsiodevs.$(OBJ)
893	$(ADDMOD) $(GLD)gsiodevs -include $(GLD)sfile
894	$(ADDMOD) $(GLD)gsiodevs -iodev stdin stdout stderr
895
896$(GLOBJ)gsiodevs.$(OBJ) : $(GLSRC)gsiodevs.c $(GXERR)\
897 $(gxiodev_h) $(stream_h) $(strimpl_h)
898	$(GLCC) $(GLO_)gsiodevs.$(OBJ) $(C_) $(GLSRC)gsiodevs.c
899
900###### Internal devices
901
902### Memory devices
903
904$(GLOBJ)gdevmem.$(OBJ) : $(GLSRC)gdevmem.c $(GXERR) $(memory__h)\
905 $(gsrect_h) $(gsstruct_h) $(gstrans_h)\
906 $(gxarith_h) $(gxgetbit_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
907	$(GLCC) $(GLO_)gdevmem.$(OBJ) $(C_) $(GLSRC)gdevmem.c
908
909$(GLOBJ)gdevm1.$(OBJ) : $(GLSRC)gdevm1.c $(GX) $(memory__h) $(gsrop_h)\
910 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
911	$(GLCC) $(GLO_)gdevm1.$(OBJ) $(C_) $(GLSRC)gdevm1.c
912
913$(GLOBJ)gdevm2.$(OBJ) : $(GLSRC)gdevm2.c $(GX) $(memory__h)\
914 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
915	$(GLCC) $(GLO_)gdevm2.$(OBJ) $(C_) $(GLSRC)gdevm2.c
916
917$(GLOBJ)gdevm4.$(OBJ) : $(GLSRC)gdevm4.c $(GX) $(memory__h)\
918 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
919	$(GLCC) $(GLO_)gdevm4.$(OBJ) $(C_) $(GLSRC)gdevm4.c
920
921$(GLOBJ)gdevm8.$(OBJ) : $(GLSRC)gdevm8.c $(GX) $(memory__h)\
922 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
923	$(GLCC) $(GLO_)gdevm8.$(OBJ) $(C_) $(GLSRC)gdevm8.c
924
925$(GLOBJ)gdevm16.$(OBJ) : $(GLSRC)gdevm16.c $(GX) $(memory__h)\
926 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
927	$(GLCC) $(GLO_)gdevm16.$(OBJ) $(C_) $(GLSRC)gdevm16.c
928
929$(GLOBJ)gdevm24.$(OBJ) : $(GLSRC)gdevm24.c $(GX) $(memory__h)\
930 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
931	$(GLCC) $(GLO_)gdevm24.$(OBJ) $(C_) $(GLSRC)gdevm24.c
932
933$(GLOBJ)gdevm32.$(OBJ) : $(GLSRC)gdevm32.c $(GX) $(memory__h)\
934 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
935	$(GLCC) $(GLO_)gdevm32.$(OBJ) $(C_) $(GLSRC)gdevm32.c
936
937$(GLOBJ)gdevm40.$(OBJ) : $(GLSRC)gdevm40.c $(GX) $(memory__h)\
938 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
939	$(GLCC) $(GLO_)gdevm40.$(OBJ) $(C_) $(GLSRC)gdevm40.c
940
941$(GLOBJ)gdevm48.$(OBJ) : $(GLSRC)gdevm48.c $(GX) $(memory__h)\
942 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
943	$(GLCC) $(GLO_)gdevm48.$(OBJ) $(C_) $(GLSRC)gdevm48.c
944
945$(GLOBJ)gdevm56.$(OBJ) : $(GLSRC)gdevm56.c $(GX) $(memory__h)\
946 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
947	$(GLCC) $(GLO_)gdevm56.$(OBJ) $(C_) $(GLSRC)gdevm56.c
948
949$(GLOBJ)gdevm64.$(OBJ) : $(GLSRC)gdevm64.c $(GX) $(memory__h)\
950 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
951	$(GLCC) $(GLO_)gdevm64.$(OBJ) $(C_) $(GLSRC)gdevm64.c
952
953$(GLOBJ)gdevmpla.$(OBJ) : $(GLSRC)gdevmpla.c $(GXERR) $(memory__h)\
954 $(gsbitops_h)\
955 $(gxdevice_h) $(gxdevmem_h) $(gxgetbit_h) $(gdevmem_h) $(gdevmpla_h)
956	$(GLCC) $(GLO_)gdevmpla.$(OBJ) $(C_) $(GLSRC)gdevmpla.c
957
958### Alpha-channel devices
959
960$(GLOBJ)gdevabuf.$(OBJ) : $(GLSRC)gdevabuf.c $(GXERR) $(memory__h)\
961 $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
962	$(GLCC) $(GLO_)gdevabuf.$(OBJ) $(C_) $(GLSRC)gdevabuf.c
963
964### Other built-in devices
965
966# The bbox device can either be used as forwarding device to support
967# graphics functions, or it can be a real target device. We create
968# the bboxutil.dev pseudo device to allow inclusion without putting
969# the bbox device on the list of devices.
970
971$(GLD)bboxutil.dev : $(ECHOGS_XE) $(LIB_MAK) $(GLOBJ)gdevbbox.$(OBJ)
972	$(ADDMOD) $(GLD)bboxutil $(GLOBJ)gdevbbox.$(OBJ)
973
974$(GLD)bbox.dev : $(ECHOGS_XE) $(LIB_MAK) $(GLOBJ)gdevbbox.$(OBJ)
975	$(SETDEV2) $(GLD)bbox $(GLOBJ)gdevbbox.$(OBJ)
976
977$(GLOBJ)gdevbbox.$(OBJ) : $(GLSRC)gdevbbox.c $(GXERR) $(math__h) $(memory__h)\
978 $(gdevbbox_h) $(gsdevice_h) $(gsparam_h)\
979 $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h) $(gxiparam_h) $(gxistate_h)\
980 $(gxpaint_h) $(gxpath_h)
981	$(GLCC) $(GLO_)gdevbbox.$(OBJ) $(C_) $(GLSRC)gdevbbox.c
982
983$(GLOBJ)gdevhit.$(OBJ) : $(GLSRC)gdevhit.c $(std_h)\
984  $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gstypes_h) $(gxdevice_h)
985	$(GLCC) $(GLO_)gdevhit.$(OBJ) $(C_) $(GLSRC)gdevhit.c
986
987# Define a device that implements the PCL 5 special color mapping
988# algorithms.  This is not included in any PostScript or PDF system.
989
990$(GLD)devcmap.dev : $(LIB_MAK) $(ECHOGS_XE) $(GLOBJ)gdevcmap.$(OBJ)
991	$(SETMOD) $(GLD)devcmap $(GLOBJ)gdevcmap.$(OBJ)
992
993gdevcmap_h=$(GLSRC)gdevcmap.h
994
995$(GLOBJ)gdevcmap.$(OBJ) : $(GLSRC)gdevcmap.c $(GXERR)\
996 $(gxdcconv_h) $(gxdevice_h) $(gxfrac_h) $(gxlum_h) $(gdevcmap_h)
997	$(GLCC) $(GLO_)gdevcmap.$(OBJ) $(C_) $(GLSRC)gdevcmap.c
998
999# A device that stores its data using run-length encoding.
1000
1001$(GLOBJ)gdevmrun.$(OBJ) : $(GLSRC)gdevmrun.c $(GXERR) $(memory__h)\
1002 $(gxdevice_h) $(gdevmrun_h)
1003	$(GLCC) $(GLO_)gdevmrun.$(OBJ) $(C_) $(GLSRC)gdevmrun.c
1004
1005# A device that extracts a single plane from multi-plane color.
1006
1007$(GLOBJ)gdevplnx.$(OBJ) : $(GLSRC)gdevplnx.c $(GXERR)\
1008 $(gsbitops_h) $(gsrop_h) $(gsstruct_h) $(gsutil_h)\
1009 $(gdevplnx_h)\
1010 $(gxcmap_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdither_h)\
1011 $(gxgetbit_h) $(gxiparam_h) $(gxistate_h)
1012	$(GLCC) $(GLO_)gdevplnx.$(OBJ) $(C_) $(GLSRC)gdevplnx.c
1013
1014# A tracing device, also an example of a high-level device.
1015
1016$(GLOBJ)gdevtrac.$(OBJ) : $(GLSRC)gdevtrac.c $(GXERR)\
1017 $(gscspace_h)\
1018 $(gxdevice_h) $(gxdht_h) $(gxfont_h) $(gxiparam_h) $(gxistate_h)\
1019 $(gxpaint_h) $(gxtmap_h) $(gzcpath_h) $(gzpath_h)
1020	$(GLCC) $(GLO_)gdevtrac.$(OBJ) $(C_) $(GLSRC)gdevtrac.c
1021
1022$(GLD)tracedev.dev : $(ECHOGS_XE) $(LIB_MAK) $(GLOBJ)gdevtrac.$(OBJ)
1023	$(SETMOD) $(GLD)tracedev -dev2 tr_mono tr_rgb tr_cmyk
1024	$(ADDMOD) $(GLD)tracedev -obj $(GLOBJ)gdevtrac.$(OBJ)
1025
1026### Default driver procedure implementations
1027
1028$(GLOBJ)gdevdbit.$(OBJ) : $(GLSRC)gdevdbit.c $(GXERR) $(gpcheck_h)\
1029 $(gdevmem_h) $(gsbittab_h) $(gsrect_h) $(gsropt_h)\
1030 $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h)
1031	$(GLCC) $(GLO_)gdevdbit.$(OBJ) $(C_) $(GLSRC)gdevdbit.c
1032
1033$(GLOBJ)gdevddrw.$(OBJ) : $(GLSRC)gdevddrw.c $(GXERR) $(math__h) $(memory__h) $(stdint__h)\
1034 $(gpcheck_h)\
1035 $(gsrect_h)\
1036 $(gxdcolor_h) $(gxdevice_h) $(gxfixed_h) $(gxiparam_h) $(gxistate_h) $(gxmatrix_h)\
1037 $(gdevddrw_h) $(gxdtfill_h) $(vtrace_h)
1038	$(GLCC) $(GLO_)gdevddrw.$(OBJ) $(C_) $(GLSRC)gdevddrw.c
1039
1040$(GLOBJ)gdevdsha.$(OBJ) : $(GLSRC)gdevdsha.c $(GXERR) $(gserrors_h)\
1041 $(gxdevice_h) $(gxcindex_h) $(vdtrace_h)
1042	$(GLCC) $(GLO_)gdevdsha.$(OBJ) $(C_) $(GLSRC)gdevdsha.c
1043
1044$(GLOBJ)gdevdflt.$(OBJ) : $(GLSRC)gdevdflt.c $(GXERR)\
1045 $(gsropt_h) $(gxcomp_h) $(gxdevice_h)
1046	$(GLCC) $(GLO_)gdevdflt.$(OBJ) $(C_) $(GLSRC)gdevdflt.c
1047
1048$(GLOBJ)gdevdgbr.$(OBJ) : $(GLSRC)gdevdgbr.c $(GXERR) $(memory__h)\
1049 $(gdevmem_h) $(gxdevice_h) $(gxdevmem_h) $(gxgetbit_h) $(gxlum_h)
1050	$(GLCC) $(GLO_)gdevdgbr.$(OBJ) $(C_) $(GLSRC)gdevdgbr.c
1051
1052$(GLOBJ)gdevnfwd.$(OBJ) : $(GLSRC)gdevnfwd.c $(GXERR)\
1053 $(gxdevice_h) $(gxcmap_h) $(memory__h)
1054	$(GLCC) $(GLO_)gdevnfwd.$(OBJ) $(C_) $(GLSRC)gdevnfwd.c
1055
1056### Other device support
1057
1058# Provide a mapping between StandardEncoding and ISOLatin1Encoding.
1059$(GLOBJ)gdevemap.$(OBJ) : $(GLSRC)gdevemap.c $(AK) $(std_h)
1060	$(GLCC) $(GLO_)gdevemap.$(OBJ) $(C_) $(GLSRC)gdevemap.c
1061
1062###### Create a pseudo-"feature" for the entire graphics library.
1063
1064LIB0s=$(GLOBJ)gpmisc.$(OBJ) $(GLOBJ)stream.$(OBJ)
1065LIB1s=$(GLOBJ)gsalloc.$(OBJ) $(GLOBJ)gsalpha.$(OBJ)
1066LIB2s=$(GLOBJ)gsbitcom.$(OBJ) $(GLOBJ)gsbitops.$(OBJ) $(GLOBJ)gsbittab.$(OBJ)
1067# Note: gschar.c is no longer required for a standard build;
1068# we include it only for backward compatibility for library clients.
1069LIB3s=$(GLOBJ)gscedata.$(OBJ) $(GLOBJ)gscencs.$(OBJ) $(GLOBJ)gschar.$(OBJ) $(GLOBJ)gscolor.$(OBJ)
1070LIB4s= $(GLOBJ)gscoord.$(OBJ) $(GLOBJ)gscparam.$(OBJ) $(GLOBJ)gscspace.$(OBJ) $(GLOBJ)gsovrc.$(OBJ) $(GLOBJ)gxoprect.$(OBJ)
1071LIB5s=$(GLOBJ)gsdevice.$(OBJ) $(GLOBJ)gsdevmem.$(OBJ) $(GLOBJ)gsdparam.$(OBJ) $(GLOBJ)gsdfilt.$(OBJ)
1072LIB6s=$(GLOBJ)gsfname.$(OBJ) $(GLOBJ)gsfont.$(OBJ) $(GLOBJ)gsgdata.$(OBJ) $(GLOBJ)gsgcache.$(OBJ)
1073LIB7s=$(GLOBJ)gsht.$(OBJ) $(GLOBJ)gshtscr.$(OBJ) $(GLOBJ)gswts.$(OBJ)
1074LIB8s=$(GLOBJ)gsimage.$(OBJ) $(GLOBJ)gsimpath.$(OBJ) $(GLOBJ)gsinit.$(OBJ)
1075LIB9s=$(GLOBJ)gsiodev.$(OBJ) $(GLOBJ)gsistate.$(OBJ) $(GLOBJ)gsline.$(OBJ)
1076LIB10s=$(GLOBJ)gsmalloc.$(OBJ) $(GLOBJ)gsmatrix.$(OBJ) $(GLOBJ)gsmemlok.$(OBJ)
1077LIB11s=$(GLOBJ)gsmemory.$(OBJ) $(GLOBJ)gsmemret.$(OBJ) $(GLOBJ)gsmisc.$(OBJ) $(GLOBJ)gsnotify.$(OBJ) $(GLOBJ)gslibctx.$(OBJ)
1078LIB12s=$(GLOBJ)gspaint.$(OBJ) $(GLOBJ)gsparam.$(OBJ) $(GLOBJ)gspath.$(OBJ)
1079LIB13s=$(GLOBJ)gsserial.$(OBJ) $(GLOBJ)gsstate.$(OBJ) $(GLOBJ)gstext.$(OBJ)\
1080  $(GLOBJ)gsutil.$(OBJ)
1081LIB1x=$(GLOBJ)gxacpath.$(OBJ) $(GLOBJ)gxbcache.$(OBJ) $(GLOBJ)gxccache.$(OBJ)
1082LIB2x=$(GLOBJ)gxccman.$(OBJ) $(GLOBJ)gxchar.$(OBJ) $(GLOBJ)gxcht.$(OBJ)
1083LIB3x=$(GLOBJ)gxclip.$(OBJ) $(GLOBJ)gxcmap.$(OBJ) $(GLOBJ)gxcpath.$(OBJ)
1084LIB4x=$(GLOBJ)gxdcconv.$(OBJ) $(GLOBJ)gxdcolor.$(OBJ) $(GLOBJ)gxhldevc.$(OBJ)
1085LIB5x=$(GLOBJ)gxfill.$(OBJ) $(GLOBJ)gxfdrop.$(OBJ) $(GLOBJ)gxht.$(OBJ) $(GLOBJ)gxhtbit.$(OBJ)
1086LIB6x=$(GLOBJ)gxwts.$(OBJ) $(GLOBJ)gxidata.$(OBJ) $(GLOBJ)gxifast.$(OBJ) $(GLOBJ)gximage.$(OBJ)
1087LIB7x=$(GLOBJ)gximage1.$(OBJ) $(GLOBJ)gximono.$(OBJ) $(GLOBJ)gxipixel.$(OBJ)
1088LIB8x=$(GLOBJ)gxpaint.$(OBJ) $(GLOBJ)gxpath.$(OBJ) $(GLOBJ)gxpath2.$(OBJ)
1089LIB9x=$(GLOBJ)gxpcopy.$(OBJ) $(GLOBJ)gxpdash.$(OBJ) $(GLOBJ)gxpflat.$(OBJ)
1090LIB10x=$(GLOBJ)gxsample.$(OBJ) $(GLOBJ)gxstroke.$(OBJ) $(GLOBJ)gxsync.$(OBJ) $(GLOBJ)vdtrace.$(OBJ)
1091LIB1d=$(GLOBJ)gdevabuf.$(OBJ) $(GLOBJ)gdevdbit.$(OBJ) $(GLOBJ)gdevddrw.$(OBJ) $(GLOBJ)gdevdflt.$(OBJ)
1092LIB2d=$(GLOBJ)gdevdgbr.$(OBJ) $(GLOBJ)gdevnfwd.$(OBJ) $(GLOBJ)gdevmem.$(OBJ) $(GLOBJ)gdevplnx.$(OBJ)
1093LIB3d=$(GLOBJ)gdevm1.$(OBJ) $(GLOBJ)gdevm2.$(OBJ) $(GLOBJ)gdevm4.$(OBJ) $(GLOBJ)gdevm8.$(OBJ)
1094LIB4d=$(GLOBJ)gdevm16.$(OBJ) $(GLOBJ)gdevm24.$(OBJ) $(GLOBJ)gdevm32.$(OBJ) $(GLOBJ)gdevmpla.$(OBJ)
1095LIB5d=$(GLOBJ)gdevm40.$(OBJ) $(GLOBJ)gdevm48.$(OBJ) $(GLOBJ)gdevm56.$(OBJ) $(GLOBJ)gdevm64.$(OBJ)
1096LIB6d=$(GLOBJ)gdevdsha.$(OBJ)
1097LIBs=$(LIB0s) $(LIB1s) $(LIB2s) $(LIB3s) $(LIB4s) $(LIB5s) $(LIB6s) $(LIB7s)\
1098 $(LIB8s) $(LIB9s) $(LIB10s) $(LIB11s) $(LIB12s) $(LIB13s)
1099LIBx=$(LIB1x) $(LIB2x) $(LIB3x) $(LIB4x) $(LIB5x) $(LIB6x) $(LIB7x) $(LIB8x) $(LIB9x) $(LIB10x)
1100LIBd=$(LIB1d) $(LIB2d) $(LIB3d) $(LIB4d) $(LIB5d) $(LIB6d)
1101LIB_ALL=$(LIBs) $(LIBx) $(LIBd)
1102# We include some optional library modules in the dependency list,
1103# but not in the link, to catch compilation problems.
1104LIB_O=$(GLOBJ)gdevmpla.$(OBJ) $(GLOBJ)gdevmrun.$(OBJ) $(GLOBJ)gshtx.$(OBJ) $(GLOBJ)gsnogc.$(OBJ)
1105$(GLD)libs.dev : $(LIB_MAK) $(ECHOGS_XE) $(LIBs) $(LIB_O) $(GLD)gsiodevs.dev
1106	$(SETMOD) $(GLD)libs $(LIB0s)
1107	$(ADDMOD) $(GLD)libs $(LIB1s)
1108	$(ADDMOD) $(GLD)libs $(LIB2s)
1109	$(ADDMOD) $(GLD)libs $(LIB3s)
1110	$(ADDMOD) $(GLD)libs $(LIB4s)
1111	$(ADDMOD) $(GLD)libs $(LIB5s)
1112	$(ADDMOD) $(GLD)libs $(LIB6s)
1113	$(ADDMOD) $(GLD)libs $(LIB7s)
1114	$(ADDMOD) $(GLD)libs $(LIB8s)
1115	$(ADDMOD) $(GLD)libs $(LIB9s)
1116	$(ADDMOD) $(GLD)libs $(LIB10s)
1117	$(ADDMOD) $(GLD)libs $(LIB11s)
1118	$(ADDMOD) $(GLD)libs $(LIB12s)
1119	$(ADDMOD) $(GLD)libs $(LIB13s)
1120	$(ADDCOMP) $(GLD)libs overprint
1121	$(ADDCOMP) $(GLD)libs pdf14trans
1122	$(ADDMOD) $(GLD)libs -init gshtscr
1123	$(ADDMOD) $(GLD)libs -include $(GLD)gsiodevs
1124
1125$(GLD)libx.dev : $(LIB_MAK) $(ECHOGS_XE) $(LIBx)
1126	$(SETMOD) $(GLD)libx $(LIB1x)
1127	$(ADDMOD) $(GLD)libx $(LIB2x)
1128	$(ADDMOD) $(GLD)libx $(LIB3x)
1129	$(ADDMOD) $(GLD)libx $(LIB4x)
1130	$(ADDMOD) $(GLD)libx $(LIB5x)
1131	$(ADDMOD) $(GLD)libx $(LIB6x)
1132	$(ADDMOD) $(GLD)libx $(LIB7x)
1133	$(ADDMOD) $(GLD)libx $(LIB8x)
1134	$(ADDMOD) $(GLD)libx $(LIB9x)
1135	$(ADDMOD) $(GLD)libx $(LIB10x)
1136	$(ADDMOD) $(GLD)libx -imageclass 1_simple 3_mono
1137	$(ADDMOD) $(GLD)libx -imagetype 1 mask1
1138
1139$(GLD)libd.dev : $(LIB_MAK) $(ECHOGS_XE) $(LIBd)
1140	$(SETMOD) $(GLD)libd $(LIB1d)
1141	$(ADDMOD) $(GLD)libd $(LIB2d)
1142	$(ADDMOD) $(GLD)libd $(LIB3d)
1143	$(ADDMOD) $(GLD)libd $(LIB4d)
1144	$(ADDMOD) $(GLD)libd $(LIB5d)
1145	$(ADDMOD) $(GLD)libd $(LIB6d)
1146
1147$(GLD)libcore.dev : $(LIB_MAK) $(ECHOGS_XE)\
1148 $(GLD)libs.dev $(GLD)libx.dev $(GLD)libd.dev\
1149 $(GLD)iscale.dev $(GLD)no16bit.dev $(GLD)no12bit.dev $(GLD)noroplib.dev $(GLD)strdline.dev
1150	$(SETMOD) $(GLD)libcore
1151	$(ADDMOD) $(GLD)libcore -dev2 nullpage
1152	$(ADDMOD) $(GLD)libcore -include $(GLD)libs $(GLD)libx $(GLD)libd
1153	$(ADDMOD) $(GLD)libcore -include $(GLD)iscale $(GLD)no16bit $(GLD)no12bit $(GLD)noroplib
1154	$(ADDMOD) $(GLD)libcore -include $(GLD)strdline
1155
1156# ---------------- Stream support ---------------- #
1157# Currently the only things in the library that use this are clists
1158# and file streams.
1159
1160$(GLOBJ)stream.$(OBJ) : $(GLSRC)stream.c $(AK) $(stdio__h) $(memory__h)\
1161 $(gdebug_h) $(gpcheck_h) $(stream_h) $(strimpl_h)
1162	$(GLCC) $(GLO_)stream.$(OBJ) $(C_) $(GLSRC)stream.c
1163
1164# Default, stream-based readline.
1165strdline_=$(GLOBJ)gp_strdl.$(OBJ)
1166$(GLD)strdline.dev : $(LIB_MAK) $(ECHOGS_XE) $(strdline_)
1167	$(SETMOD) $(GLD)strdline $(strdline_)
1168
1169$(GLOBJ)gp_strdl.$(OBJ) : $(GLSRC)gp_strdl.c $(AK) $(std_h) $(gp_h)\
1170 $(gsmemory_h) $(gstypes_h)
1171	$(GLCC) $(GLO_)gp_strdl.$(OBJ) $(C_) $(GLSRC)gp_strdl.c
1172
1173# ---------------- File streams ---------------- #
1174# Currently only the high-level drivers use these, but more drivers will
1175# probably use them eventually.
1176
1177sfile_=$(GLOBJ)sfx$(FILE_IMPLEMENTATION).$(OBJ) $(GLOBJ)stream.$(OBJ)
1178$(GLD)sfile.dev : $(LIB_MAK) $(ECHOGS_XE) $(sfile_)
1179	$(SETMOD) $(GLD)sfile $(sfile_)
1180
1181$(GLOBJ)sfxstdio.$(OBJ) : $(GLSRC)sfxstdio.c $(AK) $(stdio__h) $(memory__h)\
1182 $(gdebug_h) $(gpcheck_h) $(stream_h) $(strimpl_h)
1183	$(GLCC) $(GLO_)sfxstdio.$(OBJ) $(C_) $(GLSRC)sfxstdio.c
1184
1185$(GLOBJ)sfxfd.$(OBJ) : $(GLSRC)sfxfd.c $(AK)\
1186 $(stdio__h) $(errno__h) $(memory__h) $(unistd__h)\
1187 $(gdebug_h) $(gpcheck_h) $(stream_h) $(strimpl_h)
1188	$(GLCC) $(GLO_)sfxfd.$(OBJ) $(C_) $(GLSRC)sfxfd.c
1189
1190$(GLOBJ)sfxboth.$(OBJ) : $(GLSRC)sfxboth.c $(GLSRC)sfxstdio.c $(GLSRC)sfxfd.c
1191	$(GLCC) $(GLO_)sfxboth.$(OBJ) $(C_) $(GLSRC)sfxboth.c
1192
1193# ---------------- BCP filters ---------------- #
1194
1195$(GLOBJ)sbcp.$(OBJ) : $(GLSRC)sbcp.c $(AK) $(stdio__h)\
1196 $(sbcp_h) $(strimpl_h)
1197	$(GLCC) $(GLO_)sbcp.$(OBJ) $(C_) $(GLSRC)sbcp.c
1198
1199# ---------------- CCITTFax filters ---------------- #
1200# These are used by clists, some drivers, and Level 2 in general.
1201
1202cfe_=$(GLOBJ)scfe.$(OBJ) $(GLOBJ)scfetab.$(OBJ) $(GLOBJ)shc.$(OBJ)
1203$(GLD)cfe.dev : $(LIB_MAK) $(ECHOGS_XE) $(cfe_)
1204	$(SETMOD) $(GLD)cfe $(cfe_)
1205
1206$(GLOBJ)scfe.$(OBJ) : $(GLSRC)scfe.c $(AK) $(memory__h) $(stdio__h) $(gdebug_h)\
1207 $(scf_h) $(strimpl_h) $(scfx_h)
1208	$(GLCC) $(GLO_)scfe.$(OBJ) $(C_) $(GLSRC)scfe.c
1209
1210$(GLOBJ)scfetab.$(OBJ) : $(GLSRC)scfetab.c $(AK) $(std_h) $(scommon_h) $(scf_h)
1211	$(GLCC) $(GLO_)scfetab.$(OBJ) $(C_) $(GLSRC)scfetab.c
1212
1213$(GLOBJ)shc.$(OBJ) : $(GLSRC)shc.c $(AK) $(std_h) $(scommon_h) $(shc_h)
1214	$(GLCC) $(GLO_)shc.$(OBJ) $(C_) $(GLSRC)shc.c
1215
1216cfd_=$(GLOBJ)scfd.$(OBJ) $(GLOBJ)scfdtab.$(OBJ)
1217$(GLD)cfd.dev : $(LIB_MAK) $(ECHOGS_XE) $(cfd_)
1218	$(SETMOD) $(GLD)cfd $(cfd_)
1219
1220$(GLOBJ)scfd.$(OBJ) : $(GLSRC)scfd.c $(AK) $(memory__h) $(stdio__h) $(gdebug_h)\
1221 $(scf_h) $(strimpl_h) $(scfx_h)
1222	$(GLCC) $(GLO_)scfd.$(OBJ) $(C_) $(GLSRC)scfd.c
1223
1224$(GLOBJ)scfdtab.$(OBJ) : $(GLSRC)scfdtab.c $(AK) $(std_h) $(scommon_h) $(scf_h)
1225	$(GLCC) $(GLO_)scfdtab.$(OBJ) $(C_) $(GLSRC)scfdtab.c
1226
1227# scfparam is used by the filter operator and the PS/PDF writer.
1228# It is not included automatically in cfe or cfd.
1229$(GLOBJ)scfparam.$(OBJ) : $(GLSRC)scfparam.c $(AK) $(std_h)\
1230 $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsparam_h) $(gstypes_h)\
1231 $(scommon_h) $(scf_h) $(scfx_h)
1232	$(GLCC) $(GLO_)scfparam.$(OBJ) $(C_) $(GLSRC)scfparam.c
1233
1234# ---------------- DCT (JPEG) filters ---------------- #
1235# These are used by Level 2, and by the JPEG-writing driver.
1236
1237# Common code
1238
1239sdcparam_h=$(GLSRC)sdcparam.h
1240
1241sdctc_=$(GLOBJ)sdctc.$(OBJ) $(GLOBJ)sjpegc.$(OBJ)
1242
1243$(GLOBJ)sdctc.$(OBJ) : $(GLSRC)sdctc.c $(AK) $(stdio__h) $(jpeglib__h)\
1244 $(gsmalloc_h) $(gsmemory_h) $(sdct_h) $(strimpl_h)
1245	$(GLCC) $(GLO_)sdctc.$(OBJ) $(C_) $(GLSRC)sdctc.c
1246
1247$(GLOBJ)sjpegc.$(OBJ) : $(GLSRC)sjpegc.c $(AK) $(stdio__h) $(string__h) $(gx_h)\
1248 $(jerror__h) $(jpeglib__h)\
1249 $(gserrors_h) $(sjpeg_h) $(sdct_h) $(strimpl_h)
1250	$(GLJCC) $(GLO_)sjpegc.$(OBJ) $(C_) $(GLSRC)sjpegc.c
1251
1252# sdcparam is used by the filter operator and the PS/PDF writer.
1253# It is not included automatically in sdcte/d.
1254$(GLOBJ)sdcparam.$(OBJ) : $(GLSRC)sdcparam.c $(AK) $(memory__h)\
1255 $(jpeglib__h)\
1256 $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsparam_h) $(gstypes_h)\
1257 $(sdcparam_h) $(sdct_h) $(sjpeg_h) $(strimpl_h)
1258	$(GLCC) $(GLO_)sdcparam.$(OBJ) $(C_) $(GLSRC)sdcparam.c
1259
1260# Encoding (compression)
1261
1262sdcte_=$(sdctc_) $(GLOBJ)sdcte.$(OBJ) $(GLOBJ)sjpege.$(OBJ)
1263$(GLD)sdcte.dev : $(LIB_MAK) $(ECHOGS_XE) $(sdcte_) $(JGENDIR)$(D)jpege.dev
1264	$(SETMOD) $(GLD)sdcte $(sdcte_)
1265	$(ADDMOD) $(GLD)sdcte -include $(JGENDIR)$(D)jpege.dev
1266
1267$(GLOBJ)sdcte.$(OBJ) : $(GLSRC)sdcte.c $(AK)\
1268 $(memory__h) $(stdio__h) $(gdebug_h) $(gsmalloc_h) $(gsmemory_h)\
1269 $(jerror__h) $(jpeglib__h)\
1270 $(sdct_h) $(sjpeg_h) $(strimpl_h)
1271	$(GLJCC) $(GLO_)sdcte.$(OBJ) $(C_) $(GLSRC)sdcte.c
1272
1273$(GLOBJ)sjpege.$(OBJ) : $(GLSRC)sjpege.c $(AK)\
1274 $(stdio__h) $(string__h) $(gx_h)\
1275 $(jerror__h) $(jpeglib__h)\
1276 $(gserrors_h) $(sjpeg_h) $(sdct_h) $(strimpl_h)
1277	$(GLJCC) $(GLO_)sjpege.$(OBJ) $(C_) $(GLSRC)sjpege.c
1278
1279# sdeparam is used by the filter operator and the PS/PDF writer.
1280# It is not included automatically in sdcte.
1281sdeparam_=$(GLOBJ)sdeparam.$(OBJ) $(GLOBJ)sdcparam.$(OBJ)
1282$(GLD)sdeparam.dev : $(LIB_MAK) $(ECHOGS_XE) $(sdeparam_)
1283	$(SETMOD) $(GLD)sdeparam $(sdeparam_)
1284
1285$(GLOBJ)sdeparam.$(OBJ) : $(GLSRC)sdeparam.c $(AK) $(memory__h)\
1286 $(jpeglib__h)\
1287 $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsparam_h) $(gstypes_h)\
1288 $(sdcparam_h) $(sdct_h) $(sjpeg_h) $(strimpl_h)
1289	$(GLCC) $(GLO_)sdeparam.$(OBJ) $(C_) $(GLSRC)sdeparam.c
1290
1291# Decoding (decompression)
1292
1293sdctd_=$(sdctc_) $(GLOBJ)sdctd.$(OBJ) $(GLOBJ)sjpegd.$(OBJ)
1294$(GLD)sdctd.dev : $(LIB_MAK) $(ECHOGS_XE) $(sdctd_) $(JGENDIR)$(D)jpegd.dev
1295	$(SETMOD) $(GLD)sdctd $(sdctd_)
1296	$(ADDMOD) $(GLD)sdctd -include $(JGENDIR)$(D)jpegd.dev
1297
1298$(GLOBJ)sdctd.$(OBJ) : $(GLSRC)sdctd.c $(AK)\
1299 $(memory__h) $(stdio__h) $(gdebug_h) $(gsmalloc_h) $(gsmemory_h)\
1300 $(jerror__h) $(jpeglib__h)\
1301 $(sdct_h) $(sjpeg_h) $(strimpl_h)
1302	$(GLJCC) $(GLO_)sdctd.$(OBJ) $(C_) $(GLSRC)sdctd.c
1303
1304$(GLOBJ)sjpegd.$(OBJ) : $(GLSRC)sjpegd.c $(AK)\
1305 $(stdio__h) $(string__h) $(gx_h)\
1306 $(jerror__h) $(jpeglib__h)\
1307 $(gserrors_h) $(sjpeg_h) $(sdct_h) $(strimpl_h)
1308	$(GLJCC) $(GLO_)sjpegd.$(OBJ) $(C_) $(GLSRC)sjpegd.c
1309
1310# sddparam is used by the filter operator.
1311# It is not included automatically in sdctd.
1312sddparam_=$(GLOBJ)sddparam.$(OBJ) $(GLOBJ)sdcparam.$(OBJ)
1313$(GLD)sddparam.dev : $(LIB_MAK) $(ECHOGS_XE) $(sddparam_)
1314	$(SETMOD) $(GLD)sddparam $(sddparam_)
1315
1316$(GLOBJ)sddparam.$(OBJ) : $(GLSRC)sddparam.c $(AK) $(std_h)\
1317 $(jpeglib__h)\
1318 $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsparam_h) $(gstypes_h)\
1319 $(sdcparam_h) $(sdct_h) $(sjpeg_h) $(strimpl_h)
1320	$(GLCC) $(GLO_)sddparam.$(OBJ) $(C_) $(GLSRC)sddparam.c
1321
1322# ---------------- LZW filters ---------------- #
1323# These are used by Level 2 in general.
1324
1325lzwe_=$(GLOBJ)slzwe.$(OBJ) $(GLOBJ)slzwc.$(OBJ)
1326$(GLD)lzwe.dev : $(LIB_MAK) $(ECHOGS_XE) $(lzwe_)
1327	$(SETMOD) $(GLD)lzwe $(lzwe_)
1328
1329# We need slzwe.dev as a synonym for lzwe.dev for BAND_LIST_STORAGE = memory.
1330$(GLD)slzwe.dev : $(GLD)lzwe.dev
1331	$(CP_) $(GLD)lzwe.dev $(GLD)slzwe.dev
1332
1333$(GLOBJ)slzwe.$(OBJ) : $(GLSRC)slzwe.c $(AK) $(stdio__h) $(gdebug_h)\
1334 $(slzwx_h) $(strimpl_h)
1335	$(GLCC) $(GLO_)slzwe.$(OBJ) $(C_) $(GLSRC)slzwe.c
1336
1337$(GLOBJ)slzwc.$(OBJ) : $(GLSRC)slzwc.c $(AK) $(std_h)\
1338 $(slzwx_h) $(strimpl_h)
1339	$(GLCC) $(GLO_)slzwc.$(OBJ) $(C_) $(GLSRC)slzwc.c
1340
1341lzwd_=$(GLOBJ)slzwd.$(OBJ) $(GLOBJ)slzwc.$(OBJ)
1342$(GLD)lzwd.dev : $(LIB_MAK) $(ECHOGS_XE) $(lzwd_)
1343	$(SETMOD) $(GLD)lzwd $(lzwd_)
1344
1345# We need slzwd.dev as a synonym for lzwd.dev for BAND_LIST_STORAGE = memory.
1346$(GLD)slzwd.dev : $(GLD)lzwd.dev
1347	$(CP_) $(GLD)lzwd.dev $(GLD)slzwd.dev
1348
1349$(GLOBJ)slzwd.$(OBJ) : $(GLSRC)slzwd.c $(AK) $(stdio__h) $(gdebug_h)\
1350 $(slzwx_h) $(strimpl_h)
1351	$(GLCC) $(GLO_)slzwd.$(OBJ) $(C_) $(GLSRC)slzwd.c
1352
1353# ---------------- MD5 digest filter ---------------- #
1354
1355smd5_=$(GLOBJ)smd5.$(OBJ)
1356$(GLD)smd5.dev : $(LIB_MAK) $(ECHOGS_XE) $(smd5_) $(md5_)
1357	$(SETMOD) $(GLD)smd5 $(smd5_) $(md5_)
1358
1359$(GLOBJ)smd5.$(OBJ) : $(GLSRC)smd5.c $(AK) $(memory__h)\
1360 $(smd5_h) $(strimpl_h) $(stream_h)
1361	$(GLCC) $(GLO_)smd5.$(OBJ) $(C_) $(GLSRC)smd5.c
1362
1363# -------------- Arcfour cipher filter --------------- #
1364
1365sarc4_=$(GLOBJ)sarc4.$(OBJ)
1366$(GLD)sarc4.dev : $(LIB_MAK) $(ECHOGS_XE) $(sarc4_)
1367	$(SETMOD) $(GLD)sarc4 $(sarc4_)
1368
1369$(GLOBJ)sarc4.$(OBJ) : $(GLSRC)sarc4.c $(AK) $(memory__h)\
1370 $(gserror_h) $(gserrors_h) $(sarc4_h) $(strimpl_h)
1371	$(GLCC) $(GLO_)sarc4.$(OBJ) $(C_) $(GLSRC)sarc4.c
1372
1373# ---------------- JBIG2 compression filter ---------------- #
1374
1375sjbig2_=$(GLOBJ)sjbig2.$(OBJ)
1376$(GLD)sjbig2.dev : $(LIB_MAK) $(ECHOGS_XE) $(GLD)libjbig2.dev $(sjbig2_)
1377	$(SETMOD) $(GLD)sjbig2 $(sjbig2_)
1378	$(ADDMOD) $(GLD)sjbig2 -include $(GLD)libjbig2.dev
1379
1380$(GLOBJ)sjbig2.$(OBJ) : $(GLSRC)sjbig2.c $(AK) \
1381 $(stdint__h) $(memory__h) $(stdio__h) $(gserror_h) $(gserrors_h) $(gdebug_h) \
1382 $(sjbig2_h) $(strimpl_h)
1383	$(GLJBIG2CC) $(GLO_)sjbig2.$(OBJ) $(C_) $(GLSRC)sjbig2.c
1384
1385# ---------------- JPEG 2000 compression filter ---------------- #
1386
1387sjpx_=$(GLOBJ)sjpx.$(OBJ)
1388$(GLD)sjpx.dev : $(LIB_MAK) $(ECHOGS_XE) $(GLD)libjasper.dev $(sjpx_)
1389	$(SETMOD) $(GLD)sjpx $(sjpx_)
1390	$(ADDMOD) $(GLD)sjpx -include $(GLD)libjasper.dev
1391
1392$(GLOBJ)sjpx.$(OBJ) : $(GLSRC)sjpx.c $(AK) \
1393 $(memory__h) $(stdio__h) $(gsmalloc_h) $(gserror_h) $(gserrors_h) \
1394 $(gdebug_h) $(strimpl_h) $(sjpx_h)
1395	$(GLCC) $(I_)$(JASI_)$(_I) $(JASCF_) $(GLO_)sjpx.$(OBJ) $(C_) $(GLSRC)sjpx.c
1396
1397# libjasper.dev is created in jasper.mak
1398
1399# ---------------- Pixel-difference filters ---------------- #
1400# The Predictor facility of the LZW and Flate filters uses these.
1401
1402pdiff_=$(GLOBJ)spdiff.$(OBJ)
1403$(GLD)pdiff.dev : $(LIB_MAK) $(ECHOGS_XE) $(pdiff_)
1404	$(SETMOD) $(GLD)pdiff $(pdiff_)
1405
1406$(GLOBJ)spdiff.$(OBJ) : $(GLSRC)spdiff.c $(AK) $(memory__h) $(stdio__h)\
1407 $(spdiffx_h) $(strimpl_h)
1408	$(GLCC) $(GLO_)spdiff.$(OBJ) $(C_) $(GLSRC)spdiff.c
1409
1410# ---------------- PNG pixel prediction filters ---------------- #
1411# The Predictor facility of the LZW and Flate filters uses these.
1412
1413pngp_=$(GLOBJ)spngp.$(OBJ)
1414$(GLD)pngp.dev : $(LIB_MAK) $(ECHOGS_XE) $(pngp_)
1415	$(SETMOD) $(GLD)pngp $(pngp_)
1416
1417$(GLOBJ)spngp.$(OBJ) : $(GLSRC)spngp.c $(AK) $(memory__h)\
1418 $(spngpx_h) $(strimpl_h)
1419	$(GLCC) $(GLO_)spngp.$(OBJ) $(C_) $(GLSRC)spngp.c
1420
1421# ---------------- RunLength filters ---------------- #
1422# These are used by clists and also by Level 2 in general.
1423
1424rle_=$(GLOBJ)srle.$(OBJ)
1425$(GLD)rle.dev : $(LIB_MAK) $(ECHOGS_XE) $(rle_)
1426	$(SETMOD) $(GLD)rle $(rle_)
1427
1428$(GLOBJ)srle.$(OBJ) : $(GLSRC)srle.c $(AK) $(stdio__h) $(memory__h)\
1429 $(srlx_h) $(strimpl_h)
1430	$(GLCC) $(GLO_)srle.$(OBJ) $(C_) $(GLSRC)srle.c
1431
1432rld_=$(GLOBJ)srld.$(OBJ)
1433$(GLD)rld.dev : $(LIB_MAK) $(ECHOGS_XE) $(rld_)
1434	$(SETMOD) $(GLD)rld $(rld_)
1435
1436$(GLOBJ)srld.$(OBJ) : $(GLSRC)srld.c $(AK) $(stdio__h) $(memory__h)\
1437 $(srlx_h) $(strimpl_h)
1438	$(GLCC) $(GLO_)srld.$(OBJ) $(C_) $(GLSRC)srld.c
1439
1440# ---------------- String encoding/decoding filters ---------------- #
1441# These are used by the PostScript and PDF writers, and also by the
1442# PostScript interpreter.
1443
1444$(GLOBJ)sa85d.$(OBJ) : $(GLSRC)sa85d.c $(AK) $(std_h)\
1445 $(sa85d_h) $(scanchar_h) $(strimpl_h)
1446	$(GLCC) $(GLO_)sa85d.$(OBJ) $(C_) $(GLSRC)sa85d.c
1447
1448$(GLOBJ)scantab.$(OBJ) : $(GLSRC)scantab.c $(AK) $(stdpre_h)\
1449 $(scanchar_h) $(scommon_h)
1450	$(GLCC) $(GLO_)scantab.$(OBJ) $(C_) $(GLSRC)scantab.c
1451
1452$(GLOBJ)sfilter2.$(OBJ) : $(GLSRC)sfilter2.c $(AK) $(memory__h) $(stdio__h)\
1453 $(gdebug_h) $(sa85x_h) $(scanchar_h) $(sbtx_h) $(strimpl_h)
1454	$(GLCC) $(GLO_)sfilter2.$(OBJ) $(C_) $(GLSRC)sfilter2.c
1455
1456$(GLOBJ)sstring.$(OBJ) : $(GLSRC)sstring.c $(AK)\
1457 $(stdio__h) $(memory__h) $(string__h)\
1458 $(scanchar_h) $(sstring_h) $(strimpl_h)
1459	$(GLCC) $(GLO_)sstring.$(OBJ) $(C_) $(GLSRC)sstring.c
1460
1461$(GLOBJ)spprint.$(OBJ) : $(GLSRC)spprint.c\
1462 $(math__h) $(stdio__h) $(string__h)\
1463 $(spprint_h) $(stream_h)
1464	$(GLCC) $(GLO_)spprint.$(OBJ) $(C_) $(GLSRC)spprint.c
1465
1466$(GLOBJ)spsdf.$(OBJ) : $(GLSRC)spsdf.c $(stdio__h) $(string__h)\
1467 $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gstypes_h)\
1468 $(sa85x_h) $(scanchar_h) $(spprint_h) $(spsdf_h)\
1469 $(sstring_h) $(stream_h) $(strimpl_h)
1470	$(GLCC) $(GLO_)spsdf.$(OBJ) $(C_) $(GLSRC)spsdf.c
1471
1472# ---------------- zlib filters ---------------- #
1473# These are used by clists and are also available as filters.
1474
1475szlibc_=$(GLOBJ)szlibc.$(OBJ)
1476
1477$(GLOBJ)szlibc.$(OBJ) : $(GLSRC)szlibc.c $(AK) $(std_h)\
1478 $(gserror_h) $(gserrors_h) $(gsmalloc_h) $(gsmemory_h)\
1479 $(gsstruct_h) $(gstypes_h)\
1480 $(strimpl_h) $(szlibxx_h)
1481	$(GLZCC) $(GLO_)szlibc.$(OBJ) $(C_) $(GLSRC)szlibc.c
1482
1483szlibe_=$(szlibc_) $(GLOBJ)szlibe.$(OBJ)
1484$(GLD)szlibe.dev : $(LIB_MAK) $(ECHOGS_XE) $(ZGENDIR)$(D)zlibe.dev $(szlibe_)
1485	$(SETMOD) $(GLD)szlibe $(szlibe_)
1486	$(ADDMOD) $(GLD)szlibe -include $(ZGENDIR)$(D)zlibe.dev
1487
1488$(GLOBJ)szlibe.$(OBJ) : $(GLSRC)szlibe.c $(AK) $(std_h)\
1489 $(gsmalloc_h) $(gsmemory_h) $(strimpl_h) $(szlibxx_h)
1490	$(GLZCC) $(GLO_)szlibe.$(OBJ) $(C_) $(GLSRC)szlibe.c
1491
1492szlibd_=$(szlibc_) $(GLOBJ)szlibd.$(OBJ)
1493$(GLD)szlibd.dev : $(LIB_MAK) $(ECHOGS_XE) $(ZGENDIR)$(D)zlibd.dev $(szlibd_)
1494	$(SETMOD) $(GLD)szlibd $(szlibd_)
1495	$(ADDMOD) $(GLD)szlibd -include $(ZGENDIR)$(D)zlibd.dev
1496
1497$(GLOBJ)szlibd.$(OBJ) : $(GLSRC)szlibd.c $(AK) $(std_h) $(memory__h)\
1498 $(gsmalloc_h) $(gsmemory_h) $(strimpl_h) $(szlibxx_h)
1499	$(GLZCC) $(GLO_)szlibd.$(OBJ) $(C_) $(GLSRC)szlibd.c
1500
1501# ---------------- Page devices ---------------- #
1502# We include this here, rather than in devs.mak, because it is more like
1503# a feature than a simple device.
1504
1505gdevprn_h=$(GLSRC)gdevprn.h $(memory__h) $(string__h) $(gp_h) $(gx_h)\
1506 $(gserrors_h) $(gsmatrix_h) $(gsparam_h) $(gsutil_h)\
1507 $(gxclist_h) $(gxdevice_h) $(gxdevmem_h) $(gxrplane_h)
1508
1509page_=$(GLOBJ)gdevprn.$(OBJ)
1510$(GLD)page.dev : $(LIB_MAK) $(ECHOGS_XE) $(page_) $(GLD)clist.dev
1511	$(SETMOD) $(GLD)page $(page_)
1512	$(ADDMOD) $(GLD)page -include $(GLD)clist
1513
1514$(GLOBJ)gdevprn.$(OBJ) : $(GLSRC)gdevprn.c $(ctype__h)\
1515 $(gdevprn_h) $(gp_h) $(gsdevice_h) $(gsfname_h) $(gsparam_h)\
1516 $(gxclio_h) $(gxgetbit_h) $(gdevplnx_h) $(gstrans_h)
1517	$(GLCC) $(GLO_)gdevprn.$(OBJ) $(C_) $(GLSRC)gdevprn.c
1518
1519# Planar page devices
1520gdevppla_h=$(GLSRC)gdevppla.h
1521
1522$(GLOBJ)gdevppla.$(OBJ) : $(GLSRC)gdevppla.c\
1523 $(gdevmpla_h) $(gdevppla_h) $(gdevprn_h)
1524	$(GLCC) $(GLO_)gdevppla.$(OBJ) $(C_) $(GLSRC)gdevppla.c
1525
1526# ---------------- Masked images ---------------- #
1527# This feature is out of level order because Patterns require it
1528# (which they shouldn't) and because band lists treat ImageType 4
1529# images as a special case (which they shouldn't).
1530
1531gsiparm3_h=$(GLSRC)gsiparm3.h $(gsiparam_h)
1532gsiparm4_h=$(GLSRC)gsiparm4.h $(gsiparam_h)
1533gximage3_h=$(GLSRC)gximage3.h $(gsiparm3_h) $(gxiparam_h)
1534
1535$(GLOBJ)gxclipm.$(OBJ) : $(GLSRC)gxclipm.c $(GX) $(memory__h)\
1536 $(gsbittab_h) $(gxclipm_h) $(gxdevice_h) $(gxdevmem_h)
1537	$(GLCC) $(GLO_)gxclipm.$(OBJ) $(C_) $(GLSRC)gxclipm.c
1538
1539$(GLOBJ)gximage3.$(OBJ) : $(GLSRC)gximage3.c $(GXERR) $(math__h) $(memory__h)\
1540 $(gsbitops_h) $(gscspace_h) $(gsstruct_h)\
1541 $(gxclipm_h) $(gxdevice_h) $(gxdevmem_h) $(gximage3_h) $(gxistate_h)
1542	$(GLCC) $(GLO_)gximage3.$(OBJ) $(C_) $(GLSRC)gximage3.c
1543
1544$(GLOBJ)gximage4.$(OBJ) : $(GLSRC)gximage4.c $(memory__h) $(GXERR)\
1545 $(gscspace_h) $(gsiparm4_h) $(gxiparam_h) $(gximage_h)\
1546 $(stream_h)
1547	$(GLCC) $(GLO_)gximage4.$(OBJ) $(C_) $(GLSRC)gximage4.c
1548
1549imasklib_=$(GLOBJ)gxclipm.$(OBJ) $(GLOBJ)gximage3.$(OBJ) $(GLOBJ)gximage4.$(OBJ) $(GLOBJ)gxmclip.$(OBJ)
1550$(GLD)imasklib.dev : $(LIB_MAK) $(ECHOGS_XE) $(imasklib_)
1551	$(SETMOD) $(GLD)imasklib $(imasklib_)
1552	$(ADDMOD) $(GLD)imasklib -imagetype 3 4
1553
1554# ---------------- Banded ("command list") devices ---------------- #
1555
1556gxcldev_h=$(GLSRC)gxcldev.h $(gxclist_h) $(gsropt_h) $(gxht_h) $(gxtmap_h) $(gxdht_h)\
1557 $(strimpl_h) $(scfx_h) $(srlx_h) $(gsdcolor_h)
1558gxclpage_h=$(GLSRC)gxclpage.h $(gxclio_h)
1559gxclpath_h=$(GLSRC)gxclpath.h
1560
1561clbase1_=$(GLOBJ)gxclist.$(OBJ) $(GLOBJ)gxclbits.$(OBJ) $(GLOBJ)gxclpage.$(OBJ)
1562clbase2_=$(GLOBJ)gxclrast.$(OBJ) $(GLOBJ)gxclread.$(OBJ) $(GLOBJ)gxclrect.$(OBJ)
1563clbase3_=$(GLOBJ)gxclutil.$(OBJ) $(GLOBJ)gsparams.$(OBJ)
1564# gxclrect.c requires rop_proc_table, so we need gsroptab here.
1565clbase4_=$(GLOBJ)gsroptab.$(OBJ) $(GLOBJ)stream.$(OBJ)
1566clpath_=$(GLOBJ)gxclimag.$(OBJ) $(GLOBJ)gxclpath.$(OBJ) $(GLOBJ)gxdhtserial.$(OBJ)
1567clist_=$(clbase1_) $(clbase2_) $(clbase3_) $(clbase4_) $(clpath_)
1568$(GLD)clist.dev : $(LIB_MAK) $(ECHOGS_XE) $(clist_)\
1569 $(GLD)cl$(BAND_LIST_STORAGE).dev\
1570 $(GLD)cfe.dev $(GLD)cfd.dev $(GLD)rle.dev $(GLD)rld.dev $(GLD)psl2cs.dev
1571	$(SETMOD) $(GLD)clist $(clbase1_)
1572	$(ADDMOD) $(GLD)clist -obj $(clbase2_)
1573	$(ADDMOD) $(GLD)clist -obj $(clbase3_)
1574	$(ADDMOD) $(GLD)clist -obj $(clbase4_)
1575	$(ADDMOD) $(GLD)clist -obj $(clpath_)
1576	$(ADDMOD) $(GLD)clist -include $(GLD)cl$(BAND_LIST_STORAGE)
1577	$(ADDMOD) $(GLD)clist -include $(GLD)cfe $(GLD)cfd $(GLD)rle $(GLD)rld $(GLD)psl2cs
1578
1579$(GLOBJ)gxclist.$(OBJ) : $(GLSRC)gxclist.c $(GXERR) $(memory__h) $(string__h)\
1580 $(gp_h) $(gpcheck_h) $(gsparams_h)\
1581 $(gxcldev_h) $(gxclpath_h) $(gxdevice_h) $(gxdevmem_h) $(gxdcolor_h)
1582	$(GLCC) $(GLO_)gxclist.$(OBJ) $(C_) $(GLSRC)gxclist.c
1583
1584$(GLOBJ)gxclbits.$(OBJ) : $(GLSRC)gxclbits.c $(GXERR) $(memory__h) $(gpcheck_h)\
1585 $(gsbitops_h) $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h) $(gxfmap_h)
1586	$(GLCC) $(GLO_)gxclbits.$(OBJ) $(C_) $(GLSRC)gxclbits.c
1587
1588$(GLOBJ)gxclpage.$(OBJ) : $(GLSRC)gxclpage.c $(AK)\
1589 $(gdevprn_h) $(gxcldev_h) $(gxclpage_h)
1590	$(GLCC) $(GLO_)gxclpage.$(OBJ) $(C_) $(GLSRC)gxclpage.c
1591
1592$(GLOBJ)gxclrast.$(OBJ) : $(GLSRC)gxclrast.c $(GXERR)\
1593 $(memory__h) $(gp_h) $(gpcheck_h)\
1594 $(gscdefs_h) $(gsbitops_h) $(gsparams_h) $(gsstate_h)\
1595 $(gxdcolor_h) $(gxdevice_h)\
1596 $(gsdevice_h) $(gsiparm4_h)\
1597 $(gxdevmem_h) $(gxcldev_h) $(gxclpath_h) $(gxcmap_h)\
1598 $(gxcolor2_h) $(gxcspace_h) $(gxdhtres_h) $(gxgetbit_h)\
1599 $(gxpaint_h) $(gxhttile_h) $(gxiparam_h)\
1600 $(gzpath_h) $(gxcpath_h) $(gzacpath_h)\
1601 $(stream_h) $(strimpl_h) $(gxcomp_h)\
1602 $(gsserial_h) $(gxdhtserial_h) $(gzht_h)
1603	$(GLCC) $(GLO_)gxclrast.$(OBJ) $(C_) $(GLSRC)gxclrast.c
1604
1605$(GLOBJ)gxclread.$(OBJ) : $(GLSRC)gxclread.c $(GXERR)\
1606 $(memory__h) $(gp_h) $(gpcheck_h)\
1607 $(gdevplnx_h) $(gdevprn_h)\
1608 $(gscoord_h) $(gsdevice_h)\
1609 $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h) $(gxgetbit_h) $(gxhttile_h)\
1610 $(stream_h) $(strimpl_h)
1611	$(GLCC) $(GLO_)gxclread.$(OBJ) $(C_) $(GLSRC)gxclread.c
1612
1613$(GLOBJ)gxclrect.$(OBJ) : $(GLSRC)gxclrect.c $(GXERR)\
1614 $(gsutil_h) $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h)
1615	$(GLCC) $(GLO_)gxclrect.$(OBJ) $(C_) $(GLSRC)gxclrect.c
1616
1617$(GLOBJ)gxclimag.$(OBJ) : $(GLSRC)gxclimag.c $(GXERR) $(math__h) $(memory__h)\
1618 $(gscdefs_h) $(gscspace_h)\
1619 $(gxarith_h) $(gxcldev_h) $(gxclpath_h) $(gxcspace_h)\
1620 $(gxdevice_h) $(gxdevmem_h) $(gxfmap_h) $(gxiparam_h) $(gxpath_h)\
1621 $(sisparam_h) $(stream_h) $(strimpl_h) $(gxcomp_h) $(gsserial_h)\
1622 $(gxdhtserial_h)
1623	$(GLCC) $(GLO_)gxclimag.$(OBJ) $(C_) $(GLSRC)gxclimag.c
1624
1625$(GLOBJ)gxclpath.$(OBJ) : $(GLSRC)gxclpath.c $(GXERR)\
1626 $(math__h) $(memory__h) $(gpcheck_h)\
1627 $(gxcldev_h) $(gxclpath_h) $(gxcolor2_h)\
1628 $(gxdcolor_h) $(gxpaint_h)\
1629 $(gzpath_h) $(gzcpath_h) $(stream_h) $(gsserial_h)
1630	$(GLCC) $(GLO_)gxclpath.$(OBJ) $(C_) $(GLSRC)gxclpath.c
1631
1632$(GLOBJ)gxdhtserial.$(OBJ) : $(GLSRC)gxdhtserial.c $(memory__h) $(GXERR)\
1633 $(gscdefs_h) $(gsstruct_h) $(gsutil_h) $(gzstate_h) $(gxdevice_h) $(gzht_h)\
1634 $(gswts_h) $(gxdhtres_h) $(gsserial_h) $(gxdhtserial_h)
1635	$(GLCC) $(GLO_)gxdhtserial.$(OBJ) $(C_) $(GLSRC)gxdhtserial.c
1636
1637$(GLOBJ)gxclutil.$(OBJ) : $(GLSRC)gxclutil.c $(GXERR) $(memory__h) $(string__h)\
1638 $(gp_h) $(gpcheck_h)\
1639 $(gsparams_h)\
1640 $(gxcldev_h) $(gxclpath_h) $(gxdevice_h) $(gxdevmem_h)
1641	$(GLCC) $(GLO_)gxclutil.$(OBJ) $(C_) $(GLSRC)gxclutil.c
1642
1643# Implement band lists on files.
1644
1645clfile_=$(GLOBJ)gxclfile.$(OBJ)
1646$(GLD)clfile.dev : $(LIB_MAK) $(ECHOGS_XE) $(clfile_)
1647	$(SETMOD) $(GLD)clfile $(clfile_)
1648
1649$(GLOBJ)gxclfile.$(OBJ) : $(GLSRC)gxclfile.c $(stdio__h) $(string__h)\
1650 $(gp_h) $(gsmemory_h) $(gserror_h) $(gserrors_h) $(gxclio_h)
1651	$(GLCC) $(GLO_)gxclfile.$(OBJ) $(C_) $(GLSRC)gxclfile.c
1652
1653# Implement band lists in memory (RAM).
1654
1655clmemory_=$(GLOBJ)gxclmem.$(OBJ) $(GLOBJ)gxcl$(BAND_LIST_COMPRESSOR).$(OBJ)
1656$(GLD)clmemory.dev : $(LIB_MAK) $(ECHOGS_XE) $(clmemory_) $(GLD)s$(BAND_LIST_COMPRESSOR)e.dev $(GLD)s$(BAND_LIST_COMPRESSOR)d.dev
1657	$(SETMOD) $(GLD)clmemory $(clmemory_)
1658	$(ADDMOD) $(GLD)clmemory -include $(GLD)s$(BAND_LIST_COMPRESSOR)e
1659	$(ADDMOD) $(GLD)clmemory -include $(GLD)s$(BAND_LIST_COMPRESSOR)d
1660	$(ADDMOD) $(GLD)clmemory -init cl_$(BAND_LIST_COMPRESSOR)
1661
1662gxclmem_h=$(GLSRC)gxclmem.h $(gxclio_h) $(strimpl_h)
1663
1664$(GLOBJ)gxclmem.$(OBJ) : $(GLSRC)gxclmem.c $(GXERR) $(LIB_MAK) $(memory__h)\
1665 $(gxclmem_h)
1666	$(GLCC) $(GLO_)gxclmem.$(OBJ) $(C_) $(GLSRC)gxclmem.c
1667
1668# Implement the compression method for RAM-based band lists.
1669
1670$(GLOBJ)gxcllzw.$(OBJ) : $(GLSRC)gxcllzw.c $(std_h)\
1671 $(gsmemory_h) $(gstypes_h) $(gxclmem_h) $(slzwx_h)
1672	$(GLCC) $(GLO_)gxcllzw.$(OBJ) $(C_) $(GLSRC)gxcllzw.c
1673
1674$(GLOBJ)gxclzlib.$(OBJ) : $(GLSRC)gxclzlib.c $(std_h)\
1675 $(gsmemory_h) $(gstypes_h) $(gxclmem_h) $(szlibx_h)
1676	$(GLCC) $(GLO_)gxclzlib.$(OBJ) $(C_) $(GLSRC)gxclzlib.c
1677
1678# ---------------- Vector devices ---------------- #
1679# We include this here for the same reasons as page.dev.
1680
1681gdevvec_h=$(GLSRC)gdevvec.h $(gdevbbox_h) $(gp_h)\
1682 $(gsropt_h) $(gxdevice_h) $(gxiparam_h) $(gxistate_h) $(gxhldevc_h) $(stream_h)
1683
1684vector_=$(GLOBJ)gdevvec.$(OBJ)
1685$(GLD)vector.dev : $(LIB_MAK) $(ECHOGS_XE) $(vector_)\
1686 $(GLD)bboxutil.dev $(GLD)sfile.dev
1687	$(SETMOD) $(GLD)vector $(vector_)
1688	$(ADDMOD) $(GLD)vector -include $(GLD)bboxutil $(GLD)sfile
1689
1690$(GLOBJ)gdevvec.$(OBJ) : $(GLSRC)gdevvec.c $(GXERR)\
1691 $(math__h) $(memory__h) $(string__h)\
1692 $(gdevvec_h) $(gp_h) $(gscspace_h) $(gsparam_h) $(gsutil_h)\
1693 $(gxdcolor_h) $(gxfixed_h) $(gxpaint_h)\
1694 $(gzcpath_h) $(gzpath_h)
1695	$(GLCC) $(GLO_)gdevvec.$(OBJ) $(C_) $(GLSRC)gdevvec.c
1696
1697# ---------------- Image scaling filters ---------------- #
1698
1699iscale_=$(GLOBJ)siinterp.$(OBJ) $(GLOBJ)siscale.$(OBJ)
1700$(GLD)iscale.dev : $(LIB_MAK) $(ECHOGS_XE) $(iscale_)
1701	$(SETMOD) $(GLD)iscale $(iscale_)
1702
1703$(GLOBJ)siinterp.$(OBJ) : $(GLSRC)siinterp.c $(AK)\
1704 $(memory__h) $(gxdda_h) $(gxfixed_h) $(gxfrac_h)\
1705 $(siinterp_h) $(strimpl_h)
1706	$(GLCC) $(GLO_)siinterp.$(OBJ) $(C_) $(GLSRC)siinterp.c
1707
1708$(GLOBJ)siscale.$(OBJ) : $(GLSRC)siscale.c $(AK)\
1709 $(math__h) $(memory__h) $(stdio__h)\
1710 $(gconfigv_h) $(gdebug_h)\
1711 $(siscale_h) $(strimpl_h)
1712	$(GLCC) $(GLO_)siscale.$(OBJ) $(C_) $(GLSRC)siscale.c
1713
1714# ---------------- Extended halftone support ---------------- #
1715# This is only used by one non-PostScript-based project.
1716
1717gshtx_h=$(GLSRC)gshtx.h $(gsht1_h) $(gsmemory_h) $(gxtmap_h) $(gscspace_h)
1718
1719htxlib_=$(GLOBJ)gshtx.$(OBJ)
1720$(GLD)htxlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(htxlib_)
1721	$(SETMOD) $(GLD)htxlib $(htxlib_)
1722
1723$(GLOBJ)gshtx.$(OBJ) : $(GLSRC)gshtx.c $(GXERR) $(memory__h)\
1724 $(gsstruct_h) $(gsutil_h)\
1725 $(gxfmap_h) $(gshtx_h) $(gzht_h) $(gzstate_h)
1726	$(GLCC) $(GLO_)gshtx.$(OBJ) $(C_) $(GLSRC)gshtx.c
1727
1728# ---------------- RasterOp et al ---------------- #
1729# Note that noroplib is a default, roplib replaces it.
1730
1731gsropc_h=$(GLSRC)gsropc.h $(gscompt_h) $(gsropt_h)
1732gxropc_h=$(GLSRC)gxropc.h $(gsropc_h) $(gxcomp_h)
1733
1734noroplib_=$(GLOBJ)gsnorop.$(OBJ)
1735$(GLD)noroplib.dev : $(LIB_MAK) $(ECHOGS_XE) $(noroplib_)
1736	$(SETMOD) $(GLD)noroplib $(noroplib_)
1737
1738$(GLOBJ)gsnorop.$(OBJ) : $(GLSRC)gsnorop.c $(GXERR)\
1739 $(gdevmem_h) $(gdevmrop_h) $(gsrop_h)\
1740 $(gxdevcli_h) $(gxdevice_h) $(gxdevmem_h)
1741	$(GLCC) $(GLO_)gsnorop.$(OBJ) $(C_) $(GLSRC)gsnorop.c
1742
1743roplib1_=$(GLOBJ)gdevdrop.$(OBJ)
1744roplib2_=$(GLOBJ)gdevmr1.$(OBJ) $(GLOBJ)gdevmr2n.$(OBJ) $(GLOBJ)gdevmr8n.$(OBJ)
1745roplib3_=$(GLOBJ)gdevrops.$(OBJ) $(GLOBJ)gsrop.$(OBJ) $(GLOBJ)gsroptab.$(OBJ)
1746roplib_=$(roplib1_) $(roplib2_) $(roplib3_)
1747$(GLD)roplib.dev : $(LIB_MAK) $(ECHOGS_XE) $(roplib_)
1748	$(SETMOD) $(GLD)roplib $(roplib1_)
1749	$(ADDMOD) $(GLD)roplib $(roplib2_)
1750	$(ADDMOD) $(GLD)roplib $(roplib3_)
1751	$(ADDMOD) $(GLD)roplib -replace $(GLD)noroplib
1752
1753$(GLOBJ)gdevdrop.$(OBJ) : $(GLSRC)gdevdrop.c $(GXERR) $(memory__h)\
1754 $(gsbittab_h) $(gsropt_h)\
1755 $(gxcindex_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdevrop_h)\
1756 $(gxgetbit_h)\
1757 $(gdevmem_h) $(gdevmrop_h)
1758	$(GLCC) $(GLO_)gdevdrop.$(OBJ) $(C_) $(GLSRC)gdevdrop.c
1759
1760$(GLOBJ)gdevmr1.$(OBJ) : $(GLSRC)gdevmr1.c $(GXERR) $(memory__h)\
1761 $(gsbittab_h) $(gsropt_h)\
1762 $(gxcindex_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdevrop_h)\
1763 $(gdevmrop_h)
1764	$(GLCC) $(GLO_)gdevmr1.$(OBJ) $(C_) $(GLSRC)gdevmr1.c
1765
1766$(GLOBJ)gdevmr2n.$(OBJ) : $(GLSRC)gdevmr2n.c $(GXERR) $(memory__h)\
1767 $(gsbittab_h) $(gsropt_h)\
1768 $(gxcindex_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdevrop_h)\
1769 $(gdevmem_h) $(gdevmrop_h)
1770	$(GLCC) $(GLO_)gdevmr2n.$(OBJ) $(C_) $(GLSRC)gdevmr2n.c
1771
1772$(GLOBJ)gdevmr8n.$(OBJ) : $(GLSRC)gdevmr8n.c $(GXERR) $(memory__h)\
1773 $(gsbittab_h) $(gsropt_h)\
1774 $(gxcindex_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdevrop_h)\
1775 $(gdevmem_h) $(gdevmrop_h)
1776	$(GLCC) $(GLO_)gdevmr8n.$(OBJ) $(C_) $(GLSRC)gdevmr8n.c
1777
1778$(GLOBJ)gdevrops.$(OBJ) : $(GLSRC)gdevrops.c $(GXERR)\
1779 $(gxdcolor_h) $(gxdevice_h) $(gdevmrop_h)
1780	$(GLCC) $(GLO_)gdevrops.$(OBJ) $(C_) $(GLSRC)gdevrops.c
1781
1782$(GLOBJ)gsrop.$(OBJ) : $(GLSRC)gsrop.c $(GXERR)\
1783 $(gsrop_h) $(gzstate_h)
1784	$(GLCC) $(GLO_)gsrop.$(OBJ) $(C_) $(GLSRC)gsrop.c
1785
1786$(GLOBJ)gsroptab.$(OBJ) : $(GLSRC)gsroptab.c $(stdpre_h) $(gsropt_h)
1787	$(GLCC) $(GLO_)gsroptab.$(OBJ) $(C_) $(GLSRC)gsroptab.c
1788
1789# The following is not used yet.
1790$(GLOBJ)gsropc.$(OBJ) : $(GLSRC)gsropc.c $(GXERR)\
1791 $(gsutil_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxropc_h)
1792	$(GLCC) $(GLO_)gsropc.$(OBJ) $(C_) $(GLSRC)gsropc.c
1793
1794# ---------------- Async rendering ---------------- #
1795
1796gxpageq_h=$(GLSRC)gxpageq.h $(gsmemory_h) $(gxband_h) $(gxsync_h)
1797gdevprna_h=$(GLSRC)gdevprna.h $(gdevprn_h) $(gxsync_h)
1798
1799async_=$(GLOBJ)gdevprna.$(OBJ) $(GLOBJ)gxpageq.$(OBJ)
1800async_inc=$(GLD)clist.dev $(GLD)gsnogc.dev $(GLD)$(SYNC).dev
1801$(GLD)async.dev : $(LIB_MAK) $(ECHOGS_XE) $(async_) $(async_inc)
1802	$(SETMOD) $(GLD)async $(async_)
1803	$(ADDMOD) $(GLD)async -include $(async_inc)
1804
1805$(GLOBJ)gdevprna.$(OBJ) : $(GLSRC)gdevprna.c $(AK)\
1806 $(gdevprna_h)\
1807 $(gsalloc_h) $(gsdevice_h) $(gsmemlok_h) $(gsmemret_h) $(gsnogc_h)\
1808 $(gxcldev_h) $(gxclpath_h) $(gxpageq_h) $(gzht_h)
1809	$(GLCC) $(GLO_)gdevprna.$(OBJ) $(C_) $(GLSRC)gdevprna.c
1810
1811$(GLOBJ)gxpageq.$(OBJ) : $(GLSRC)gxpageq.c $(GXERR)\
1812 $(gsstruct_h) $(gxdevice_h) $(gxclist_h) $(gxpageq_h)
1813	$(GLCC) $(GLO_)gxpageq.$(OBJ) $(C_) $(GLSRC)gxpageq.c
1814
1815# ---------------- TrueType and PostScript Type 42 fonts ---------------- #
1816
1817ttflib_=$(GLOBJ)gstype42.$(OBJ) $(GLOBJ)gxchrout.$(OBJ) \
1818 $(GLOBJ)ttcalc.$(OBJ) $(GLOBJ)ttfinp.$(OBJ) $(GLOBJ)ttfmain.$(OBJ) $(GLOBJ)ttfmemd.$(OBJ) \
1819 $(GLOBJ)ttinterp.$(OBJ) $(GLOBJ)ttload.$(OBJ) $(GLOBJ)ttobjs.$(OBJ) \
1820 $(GLOBJ)gxttfb.$(OBJ) $(GLOBJ)gzspotan.$(OBJ)
1821
1822$(GLD)ttflib.dev : $(LIB_MAK) $(ECHOGS_XE) $(ttflib_)
1823	$(SETMOD) $(GLD)ttflib $(ttflib_)
1824
1825gxfont42_h=$(GLSRC)gxfont42.h
1826gxttf_h=$(GLSRC)gxttf.h
1827
1828$(GLOBJ)gstype42.$(OBJ) : $(GLSRC)gstype42.c $(GXERR) $(memory__h)\
1829 $(gsccode_h) $(gsline_h) $(gsmatrix_h) $(gsstruct_h) $(gsutil_h)\
1830 $(gxchrout_h) $(gxfixed_h) $(gxfont_h) $(gxfont42_h) $(gxistate_h)\
1831 $(gxpath_h) $(gxttf_h) $(gxttfb_h) $(gxfcache_h) $(stream_h)
1832	$(GLCC) $(GLO_)gstype42.$(OBJ) $(C_) $(GLSRC)gstype42.c
1833
1834ttfsfnt_h=$(GLSRC)ttfsfnt.h $(stdint__h)
1835ttcommon_h=$(GLSRC)ttcommon.h
1836ttconf_h=$(GLSRC)ttconf.h
1837ttfinp_h=$(GLSRC)ttfinp.h
1838ttfmemd_h=$(GLSRC)ttfmemd.h $(gsstype_h)
1839tttype_h=$(GLSRC)tttype.h
1840ttconfig_h=$(GLSRC)ttconfig.h $(ttconf_h)
1841tttypes_h=$(GLSRC)tttypes.h $(ttconfig_h) $(tttype_h)
1842ttmisc_h=$(GLSRC)ttmisc.h $(std_h) $(gx_h) $(string__h) $(math__h) $(tttypes_h)
1843tttables_h=$(GLSRC)tttables.h $(tttypes_h)
1844ttobjs_h=$(GLSRC)ttobjs.h $(ttcommon_h) $(tttypes_h) $(tttables_h)
1845ttcalc_h=$(GLSRC)ttcalc.h $(ttcommon_h) $(tttypes_h)
1846ttinterp_h=$(GLSRC)ttinterp.h $(ttcommon_h) $(ttobjs_h)
1847ttload_h=$(GLSRC)ttload.h $(ttcommon_h)
1848gxhintn_h=$(GLSRC)gxhintn.h $(stdint__h)
1849
1850$(GLOBJ)ttcalc.$(OBJ) : $(GLSRC)ttcalc.c $(GXERR) $(ttmisc_h) $(ttcalc_h)
1851	$(GLCC) $(GLO_)ttcalc.$(OBJ) $(C_) $(GLSRC)ttcalc.c
1852
1853$(GLOBJ)ttfinp.$(OBJ) : $(GLSRC)ttfinp.c $(GXERR) $(ttmisc_h)\
1854 $(ttfoutl_h) $(ttfsfnt_h) $(ttfinp_h)
1855	$(GLCC) $(GLO_)ttfinp.$(OBJ) $(C_) $(GLSRC)ttfinp.c
1856
1857$(GLOBJ)ttfmain.$(OBJ) : $(GLSRC)ttfmain.c $(GXERR) $(ttmisc_h)\
1858 $(ttfoutl_h) $(ttfmemd_h) $(ttfsfnt_h) $(ttobjs_h) $(ttinterp_h) $(ttcalc_h)
1859	$(GLCC) $(GLO_)ttfmain.$(OBJ) $(C_) $(GLSRC)ttfmain.c
1860
1861$(GLOBJ)ttfmemd.$(OBJ) : $(GLSRC)ttfmemd.c $(GXERR) $(ttmisc_h)\
1862 $(ttfoutl_h) $(ttobjs_h)
1863	$(GLCC) $(GLO_)ttfmemd.$(OBJ) $(C_) $(GLSRC)ttfmemd.c
1864
1865$(GLOBJ)ttinterp.$(OBJ) : $(GLSRC)ttinterp.c $(GXERR) $(ttmisc_h)\
1866 $(ttfoutl_h) $(tttypes_h) $(ttcalc_h) $(ttinterp_h) $(ttfinp_h)
1867	$(GLCC) $(GLO_)ttinterp.$(OBJ) $(C_) $(GLSRC)ttinterp.c
1868
1869$(GLOBJ)ttload.$(OBJ) : $(GLSRC)ttload.c $(GXERR) $(ttmisc_h)\
1870 $(ttfoutl_h) $(tttypes_h) $(ttcalc_h) $(ttobjs_h) $(ttload_h) $(ttfinp_h)
1871	$(GLCC) $(GLO_)ttload.$(OBJ) $(C_) $(GLSRC)ttload.c
1872
1873$(GLOBJ)ttobjs.$(OBJ) : $(GLSRC)ttobjs.c $(GXERR) $(ttmisc_h)\
1874 $(ttfoutl_h) $(ttobjs_h) $(ttcalc_h) $(ttload_h) $(ttinterp_h)
1875	$(GLCC) $(GLO_)ttobjs.$(OBJ) $(C_) $(GLSRC)ttobjs.c
1876
1877$(GLOBJ)gxttfb.$(OBJ) : $(GLSRC)gxttfb.c $(GXERR) \
1878 $(gx_h) $(gxfont_h) $(gxfont42_h) $(gxttfb_h) $(gxfcache_h)\
1879 $(gxmatrix_h) $(gxhintn_h) $(gzpath_h) $(ttfmemd_h)\
1880 $(gsstruct_h) $(gserrors_h) $(gsfont_h) $(gsdebug_h) $(memory__h) $(math__h)\
1881 $(gxistate_h) $(gxpaint_h) $(gzspotan_h)
1882	$(GLCC) $(GLO_)gxttfb.$(OBJ) $(C_) $(GLSRC)gxttfb.c
1883
1884$(GLOBJ)gzspotan.$(OBJ) : $(GLSRC)gzspotan.c $(GXERR)\
1885 $(gx_h) $(gserrors_h) $(gsdevice_h) $(gzspotan_h)\
1886 $(gsfixed_h) $(gxdevice_h) $(gxfdrop_h) $(gzpath_h)\
1887 $(memory__h) $(math__h) $(vdtrace_h)
1888	$(GLCC) $(GLO_)gzspotan.$(OBJ) $(C_) $(GLSRC)gzspotan.c
1889
1890
1891# -------- Composite (PostScript Type 0) font support -------- #
1892
1893gxcid_h=$(GLSRC)gxcid.h $(gsstype_h)
1894gxfcid_h=$(GLSRC)gxfcid.h $(gxcid_h) $(gxfont_h) $(gxfont42_h)
1895gxfcmap_h=$(GLSRC)gxfcmap.h $(gsfcmap_h) $(gsuid_h) $(gxcid_h)
1896gxfcmap1_h=$(GLSRC)gxfcmap1.h $(gxfcmap_h)
1897gxfont0c_h=$(GLSRC)gxfont0c.h $(gxfcid_h) $(gxfont0_h)
1898
1899cidlib_=$(GLOBJ)gsfcid.$(OBJ) $(GLOBJ)gsfcid2.$(OBJ)
1900# cidlib requires ttflib for CIDFontType 2 fonts.
1901$(GLD)cidlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(cidlib_) $(GLD)ttflib.dev
1902	$(SETMOD) $(GLD)cidlib $(cidlib_)
1903	$(ADDMOD) $(GLD)cidlib -include $(GLD)ttflib
1904
1905$(GLOBJ)gsfcid.$(OBJ) : $(GLSRC)gsfcid.c $(GX) $(memory__h)\
1906 $(gsmatrix_h) $(gsstruct_h) $(gxfcid_h)
1907	$(GLCC) $(GLO_)gsfcid.$(OBJ) $(C_) $(GLSRC)gsfcid.c
1908
1909$(GLOBJ)gsfcid2.$(OBJ) : $(GLSRC)gsfcid2.c $(GXERR) $(memory__h)\
1910 $(gsstruct_h) $(gsutil_h) $(gxfcid_h) $(gxfcmap_h) $(gxfont_h) $(gxfont0c_h)
1911	$(GLCC) $(GLO_)gsfcid2.$(OBJ) $(C_) $(GLSRC)gsfcid2.c
1912
1913cmaplib_=$(GLOBJ)gsfcmap.$(OBJ) $(GLOBJ)gsfcmap1.$(OBJ)
1914$(GLD)cmaplib.dev : $(LIB_MAK) $(ECHOGS_XE) $(cmaplib_) $(GLD)cidlib.dev
1915	$(SETMOD) $(GLD)cmaplib $(cmaplib_)
1916	$(ADDMOD) $(GLD)cmaplib -include $(GLD)cidlib
1917
1918$(GLOBJ)gsfcmap.$(OBJ) : $(GLSRC)gsfcmap.c $(GXERR) $(memory__h) $(string__h)\
1919 $(gsstruct_h) $(gsutil_h) $(gxfcmap_h)
1920	$(GLCC) $(GLO_)gsfcmap.$(OBJ) $(C_) $(GLSRC)gsfcmap.c
1921
1922$(GLOBJ)gsfcmap1.$(OBJ) : $(GLSRC)gsfcmap1.c $(GXERR)\
1923 $(memory__h) $(string__h)\
1924 $(gsstruct_h) $(gsutil_h) $(gxfcmap1_h)
1925	$(GLCC) $(GLO_)gsfcmap1.$(OBJ) $(C_) $(GLSRC)gsfcmap1.c
1926
1927psf0lib_=$(GLOBJ)gschar0.$(OBJ) $(GLOBJ)gsfont0.$(OBJ)
1928$(GLD)psf0lib.dev : $(LIB_MAK) $(ECHOGS_XE) $(GLD)cmaplib.dev $(psf0lib_)
1929	$(SETMOD) $(GLD)psf0lib $(psf0lib_)
1930	$(ADDMOD) $(GLD)psf0lib -include $(GLD)cmaplib
1931
1932$(GLOBJ)gschar0.$(OBJ) : $(GLSRC)gschar0.c $(GXERR) $(memory__h)\
1933 $(gsfcmap_h) $(gsstruct_h)\
1934 $(gxdevice_h) $(gxfcmap_h) $(gxfixed_h) $(gxfont_h) $(gxfont0_h) $(gxtext_h)
1935	$(GLCC) $(GLO_)gschar0.$(OBJ) $(C_) $(GLSRC)gschar0.c
1936
1937$(GLOBJ)gsfont0.$(OBJ) : $(GLSRC)gsfont0.c $(GXERR) $(memory__h)\
1938 $(gsmatrix_h) $(gsstruct_h) $(gxfixed_h) $(gxdevmem_h) $(gxfcache_h)\
1939 $(gxfont_h) $(gxfont0_h) $(gxdevice_h)
1940	$(GLCC) $(GLO_)gsfont0.$(OBJ) $(C_) $(GLSRC)gsfont0.c
1941
1942# gsfont0c is not needed for the PS interpreter, other than for testing,
1943# but it is used by pdfwrite and by the PCL interpreter.
1944$(GLOBJ)gsfont0c.$(OBJ) : $(GLSRC)gsfont0c.c $(GXERR) $(memory__h)\
1945 $(gxfont_h) $(gxfont0_h) $(gxfont0c_h) $(gxfcid_h) $(gxfcmap_h)
1946	$(GLCC) $(GLO_)gsfont0c.$(OBJ) $(C_) $(GLSRC)gsfont0c.c
1947
1948# ---------------- Pattern color ---------------- #
1949
1950patlib_1=$(GLOBJ)gspcolor.$(OBJ) $(GLOBJ)gsptype1.$(OBJ) $(GLOBJ)gxclip2.$(OBJ)
1951patlib_2=$(GLOBJ)gxmclip.$(OBJ) $(GLOBJ)gxp1fill.$(OBJ) $(GLOBJ)gxpcmap.$(OBJ)
1952patlib_=$(patlib_1) $(patlib_2)
1953# Currently this feature requires masked images, but it shouldn't.
1954$(GLD)patlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(GLD)cmyklib.dev $(GLD)imasklib.dev $(GLD)psl2cs.dev $(patlib_)
1955	$(SETMOD) $(GLD)patlib -include $(GLD)cmyklib $(GLD)imasklib $(GLD)psl2cs
1956	$(ADDMOD) $(GLD)patlib -obj $(patlib_1)
1957	$(ADDMOD) $(GLD)patlib -obj $(patlib_2)
1958
1959$(GLOBJ)gspcolor.$(OBJ) : $(GLSRC)gspcolor.c $(GXERR) $(math__h)\
1960 $(gsimage_h) $(gsiparm4_h) $(gspath_h) $(gsrop_h) $(gsstruct_h) $(gsutil_h)\
1961 $(gxarith_h) $(gxcolor2_h) $(gxcoord_h) $(gxclip2_h) $(gxcspace_h)\
1962 $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxfixed_h) $(gxmatrix_h)\
1963 $(gxpath_h) $(gxpcolor_h) $(gzstate_h) $(stream_h)
1964	$(GLCC) $(GLO_)gspcolor.$(OBJ) $(C_) $(GLSRC)gspcolor.c
1965
1966$(GLOBJ)gsptype1.$(OBJ) : $(GLSRC)gsptype1.c $(math__h) $(GXERR)\
1967 $(gsrop_h) $(gsstruct_h) $(gsutil_h)\
1968 $(gxarith_h)  $(gxfixed_h) $(gxmatrix_h) $(gxcoord_h) $(gxcspace_h)\
1969 $(gxcolor2_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxclip2_h)\
1970 $(gspath_h) $(gxpath_h) $(gxpcolor_h) $(gxp1impl_h) $(gzstate_h)\
1971 $(gsimage_h) $(gsiparm4_h) $(gsovrc_h)
1972	$(GLCC) $(GLO_)gsptype1.$(OBJ) $(C_) $(GLSRC)gsptype1.c
1973
1974$(GLOBJ)gxclip2.$(OBJ) : $(GLSRC)gxclip2.c $(GXERR) $(memory__h)\
1975 $(gsstruct_h) $(gxclip2_h) $(gxdevice_h) $(gxdevmem_h)
1976	$(GLCC) $(GLO_)gxclip2.$(OBJ) $(C_) $(GLSRC)gxclip2.c
1977
1978$(GLOBJ)gxp1fill.$(OBJ) : $(GLSRC)gxp1fill.c $(GXERR) $(math__h)\
1979 $(gsrop_h) $(gsmatrix_h)\
1980 $(gxcolor2_h) $(gxclip2_h) $(gxcspace_h) $(gxdcolor_h) $(gxdevcli_h)\
1981 $(gxdevmem_h) $(gxp1impl_h) $(gxpcolor_h)
1982	$(GLCC) $(GLO_)gxp1fill.$(OBJ) $(C_) $(GLSRC)gxp1fill.c
1983
1984$(GLOBJ)gxpcmap.$(OBJ) : $(GLSRC)gxpcmap.c $(GXERR) $(math__h) $(memory__h)\
1985 $(gsstruct_h) $(gsutil_h)\
1986 $(gxcolor2_h) $(gxcspace_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h)\
1987 $(gxfixed_h) $(gxmatrix_h) $(gxpcolor_h)\
1988 $(gzstate_h)
1989	$(GLCC) $(GLO_)gxpcmap.$(OBJ) $(C_) $(GLSRC)gxpcmap.c
1990
1991# ---------------- PostScript Type 1 (and Type 4) fonts ---------------- #
1992
1993type1lib_=$(GLOBJ)gxtype1.$(OBJ)\
1994 $(GLOBJ)gxhintn.$(OBJ) $(GLOBJ)gscrypt1.$(OBJ) $(GLOBJ)gxchrout.$(OBJ)
1995
1996gscrypt1_h=$(GLSRC)gscrypt1.h
1997gstype1_h=$(GLSRC)gstype1.h
1998gxfont1_h=$(GLSRC)gxfont1.h $(gstype1_h) $(gxfixed_h)
1999gxtype1_h=$(GLSRC)gxtype1.h $(gscrypt1_h) $(gsgdata_h) $(gstype1_h) $(gxhintn_h)
2000
2001$(GLOBJ)gxtype1.$(OBJ) : $(GLSRC)gxtype1.c $(GXERR) $(math__h)\
2002 $(gsccode_h) $(gsline_h) $(gsstruct_h)\
2003 $(gxarith_h) $(gxchrout_h) $(gxcoord_h) $(gxfixed_h) $(gxmatrix_h)\
2004 $(gxfont_h) $(gxfont1_h) $(gxistate_h) $(gxtype1_h)\
2005 $(gzpath_h)
2006	$(GLCC) $(GLO_)gxtype1.$(OBJ) $(C_) $(GLSRC)gxtype1.c
2007
2008$(GLOBJ)gxhintn.$(OBJ) : $(GLSRC)gxhintn.c $(GXERR)\
2009 $(gxfixed_h) $(gxarith_h) $(gstypes_h) $(gxmatrix_h)\
2010 $(gxpath_h) $(gzpath_h) $(gxhintn_h) $(gxfont_h) $(gxfont1_h) $(gxtype1_h)\
2011 $(vdtrace_h)
2012	$(GLCC) $(GLO_)gxhintn.$(OBJ) $(C_) $(GLSRC)gxhintn.c
2013
2014# CharString and eexec encryption
2015
2016# Note that seexec is not needed for rasterizing Type 1/2/4 fonts,
2017# only for reading or writing them.
2018seexec_=$(GLOBJ)seexec.$(OBJ) $(GLOBJ)gscrypt1.$(OBJ)
2019$(GLD)seexec.dev : $(LIB_MAK) $(ECHOGS_XE) $(seexec_)
2020	$(SETMOD) $(GLD)seexec $(seexec_)
2021
2022$(GLOBJ)seexec.$(OBJ) : $(GLSRC)seexec.c $(AK) $(stdio__h)\
2023 $(gscrypt1_h) $(scanchar_h) $(sfilter_h) $(strimpl_h)
2024	$(GLCC) $(GLO_)seexec.$(OBJ) $(C_) $(GLSRC)seexec.c
2025
2026$(GLOBJ)gscrypt1.$(OBJ) : $(GLSRC)gscrypt1.c $(stdpre_h)\
2027 $(gscrypt1_h) $(gstypes_h)
2028	$(GLCC) $(GLO_)gscrypt1.$(OBJ) $(C_) $(GLSRC)gscrypt1.c
2029
2030# Type 1 charstrings
2031
2032psf1lib_=$(GLOBJ)gstype1.$(OBJ)
2033$(GLD)psf1lib.dev : $(LIB_MAK) $(ECHOGS_XE) $(psf1lib_) $(type1lib_)
2034	$(SETMOD) $(GLD)psf1lib $(psf1lib_)
2035	$(ADDMOD) $(GLD)psf1lib $(type1lib_)
2036
2037$(GLOBJ)gstype1.$(OBJ) : $(GLSRC)gstype1.c $(GXERR) $(math__h) $(memory__h)\
2038 $(gsstruct_h)\
2039 $(gxarith_h) $(gxcoord_h) $(gxfixed_h) $(gxmatrix_h)\
2040 $(gxfont_h) $(gxfont1_h) $(gxistate_h) $(gxtype1_h)\
2041 $(gxpath_h)
2042	$(GLCC) $(GLO_)gstype1.$(OBJ) $(C_) $(GLSRC)gstype1.c
2043
2044# Type 2 charstrings
2045
2046psf2lib_=$(GLOBJ)gstype2.$(OBJ)
2047$(GLD)psf2lib.dev : $(LIB_MAK) $(ECHOGS_XE) $(psf2lib_) $(type1lib_)
2048	$(SETMOD) $(GLD)psf2lib $(psf2lib_)
2049	$(ADDMOD) $(GLD)psf2lib $(type1lib_)
2050
2051$(GLOBJ)gstype2.$(OBJ) : $(GLSRC)gstype2.c $(GXERR) $(math__h) $(memory__h)\
2052 $(gsstruct_h)\
2053 $(gxarith_h) $(gxcoord_h) $(gxfixed_h) $(gxmatrix_h)\
2054 $(gxfont_h) $(gxfont1_h) $(gxistate_h) $(gxtype1_h)\
2055 $(gxpath_h) $(gxhintn_h)
2056	$(GLCC) $(GLO_)gstype2.$(OBJ) $(C_) $(GLSRC)gstype2.c
2057
2058# ---------------- Font writing ---------------- #
2059# This is not really a library facility, but one piece of interpreter test
2060# code uses it.
2061
2062# Support for PostScript and PDF font writing
2063
2064gdevpsf_h=$(GLSRC)gdevpsf.h $(gsccode_h) $(gsgdata_h)
2065
2066psf_1=$(GLOBJ)gdevpsf1.$(OBJ) $(GLOBJ)gdevpsf2.$(OBJ) $(GLOBJ)gdevpsfm.$(OBJ)
2067psf_2=$(GLOBJ)gdevpsft.$(OBJ) $(GLOBJ)gdevpsfu.$(OBJ) $(GLOBJ)gdevpsfx.$(OBJ)
2068psf_3=$(GLOBJ)spsdf.$(OBJ)
2069psf_=$(psf_1) $(psf_2) $(psf_3)
2070$(GLD)psf.dev : $(LIB_MAK) $(ECHOGS_XE) $(psf_)
2071	$(SETMOD) $(DD)psf $(psf_1)
2072	$(ADDMOD) $(DD)psf -obj $(psf_2)
2073	$(ADDMOD) $(DD)psf -obj $(psf_3)
2074
2075$(GLOBJ)gdevpsf1.$(OBJ) : $(GLSRC)gdevpsf1.c $(GXERR) $(memory__h)\
2076 $(gsccode_h) $(gsmatrix_h)\
2077 $(gxfixed_h) $(gxfont_h) $(gxfont1_h) $(gxmatrix_h) $(gxtype1_h)\
2078 $(sfilter_h) $(sstring_h) $(stream_h) $(strimpl_h)\
2079 $(gdevpsf_h) $(spprint_h) $(spsdf_h)
2080	$(GLCC) $(GLO_)gdevpsf1.$(OBJ) $(C_) $(GLSRC)gdevpsf1.c
2081
2082$(GLOBJ)gdevpsf2.$(OBJ) : $(GLSRC)gdevpsf2.c $(GXERR)\
2083 $(math__h) $(memory__h)\
2084 $(gsarith_h) $(gsccode_h) $(gscencs_h) $(gscrypt1_h) $(gsmatrix_h) $(gsutil_h)\
2085 $(gxfcid_h) $(gxfixed_h) $(gxfont_h) $(gxfont1_h)\
2086 $(sfilter_h) $(stream_h)\
2087 $(gdevpsf_h)
2088	$(GLCC) $(GLO_)gdevpsf2.$(OBJ) $(C_) $(GLSRC)gdevpsf2.c
2089
2090$(GLOBJ)gdevpsfm.$(OBJ) : $(GLSRC)gdevpsfm.c $(GXERR)\
2091 $(gdevpsf_h)\
2092 $(gxfcmap_h)\
2093 $(spprint_h) $(spsdf_h) $(stream_h) $(memory__h)
2094	$(GLCC) $(GLO_)gdevpsfm.$(OBJ) $(C_) $(GLSRC)gdevpsfm.c
2095
2096$(GLOBJ)gdevpsft.$(OBJ) : $(GLSRC)gdevpsft.c $(GXERR) $(memory__h)\
2097 $(gscencs_h) $(gsmatrix_h) $(gsutil_h)\
2098 $(gxfcid_h) $(gxfont_h) $(gxfont42_h) $(gxttf_h)\
2099 $(spprint_h) $(stream_h)\
2100 $(gdevpsf_h)
2101	$(GLCC) $(GLO_)gdevpsft.$(OBJ) $(C_) $(GLSRC)gdevpsft.c
2102
2103$(GLOBJ)gdevpsfu.$(OBJ) : $(GLSRC)gdevpsfu.c $(GXERR) $(memory__h)\
2104 $(gsmatrix_h) $(gxfont_h) $(gdevpsf_h)
2105	$(GLCC) $(GLO_)gdevpsfu.$(OBJ) $(C_) $(GLSRC)gdevpsfu.c
2106
2107$(GLOBJ)gdevpsfx.$(OBJ) : $(GLSRC)gdevpsfx.c $(GXERR)\
2108 $(math__h) $(memory__h)\
2109 $(gxfixed_h) $(gxfont_h) $(gxfont1_h) $(gxmatrix_h) $(gxtype1_h)\
2110 $(stream_h)\
2111 $(gdevpsf_h)
2112	$(GLCC) $(GLO_)gdevpsfx.$(OBJ) $(C_) $(GLSRC)gdevpsfx.c
2113
2114# ---------------- Font copying ---------------- #
2115
2116# This facility is not included in the core library.  Currently it is used
2117# only by pdfwrite.
2118
2119fcopy_=$(GLOBJ)gxfcopy.$(OBJ)
2120$(GLD)fcopy.dev : $(DEVS_MAK) $(ECHOGS_XE) $(fcopy_)
2121	$(SETMOD) $(GLD)fcopy $(fcopy_)
2122
2123$(GLOBJ)gxfcopy.$(OBJ) : $(GLSRC)gxfcopy.c $(memory__h) $(GXERR)\
2124 $(gscencs_h) $(gsline_h) $(gspaint_h) $(gspath_h) $(gsstruct_h) $(gsutil_h)\
2125 $(gxfont_h) $(gxfont1_h) $(gxfont42_h) $(gxfcid_h) $(gxfcopy_h) $(gxfcache_h)\
2126 $(gxistate_h) $(gxtext_h) $(gxtype1_h)\
2127 $(gzstate_h)\
2128 $(gdevpsf_h) $(stream_h)
2129	$(GLCC) $(GLO_)gxfcopy.$(OBJ) $(C_) $(GLSRC)gxfcopy.c
2130
2131# -------- Level 1 color extensions (CMYK color and colorimage) -------- #
2132
2133cmyklib_=$(GLOBJ)gscolor1.$(OBJ) $(GLOBJ)gsht1.$(OBJ)
2134$(GLD)cmyklib.dev : $(LIB_MAK) $(ECHOGS_XE) $(cmyklib_)
2135	$(SETMOD) $(GLD)cmyklib $(cmyklib_)
2136
2137$(GLOBJ)gscolor1.$(OBJ) : $(GLSRC)gscolor1.c $(GXERR)\
2138 $(gsccolor_h) $(gscolor1_h) $(gsstruct_h) $(gsutil_h)\
2139 $(gxcmap_h) $(gxcspace_h) $(gxdcconv_h) $(gxdevice_h)\
2140 $(gzstate_h) $(gxhttype_h)
2141	$(GLCC) $(GLO_)gscolor1.$(OBJ) $(C_) $(GLSRC)gscolor1.c
2142
2143$(GLOBJ)gsht1.$(OBJ) : $(GLSRC)gsht1.c $(GXERR) $(memory__h) $(string__h)\
2144 $(gsstruct_h) $(gsutil_h) $(gxdevice_h) $(gzht_h) $(gzstate_h)\
2145 $(gxwts_h) $(gswts_h)
2146	$(GLCC) $(GLO_)gsht1.$(OBJ) $(C_) $(GLSRC)gsht1.c
2147
2148colimlib_=$(GLOBJ)gxicolor.$(OBJ)
2149$(GLD)colimlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(colimlib_)
2150	$(SETMOD) $(GLD)colimlib $(colimlib_)
2151	$(ADDMOD) $(GLD)colimlib -imageclass 4_color
2152
2153$(GLOBJ)gxicolor.$(OBJ) : $(GLSRC)gxicolor.c $(GXERR) $(memory__h) $(gpcheck_h)\
2154 $(gsccolor_h) $(gspaint_h)\
2155 $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcconv_h) $(gxdcolor_h)\
2156 $(gxdevice_h) $(gxdevmem_h) $(gxfixed_h) $(gxfrac_h)\
2157 $(gximage_h) $(gxistate_h) $(gxmatrix_h)\
2158 $(gzstate_h)
2159	$(GLCC) $(GLO_)gxicolor.$(OBJ) $(C_) $(GLSRC)gxicolor.c
2160
2161# ---- Level 1 path miscellany (arcs, pathbbox, path enumeration) ---- #
2162
2163path1lib_=$(GLOBJ)gspath1.$(OBJ)
2164$(GLD)path1lib.dev : $(LIB_MAK) $(ECHOGS_XE) $(path1lib_)
2165	$(SETMOD) $(GLD)path1lib $(path1lib_)
2166
2167$(GLOBJ)gspath1.$(OBJ) : $(GLSRC)gspath1.c $(GXERR) $(math__h)\
2168 $(gscoord_h) $(gspath_h) $(gsstruct_h)\
2169 $(gxfarith_h) $(gxfixed_h) $(gxmatrix_h)\
2170 $(gzstate_h) $(gzpath_h)
2171	$(GLCC) $(GLO_)gspath1.$(OBJ) $(C_) $(GLSRC)gspath1.c
2172
2173# --------------- Level 2 color space and color image support --------------- #
2174# no12bit and n16bit are the default, psl2lib replaces no12bit and pdfread replaces no16bit
2175
2176no12bit_=$(GLOBJ)gxino12b.$(OBJ)
2177$(GLD)no12bit.dev : $(LIB_MAK) $(ECHOGS_XE) $(no12bit_)
2178	$(SETMOD) $(GLD)no12bit $(no12bit_)
2179
2180$(GLOBJ)gxino12b.$(OBJ) : $(GLSRC)gxino12b.c $(std_h)\
2181 $(gstypes_h) $(gxsample_h)
2182	$(GLCC) $(GLO_)gxino12b.$(OBJ) $(C_) $(GLSRC)gxino12b.c
2183
2184psl2cs_=$(GLOBJ)gscolor2.$(OBJ)
2185$(GLD)psl2cs.dev : $(LIB_MAK) $(ECHOGS_XE) $(psl2cs_)
2186	$(SETMOD) $(GLD)psl2cs $(psl2cs_)
2187
2188$(GLOBJ)gscolor2.$(OBJ) : $(GLSRC)gscolor2.c $(GXERR) $(memory__h)\
2189 $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxcspace_h)\
2190 $(gxcolor2_h) $(gzstate_h) $(gxpcolor_h) $(stream_h)
2191	$(GLCC) $(GLO_)gscolor2.$(OBJ) $(C_) $(GLSRC)gscolor2.c
2192
2193psl2lib_=$(GLOBJ)gxi12bit.$(OBJ) $(GLOBJ)gxiscale.$(OBJ)
2194$(GLD)psl2lib.dev : $(LIB_MAK) $(ECHOGS_XE) $(psl2lib_)\
2195 $(GLD)colimlib.dev $(GLD)psl2cs.dev
2196	$(SETMOD) $(GLD)psl2lib $(psl2lib_)
2197	$(ADDMOD) $(GLD)psl2lib -imageclass 0_interpolate 2_fracs
2198	$(ADDMOD) $(GLD)psl2lib -include $(GLD)colimlib $(GLD)psl2cs
2199	$(ADDMOD) $(GLD)psl2lib -replace $(GLD)no12bit
2200
2201$(GLOBJ)gxi12bit.$(OBJ) : $(GLSRC)gxi12bit.c $(GXERR)\
2202 $(memory__h) $(gpcheck_h)\
2203 $(gsccolor_h) $(gspaint_h)\
2204 $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h)\
2205 $(gxdevmem_h) $(gxfixed_h) $(gxfrac_h) $(gximage_h) $(gxistate_h)\
2206 $(gxmatrix_h)
2207	$(GLCC) $(GLO_)gxi12bit.$(OBJ) $(C_) $(GLSRC)gxi12bit.c
2208
2209no16bit_=$(GLOBJ)gxino16b.$(OBJ)
2210$(GLD)no16bit.dev : $(LIB_MAK) $(ECHOGS_XE) $(no16bit_)
2211	$(SETMOD) $(GLD)no16bit $(no16bit_)
2212
2213$(GLOBJ)gxino16b.$(OBJ) : $(GLSRC)gxino16b.c $(std_h)\
2214 $(gstypes_h) $(gxsample_h)
2215	$(GLCC) $(GLO_)gxino16b.$(OBJ) $(C_) $(GLSRC)gxino16b.c
2216
2217$(GLOBJ)gxi16bit.$(OBJ) : $(GLSRC)gxi16bit.c $(GXERR)\
2218 $(memory__h) $(gpcheck_h)\
2219 $(gsccolor_h) $(gspaint_h)\
2220 $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h)\
2221 $(gxdevmem_h) $(gxfixed_h) $(gxfrac_h) $(gximage_h) $(gxistate_h)\
2222 $(gxmatrix_h)
2223	$(GLCC) $(GLO_)gxi16bit.$(OBJ) $(C_) $(GLSRC)gxi16bit.c
2224
2225$(GLOBJ)gxiscale.$(OBJ) : $(GLSRC)gxiscale.c $(GXERR)\
2226 $(math__h) $(memory__h) $(gpcheck_h)\
2227 $(gsccolor_h) $(gspaint_h)\
2228 $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h)\
2229 $(gxdevmem_h) $(gxfixed_h) $(gxfrac_h) $(gximage_h) $(gxistate_h)\
2230 $(gxmatrix_h)\
2231 $(siinterp_h) $(siscale_h) $(stream_h)
2232	$(GLCC) $(GLO_)gxiscale.$(OBJ) $(C_) $(GLSRC)gxiscale.c
2233
2234# ---------------- Display Postscript / Level 2 support ---------------- #
2235
2236dps2lib_=$(GLOBJ)gsdps1.$(OBJ)
2237$(GLD)dps2lib.dev : $(LIB_MAK) $(ECHOGS_XE) $(dps2lib_)
2238	$(SETMOD) $(GLD)dps2lib $(dps2lib_)
2239
2240$(GLOBJ)gsdps1.$(OBJ) : $(GLSRC)gsdps1.c $(GXERR) $(math__h)\
2241 $(gsmatrix_h) $(gscoord_h) $(gspaint_h) $(gxdevice_h)\
2242 $(gxfixed_h) $(gxmatrix_h) $(gspath_h) $(gspath2_h)\
2243 $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxhldevc_h)\
2244 $(gzpath_h) $(gzcpath_h) $(gzstate_h)
2245	$(GLCC) $(GLO_)gsdps1.$(OBJ) $(C_) $(GLSRC)gsdps1.c
2246
2247# ---------------- Functions ---------------- #
2248# These are used by PDF and by LanguageLevel 3.  They are here because
2249# the implementation of Separation colors also uses them.
2250
2251gsdsrc_h=$(GLSRC)gsdsrc.h $(gsstruct_h)
2252gsfunc_h=$(GLSRC)gsfunc.h $(gstypes_h)
2253gsfunc0_h=$(GLSRC)gsfunc0.h $(gsdsrc_h) $(gsfunc_h)
2254gxfunc_h=$(GLSRC)gxfunc.h $(gsfunc_h) $(gsstruct_h)
2255
2256# Generic support, and FunctionType 0.
2257funclib_=$(GLOBJ)gsdsrc.$(OBJ) $(GLOBJ)gsfunc.$(OBJ) $(GLOBJ)gsfunc0.$(OBJ)
2258$(GLD)funclib.dev : $(LIB_MAK) $(ECHOGS_XE) $(funclib_)
2259	$(SETMOD) $(GLD)funclib $(funclib_)
2260
2261$(GLOBJ)gsdsrc.$(OBJ) : $(GLSRC)gsdsrc.c $(GX) $(memory__h)\
2262 $(gsdsrc_h) $(gserrors_h) $(stream_h)
2263	$(GLCC) $(GLO_)gsdsrc.$(OBJ) $(C_) $(GLSRC)gsdsrc.c
2264
2265$(GLOBJ)gsfunc.$(OBJ) : $(GLSRC)gsfunc.c $(GX) $(memory__h)\
2266 $(gserrors_h) $(gsparam_h) $(gxfunc_h) $(stream_h)
2267	$(GLCC) $(GLO_)gsfunc.$(OBJ) $(C_) $(GLSRC)gsfunc.c
2268
2269$(GLOBJ)gsfunc0.$(OBJ) : $(GLSRC)gsfunc0.c $(GX) $(math__h)\
2270 $(gserrors_h) $(gsfunc0_h) $(gsparam_h) $(gxfarith_h) $(gxfunc_h)
2271	$(GLCC) $(GLO_)gsfunc0.$(OBJ) $(C_) $(GLSRC)gsfunc0.c
2272
2273# FunctionType 4 may be is used for tintTransform and similar functions,
2274# in LanguageLevel 2 and above.
2275
2276gsfunc4_h=$(GLSRC)gsfunc4.h $(gsfunc_h)
2277
2278func4lib_=$(GLOBJ)gsfunc4.$(OBJ) $(GLOBJ)spprint.$(OBJ)
2279$(GLD)func4lib.dev : $(LIB_MAK) $(ECHOGS_XE) $(func4lib_) $(GLD)funclib.dev
2280	$(SETMOD) $(GLD)func4lib $(func4lib_)
2281	$(ADDMOD) $(GLD)func4lib -include $(GLD)funclib
2282
2283$(GLOBJ)gsfunc4.$(OBJ) : $(GLSRC)gsfunc4.c $(GX) $(math__h) $(memory__h)\
2284 $(gsdsrc_h) $(gserrors_h) $(gsfunc4_h)\
2285 $(gxfarith_h) $(gxfunc_h)\
2286 $(sfilter_h) $(spprint_h) $(stream_h) $(strimpl_h)
2287	$(GLCC) $(GLO_)gsfunc4.$(OBJ) $(C_) $(GLSRC)gsfunc4.c
2288
2289# ---------------- DevicePixel color space ---------------- #
2290
2291gscpixel_h=$(GLSRC)gscpixel.h
2292
2293cspixlib_=$(GLOBJ)gscpixel.$(OBJ)
2294$(GLD)cspixlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(cspixlib_)
2295	$(SETMOD) $(GLD)cspixlib $(cspixlib_)
2296
2297$(GLOBJ)gscpixel.$(OBJ) : $(GLSRC)gscpixel.c $(GXERR)\
2298 $(gsrefct_h) $(gxcspace_h) $(gscpixel_h) $(gxdevice_h) $(gxistate_h)\
2299 $(gsovrc_h) $(gsstate_h) $(gzstate_h) $(stream_h)
2300	$(GLCC) $(GLO_)gscpixel.$(OBJ) $(C_) $(GLSRC)gscpixel.c
2301
2302# ---------------- CIE color ---------------- #
2303
2304cielib1_=$(GLOBJ)gscie.$(OBJ) $(GLOBJ)gsciemap.$(OBJ) $(GLOBJ)gscscie.$(OBJ)
2305cielib2_=$(GLOBJ)gscrd.$(OBJ) $(GLOBJ)gscrdp.$(OBJ) $(GLOBJ)gxctable.$(OBJ)
2306cielib_=$(cielib1_) $(cielib2_)
2307$(GLD)cielib.dev : $(LIB_MAK) $(ECHOGS_XE) $(cielib_)
2308	$(SETMOD) $(GLD)cielib $(cielib1_)
2309	$(ADDMOD) $(GLD)cielib $(cielib2_)
2310
2311$(GLOBJ)gscie.$(OBJ) : $(GLSRC)gscie.c $(GXERR) $(math__h) $(memory__h)\
2312 $(gscolor2_h) $(gsmatrix_h) $(gsstruct_h)\
2313 $(gxarith_h) $(gxcie_h) $(gxcmap_h) $(gxcspace_h) $(gxdevice_h) $(gzstate_h)\
2314 $(gsicc_h)
2315	$(GLCC) $(GLO_)gscie.$(OBJ) $(C_) $(GLSRC)gscie.c
2316
2317$(GLOBJ)gsciemap.$(OBJ) : $(GLSRC)gsciemap.c $(GXERR) $(math__h)\
2318 $(gxarith_h) $(gxcie_h) $(gxcmap_h) $(gxcspace_h) $(gxdevice_h) $(gxistate_h)
2319	$(GLCC) $(GLO_)gsciemap.$(OBJ) $(C_) $(GLSRC)gsciemap.c
2320
2321$(GLOBJ)gscrd.$(OBJ) : $(GLSRC)gscrd.c $(GXERR)\
2322 $(math__h) $(memory__h) $(string__h)\
2323 $(gscdefs_h) $(gscolor2_h) $(gscrd_h) $(gsdevice_h)\
2324 $(gsmatrix_h) $(gsparam_h) $(gsstruct_h) $(gsutil_h) $(gxcspace_h)
2325	$(GLCC) $(GLO_)gscrd.$(OBJ) $(C_) $(GLSRC)gscrd.c
2326
2327$(GLOBJ)gscrdp.$(OBJ) : $(GLSRC)gscrdp.c $(GXERR)\
2328 $(math__h) $(memory__h) $(string__h)\
2329 $(gscolor2_h) $(gscrdp_h) $(gsdevice_h) $(gsmatrix_h) $(gsstruct_h)\
2330 $(gxarith_h) $(gxcspace_h)
2331	$(GLCC) $(GLO_)gscrdp.$(OBJ) $(C_) $(GLSRC)gscrdp.c
2332
2333$(GLOBJ)gscscie.$(OBJ) : $(GLSRC)gscscie.c $(GXERR) $(math__h)\
2334 $(gscolor2_h) $(gsmatrix_h) $(gsstruct_h)\
2335 $(gxarith_h) $(gxcie_h) $(gxcmap_h) $(gxcspace_h) $(gxdevice_h) $(gzstate_h)\
2336 $(stream_h)
2337	$(GLCC) $(GLO_)gscscie.$(OBJ) $(C_) $(GLSRC)gscscie.c
2338
2339$(GLOBJ)gxctable.$(OBJ) : $(GLSRC)gxctable.c $(GX)\
2340 $(gxfixed_h) $(gxfrac_h) $(gxctable_h)
2341	$(GLCC) $(GLO_)gxctable.$(OBJ) $(C_) $(GLSRC)gxctable.c
2342
2343# ---------------- ICCBased color ---------------- #
2344
2345sicclib_=$(GLOBJ)gsicc.$(OBJ)
2346$(GLD)sicclib.dev : $(LIB_MAK) $(ECHOGS_XE) $(sicclib_) $(GLD)cielib.dev\
2347 $(ICCGENDIR)$(D)icclib.dev
2348	$(SETMOD) $(GLD)sicclib $(sicclib_)
2349	$(ADDMOD) $(GLD)sicclib -include $(ICCGENDIR)$(D)icclib.dev
2350
2351# icc_h is defined in icclib.mak, which is included after lib.mak, so we
2352# can't make gsicc.$(OBJ) depend on it.  Instead, we make it depend on
2353# the compilation of icc.$(OBJ).
2354$(GLOBJ)gsicc.$(OBJ) : $(GLSRC)gsicc.c $(GXERR) $(math__h) $(memory__h)\
2355 $(gsstruct_h) $(stream_h) $(gxcspace_h) $(gxarith_h) $(gxcie_h)\
2356 $(gzstate_h) $(gsicc_h) $(ICCOBJDIR)$(D)icc.$(OBJ)
2357	$(GLICCCC) $(GLO_)gsicc.$(OBJ) $(C_) $(GLSRC)gsicc.c
2358
2359# ---------------- Separation colors ---------------- #
2360
2361seprlib_=$(GLOBJ)gscsepr.$(OBJ)
2362$(GLD)seprlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(seprlib_)
2363	$(SETMOD) $(GLD)seprlib $(seprlib_)
2364
2365$(GLOBJ)gscsepr.$(OBJ) : $(GLSRC)gscsepr.c $(GXERR) $(memory__h)\
2366 $(gsfunc_h) $(gsrefct_h) $(gsmatrix_h) $(gscsepr_h) $(gxcspace_h)\
2367 $(gxfixed_h) $(gxcolor2_h) $(gzstate_h) $(gscdevn_h) $(gxcdevn_h)\
2368 $(gxcmap_h) $(gxdevcli_h) $(gsovrc_h) $(stream_h)
2369	$(GLCC) $(GLO_)gscsepr.$(OBJ) $(C_) $(GLSRC)gscsepr.c
2370
2371# ================ Display Postscript extensions ================ #
2372
2373gsiparm2_h=$(GLSRC)gsiparm2.h $(gsiparam_h)
2374gsdps_h=$(GLSRC)gsdps.h $(gsiparm2_h)
2375
2376# Display PostScript needs the DevicePixel color space to implement
2377# the PixelCopy option of ImageType 2 images.
2378dpslib_=$(GLOBJ)gsdps.$(OBJ) $(GLOBJ)gximage2.$(OBJ)
2379$(GLD)dpslib.dev : $(LIB_MAK) $(ECHOGS_XE) $(dpslib_) $(GLD)cspixlib.dev
2380	$(SETMOD) $(GLD)dpslib $(dpslib_)
2381	$(ADDMOD) $(GLD)dpslib -imagetype 2
2382	$(ADDMOD) $(GLD)dpslib -include $(GLD)cspixlib
2383
2384$(GLOBJ)gsdps.$(OBJ) : $(GLSRC)gsdps.c $(GX)\
2385 $(gsdps_h) $(gserrors_h) $(gspath_h)\
2386 $(gxdevice_h) $(gzcpath_h) $(gzpath_h) $(gzstate_h)
2387	$(GLCC) $(GLO_)gsdps.$(OBJ) $(C_) $(GLSRC)gsdps.c
2388
2389$(GLOBJ)gximage2.$(OBJ) : $(GLSRC)gximage2.c $(math__h) $(memory__h) $(GXERR)\
2390 $(gscpixel_h) $(gscoord_h) $(gscspace_h) $(gsdevice_h) $(gsiparm2_h)\
2391 $(gsmatrix_h) $(gxgetbit_h) $(gxiparam_h) $(gxpath_h)
2392	$(GLCC) $(GLO_)gximage2.$(OBJ) $(C_) $(GLSRC)gximage2.c
2393
2394# ---------------- NeXT Display PostScript ---------------- #
2395
2396gsalphac_h=$(GLSRC)gsalphac.h $(gscompt_h)
2397gsdpnext_h=$(GLSRC)gsdpnext.h $(gsalpha_h) $(gsalphac_h)
2398
2399$(GLOBJ)gsalphac.$(OBJ) : $(GLSRC)gsalphac.c $(GXERR) $(memory__h)\
2400 $(gsalphac_h) $(gsiparam_h) $(gsutil_h)\
2401 $(gxalpha_h) $(gxcomp_h) $(gxdevice_h) $(gxgetbit_h) $(gxlum_h)
2402	$(GLCC) $(GLO_)gsalphac.$(OBJ) $(C_) $(GLSRC)gsalphac.c
2403
2404$(GLOBJ)gximagec.$(OBJ) : $(GLSRC)gximagec.c $(GXERR)\
2405 $(gsdpnext_h) $(gxiparam_h)
2406	$(GLCC) $(GLO_)gximagec.$(OBJ) $(C_) $(GLSRC)gximagec.c
2407
2408dpnxtlib_=$(GLOBJ)gsalphac.$(OBJ)
2409$(GLD)dpnxtlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(dpnxtlib_)
2410	$(SETMOD) $(GLD)dpnxtlib $(dpnxtlib_)
2411	$(ADDCOMP) $(GLD)dpnxtlib alpha
2412
2413# ================ PostScript LanguageLevel 3 support ================ #
2414
2415$(GLOBJ)gscdevn.$(OBJ) : $(GLSRC)gscdevn.c $(GXERR) $(memory__h) $(string__h)\
2416 $(gscdevn_h) $(gsfunc_h) $(gsmatrix_h) $(gsrefct_h) $(gsstruct_h)\
2417 $(gxcspace_h) $(gxcdevn_h) $(gxfarith_h) $(gxfrac_h) $(gxcmap_h)\
2418 $(gxistate_h) $(gscoord_h) $(gzstate_h) $(gxdevcli_h) $(gsovrc_h) $(stream_h)
2419	$(GLCC) $(GLO_)gscdevn.$(OBJ) $(C_) $(GLSRC)gscdevn.c
2420
2421$(GLOBJ)gxdevndi.$(OBJ) : $(GLSRC)gxdevndi.c $(GX)\
2422 $(gsstruct_h) $(gsdcolor_h)\
2423 $(gxcmap_h) $(gxdevice_h) $(gxdevndi_h) $(gxlum_h) $(gzht_h)
2424	$(GLCC) $(GLO_)gxdevndi.$(OBJ) $(C_) $(GLSRC)gxdevndi.c
2425
2426$(GLOBJ)gsclipsr.$(OBJ) : $(GLSRC)gsclipsr.c $(GXERR)\
2427 $(gsclipsr_h) $(gsstruct_h) $(gxclipsr_h) $(gxfixed_h) $(gxpath_h)\
2428 $(gzstate_h)
2429	$(GLCC) $(GLO_)gsclipsr.$(OBJ) $(C_) $(GLSRC)gsclipsr.c
2430
2431psl3lib_=$(GLOBJ)gsclipsr.$(OBJ) $(GLOBJ)gscdevn.$(OBJ) $(GLOBJ)gxdevndi.$(OBJ)
2432
2433$(GLD)psl3lib.dev : $(LIB_MAK) $(ECHOGS_XE) $(psl3lib_)\
2434 $(GLD)imasklib.dev $(GLD)shadelib.dev $(GLD)gxfapiu$(UFST_BRIDGE).dev
2435	$(SETMOD) $(GLD)psl3lib $(psl3lib_)
2436	$(ADDMOD) $(GLD)psl3lib -include $(GLD)imasklib $(GLD)shadelib
2437	$(ADDMOD) $(GLD)psl3lib -include $(GLD)gxfapiu$(UFST_BRIDGE)
2438
2439# ---------------- Trapping ---------------- #
2440
2441gstrap_h=$(GLSRC)gstrap.h $(gsparam_h)
2442
2443$(GLOBJ)gstrap.$(OBJ) : $(GLSRC)gstrap.c $(string__h) $(GXERR)\
2444 $(gsparamx_h) $(gstrap_h)
2445	$(GLCC) $(GLO_)gstrap.$(OBJ) $(C_) $(GLSRC)gstrap.c
2446
2447traplib_=$(GLOBJ)gsparamx.$(OBJ) $(GLOBJ)gstrap.$(OBJ)
2448$(GLD)traplib.dev : $(LIB_MAK) $(ECHOGS_XE) $(traplib_)
2449	$(SETMOD) $(GLD)traplib $(traplib_)
2450
2451# ---------------- Transparency ---------------- #
2452
2453gstrans_h=$(GLSRC)gstrans.h $(gstparam_h) $(gxcomp_h)
2454gsipar3x_h=$(GLSRC)gsipar3x.h $(gsiparam_h) $(gsiparm3_h)
2455gximag3x_h=$(GLSRC)gximag3x.h $(gsipar3x_h) $(gxiparam_h)
2456gxblend_h=$(GLSRC)gxblend.h
2457gdevp14_h=$(GLSRC)gdevp14.h
2458
2459$(GLOBJ)gstrans.$(OBJ) : $(GLSRC)gstrans.c $(GXERR)\
2460 $(math__h) $(memory__h) $(gdevp14_h)\
2461 $(gstrans_h) $(gsutil_h) $(gxdevcli_h) $(gzstate_h)
2462	$(GLCC) $(GLO_)gstrans.$(OBJ) $(C_) $(GLSRC)gstrans.c
2463
2464$(GLOBJ)gximag3x.$(OBJ) : $(GLSRC)gximag3x.c $(GXERR) $(math__h) $(memory__h)\
2465 $(gdevbbox_h)\
2466 $(gsbitops_h) $(gscpixel_h) $(gscspace_h) $(gsstruct_h)\
2467 $(gxdevice_h) $(gxdevmem_h) $(gximag3x_h) $(gxistate_h)
2468	$(GLCC) $(GLO_)gximag3x.$(OBJ) $(C_) $(GLSRC)gximag3x.c
2469
2470$(GLOBJ)gxblend.$(OBJ) : $(GLSRC)gxblend.c $(GX) $(memory__h)\
2471 $(gstparam_h) $(gxblend_h)
2472	$(GLCC) $(GLO_)gxblend.$(OBJ) $(C_) $(GLSRC)gxblend.c
2473
2474$(GLOBJ)gdevp14.$(OBJ) : $(GLSRC)gdevp14.c $(GXERR) $(math__h) $(memory__h)\
2475 $(gscdefs_h) $(gsdevice_h) $(gsdfilt_h) $(gsimage_h)\
2476 $(gsstruct_h) $(gstparam_h)\
2477 $(gxblend_h) $(gxdcolor_h) $(gxdevice_h) $(gxiparam_h) $(gxistate_h)\
2478 $(gxtext_h) $(gsrect_h) $(gstrans_h) $(gsutil_h) $(gxcldev_h)\
2479 $(gzstate_h) $(gdevp14_h) $(gsovrc_h) $(gxcmap_h) $(gscolor1_h)
2480	$(GLCC) $(GLO_)gdevp14.$(OBJ) $(C_) $(GLSRC)gdevp14.c
2481
2482translib_=$(GLOBJ)gstrans.$(OBJ) $(GLOBJ)gximag3x.$(OBJ)\
2483 $(GLOBJ)gxblend.$(OBJ) $(GLOBJ)gdevp14.$(OBJ)
2484$(GLD)translib.dev : $(LIB_MAK) $(ECHOGS_XE) $(translib_) $(GLD)cspixlib.dev $(GLD)bboxutil.dev
2485	$(SETMOD) $(GLD)translib $(translib_)
2486	$(ADDMOD) $(GLD)translib -imagetype 3x
2487	$(ADDMOD) $(GLD)translib -include $(GLD)cspixlib $(GLD)bboxutil
2488
2489# ---------------- Smooth shading ---------------- #
2490
2491gscolor3_h=$(GLSRC)gscolor3.h
2492gsfunc3_h=$(GLSRC)gsfunc3.h $(gsdsrc_h) $(gsfunc_h)
2493gsshade_h=$(GLSRC)gsshade.h\
2494 $(gsccolor_h) $(gscspace_h) $(gsdsrc_h) $(gsfunc_h) $(gsmatrix_h)\
2495 $(gxfixed_h)
2496gxshade_h=$(GLSRC)gxshade.h $(gsshade_h) $(gxfixed_h) $(gxmatrix_h) $(stream_h)
2497gxshade4_h=$(GLSRC)gxshade4.h
2498
2499$(GLOBJ)gscolor3.$(OBJ) : $(GLSRC)gscolor3.c $(GXERR)\
2500 $(gscolor3_h) $(gsmatrix_h) $(gsptype2_h)\
2501 $(gxcolor2_h) $(gxcspace_h) $(gxpaint_h) $(gxdcolor_h) $(gxpcolor_h)\
2502 $(gxshade_h) $(gzpath_h) $(gzstate_h)
2503	$(GLCC) $(GLO_)gscolor3.$(OBJ) $(C_) $(GLSRC)gscolor3.c
2504
2505$(GLOBJ)gsfunc3.$(OBJ) : $(GLSRC)gsfunc3.c $(math__h) $(memory__h) $(GXERR)\
2506 $(gsfunc3_h) $(gsparam_h) $(gxfunc_h) $(stream_h)
2507	$(GLCC) $(GLO_)gsfunc3.$(OBJ) $(C_) $(GLSRC)gsfunc3.c
2508
2509$(GLOBJ)gsptype2.$(OBJ) : $(GLSRC)gsptype2.c $(GXERR)\
2510 $(gscspace_h) $(gsshade_h) $(gsmatrix_h) $(gsstate_h)\
2511 $(gxcolor2_h) $(gxdcolor_h) $(gsptype2_h) $(gxpcolor_h)\
2512 $(gxstate_h) $(gzpath_h) $(gzstate_h)
2513	$(GLCC) $(GLO_)gsptype2.$(OBJ) $(C_) $(GLSRC)gsptype2.c
2514
2515$(GLOBJ)gsshade.$(OBJ) : $(GLSRC)gsshade.c $(GXERR)\
2516 $(gscspace_h) $(gsstruct_h) $(gsptype2_h)\
2517 $(gxcspace_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevcli_h) $(gxistate_h)\
2518 $(gxpaint_h) $(gxpath_h) $(gxshade_h) $(gxshade4_h)\
2519 $(gzcpath_h) $(gzpath_h)
2520	$(GLCC) $(GLO_)gsshade.$(OBJ) $(C_) $(GLSRC)gsshade.c
2521
2522$(GLOBJ)gxshade.$(OBJ) : $(GLSRC)gxshade.c $(GXERR) $(math__h)\
2523 $(gsrect_h)\
2524 $(gxcspace_h) $(gscindex_h) $(gscie_h) \
2525 $(gxdevcli_h) $(gxistate_h) $(gxdht_h) $(gxpaint_h) $(gxshade_h) $(gxshade4_h)\
2526 $(gsicc_h)
2527	$(GLCC) $(GLO_)gxshade.$(OBJ) $(C_) $(GLSRC)gxshade.c
2528
2529$(GLOBJ)gxshade1.$(OBJ) : $(GLSRC)gxshade1.c $(GXERR) $(math__h) $(memory__h)\
2530 $(gscoord_h) $(gsmatrix_h) $(gspath_h) $(gsptype2_h)\
2531 $(gxcspace_h) $(gxdcolor_h) $(gxfarith_h) $(gxfixed_h) $(gxistate_h)\
2532 $(gxpath_h) $(gxshade_h) $(gxshade4_h) $(gxdevcli_h)
2533	$(GLCC) $(GLO_)gxshade1.$(OBJ) $(C_) $(GLSRC)gxshade1.c
2534
2535$(GLOBJ)gxshade4.$(OBJ) : $(GLSRC)gxshade4.c $(GXERR)\
2536 $(math__h) $(memory__h)\
2537 $(gscoord_h) $(gsmatrix_h) $(gsptype2_h)\
2538 $(gxcspace_h) $(gxdcolor_h) $(gxdevcli_h) $(gxistate_h) $(gxpath_h)\
2539 $(gxshade_h) $(gxshade4_h) $(vdtrace_h)
2540	$(GLCC) $(GLO_)gxshade4.$(OBJ) $(C_) $(GLSRC)gxshade4.c
2541
2542$(GLOBJ)gxshade6.$(OBJ) : $(GLSRC)gxshade6.c $(GXERR) $(memory__h)\
2543 $(gscoord_h) $(gsmatrix_h)\
2544 $(gxcspace_h) $(gxdcolor_h) $(gxistate_h) $(gxshade_h) $(gxshade4_h) $(gxdevcli_h)\
2545 $(gxarith_h) $(gzpath_h) $(math__h) $(vdtrace_h)
2546	$(GLCC) $(GLO_)gxshade6.$(OBJ) $(C_) $(GLSRC)gxshade6.c
2547
2548shadelib_1=$(GLOBJ)gscolor3.$(OBJ) $(GLOBJ)gsfunc3.$(OBJ) $(GLOBJ)gsptype2.$(OBJ) $(GLOBJ)gsshade.$(OBJ)
2549shadelib_2=$(GLOBJ)gxshade.$(OBJ) $(GLOBJ)gxshade1.$(OBJ) $(GLOBJ)gxshade4.$(OBJ) $(GLOBJ)gxshade6.$(OBJ)
2550shadelib_=$(shadelib_1) $(shadelib_2)
2551$(GLD)shadelib.dev : $(LIB_MAK) $(ECHOGS_XE) $(shadelib_)\
2552 $(GLD)funclib.dev $(GLD)patlib.dev
2553	$(SETMOD) $(GLD)shadelib $(shadelib_1)
2554	$(ADDMOD) $(GLD)shadelib -obj $(shadelib_2)
2555	$(ADDMOD) $(GLD)shadelib -include $(GLD)funclib $(GLD)patlib
2556
2557# ---------------- Support for %rom% IODevice ----------------- #
2558# This is used to access compressed, compiled-in support files
2559# define the romfs.dev FEATURE
2560romfs_=$(GLOBJ)gsiorom.$(OBJ)
2561$(GLD)romfs.dev : $(LIB_MAK) $(ECHO_XE) $(romfs_)
2562	$(SETMOD) $(GLD)romfs $(romfs_)
2563	$(ADDMOD) $(GLD)romfs -iodev rom
2564
2565# the following module is only included if the romfs.dev FEATURE is enabled
2566$(GLOBJ)gsiorom.$(OBJ) : $(GLSRC)gsiorom.c \
2567 $(std_h) $(gx_h) $(gserrors_h) $(gsstruct_h) $(gxiodev_h)
2568	$(GLCC) $(GLO_)gsiorom.$(OBJ) $(C_) $(GLSRC)gsiorom.c
2569
2570# ---------------- Support for %disk IODevices ---------------- #
2571# The following module is included only if the diskn.dev FEATURE is included
2572$(GLOBJ)gsiodisk.$(OBJ) : $(GLSRC)gsiodisk.c $(GXERR)\
2573 $(errno__h) $(string__h) $(unistd__h)\
2574 $(gp_h) $(gscdefs_h) $(gsparam_h) $(gsstruct_h) $(gxiodev_h) $(gsutil_h)
2575	$(GLCC) $(GLO_)gsiodisk.$(OBJ) $(C_) $(GLSRC)gsiodisk.c
2576
2577# ------------ Support for %macresource% IODevice ------------- #
2578# This is used to load native-format fonts on MacOS
2579# Define the macres.dev FEATURE
2580macres_=$(GLOBJ)gsiomacres.$(OBJ)
2581$(GLD)macres.dev : $(LIB_MAK) $(ECHOGS_XE) $(macres_)
2582	$(SETMOD) $(GLD)macres $(macres_)
2583	$(ADDMOD) $(GLD)macres -iodev macresource
2584
2585# The following module is included only if the macres.dev FEATURE is enabled
2586$(GLOBJ)gsiomacres.$(OBJ) : $(GLSRC)gsiomacres.c \
2587 $(std_h) $(gstypes_h) $(gsmemory_h) $(gxiodev_h)
2588	$(GLCC) $(GLO_)gsiomacres.$(OBJ) $(C_) $(GLSRC)gsiomacres.c
2589
2590# ---------------- Font API ---------------- #
2591
2592# UFST bridge support :
2593# (This stuff fixes Agfa's reentrancy problem with UFST callbacks.)
2594# (To be removed after Agfa fixes the problem.)
2595
2596UFST_INC_1=$(I_)$(UFST_ROOT)$(D)sys$(D)inc$(_I) $(I_)$(UFST_ROOT)$(D)rts$(D)inc$(_I)
2597UFST_INC_=$(UFST_INC_1) $(I_)$(UFST_ROOT)$(D)rts$(D)fco$(_I) $(I_)$(UFST_ROOT)$(D)rts$(D)gray$(_I)
2598
2599gxfapi_h=$(GLSRC)gxfapi.h
2600
2601$(GLD)gxfapiu1.dev : $(LIB_MAK) $(ECHOGS_XE) $(GLOBJ)gxfapi.$(OBJ)
2602	$(SETMOD) $(GLD)gxfapiu1 $(GLOBJ)gxfapi.$(OBJ)
2603
2604$(GLOBJ)gxfapi.$(OBJ) : $(GLSRC)gxfapi.c \
2605 $(gx_h) $(gxfapi_h) \
2606 $(UFST_ROOT)$(D)rts$(D)inc$(D)cgconfig.h\
2607 $(UFST_ROOT)$(D)rts$(D)inc$(D)shareinc.h\
2608 $(UFST_ROOT)$(D)sys$(D)inc$(D)port.h
2609	$(GLCC) $(UFST_CFLAGS) $(UFST_INC_) $(GLO_)gxfapi.$(OBJ) $(C_) $(GLSRC)gxfapi.c
2610
2611
2612# stub for UFST bridge support	:
2613
2614$(GLD)gxfapiu.dev : $(LIB_MAK) $(ECHOGS_XE)
2615	$(SETMOD) $(GLD)gxfapiu
2616
2617
2618# ================ Platform-specific modules ================ #
2619# Platform-specific code doesn't really belong here: this is code that is
2620# shared among multiple platforms.
2621
2622# Standard implementation of gp_getenv.
2623$(GLOBJ)gp_getnv.$(OBJ) : $(GLSRC)gp_getnv.c $(AK) $(stdio__h) $(string__h)\
2624 $(gp_h) $(gsmemory_h) $(gstypes_h)
2625	$(GLCC) $(GLO_)gp_getnv.$(OBJ) $(C_) $(GLSRC)gp_getnv.c
2626
2627# File system implementation.
2628
2629# MS-DOS file system, also used by Desqview/X.
2630$(GLOBJ)gp_dosfs.$(OBJ) : $(GLSRC)gp_dosfs.c $(AK) $(dos__h) $(gp_h) $(gpmisc_h) $(gx_h)
2631	$(GLCC) $(GLO_)gp_dosfs.$(OBJ) $(C_) $(GLSRC)gp_dosfs.c
2632
2633# MS-DOS file enumeration, *not* used by Desqview/X.
2634$(GLOBJ)gp_dosfe.$(OBJ) : $(GLSRC)gp_dosfe.c $(AK)\
2635 $(dos__h) $(memory__h) $(stdio__h) $(string__h)\
2636 $(gstypes_h) $(gsmemory_h) $(gsstruct_h) $(gp_h) $(gsutil_h)
2637	$(GLCC) $(GLO_)gp_dosfe.$(OBJ) $(C_) $(GLSRC)gp_dosfe.c
2638
2639# Unix(-like) file system, also used by Desqview/X.
2640$(GLOBJ)gp_unifs.$(OBJ) : $(GLSRC)gp_unifs.c $(AK)\
2641 $(memory__h) $(string__h) $(stdio__h) $(unistd__h) \
2642 $(gx_h) $(gp_h) $(gpmisc_h) $(gsstruct_h) $(gsutil_h) \
2643 $(stat__h) $(dirent__h)
2644	$(GLCC) $(GLO_)gp_unifs.$(OBJ) $(C_) $(GLSRC)gp_unifs.c
2645
2646# Unix(-like) file name syntax, *not* used by Desqview/X.
2647$(GLOBJ)gp_unifn.$(OBJ) : $(GLSRC)gp_unifn.c $(AK) $(gx_h) $(gp_h) $(gpmisc_h)
2648	$(GLCC) $(GLO_)gp_unifn.$(OBJ) $(C_) $(GLSRC)gp_unifn.c
2649
2650# Pipes.  These are actually the same on all platforms that have them.
2651
2652pipe_=$(GLOBJ)gdevpipe.$(OBJ)
2653$(GLD)pipe.dev : $(LIB_MAK) $(ECHOGS_XE) $(pipe_)
2654	$(SETMOD) $(GLD)pipe $(pipe_)
2655	$(ADDMOD) $(GLD)pipe -iodev pipe
2656
2657$(GLOBJ)gdevpipe.$(OBJ) : $(GLSRC)gdevpipe.c $(AK)\
2658 $(errno__h) $(pipe__h) $(stdio__h) $(string__h) \
2659 $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gstypes_h) $(gxiodev_h)
2660	$(GLCC) $(GLO_)gdevpipe.$(OBJ) $(C_) $(GLSRC)gdevpipe.c
2661
2662# Thread / semaphore / monitor implementation.
2663
2664# Dummy implementation.
2665nosync_=$(GLOBJ)gp_nsync.$(OBJ)
2666$(GLD)nosync.dev : $(LIB_MAK) $(ECHOGS_XE) $(nosync_)
2667	$(SETMOD) $(GLD)nosync $(nosync_)
2668
2669$(GLOBJ)gp_nsync.$(OBJ) : $(GLSRC)gp_nsync.c $(AK) $(std_h)\
2670 $(gpsync_h) $(gserror_h) $(gserrors_h)
2671	$(GLCC) $(GLO_)gp_nsync.$(OBJ) $(C_) $(GLSRC)gp_nsync.c
2672
2673# POSIX pthreads-based implementation.
2674pthreads_=$(GLOBJ)gp_psync.$(OBJ)
2675$(GLD)posync.dev : $(LIB_MAK) $(ECHOGS_XE) $(pthreads_)
2676	$(SETMOD) $(GLD)posync $(pthreads_)
2677	$(ADDMOD) $(GLD)posync -replace $(GLD)nosync
2678
2679$(GLOBJ)gp_psync.$(OBJ) : $(GLSRC)gp_psync.c $(AK) $(malloc__h) $(std_h)\
2680 $(gpsync_h) $(gserror_h) $(gserrors_h)
2681	$(GLCC) $(GLO_)gp_psync.$(OBJ) $(C_) $(GLSRC)gp_psync.c
2682
2683# Other stuff.
2684
2685# Other MS-DOS facilities.
2686$(GLOBJ)gp_msdos.$(OBJ) : $(GLSRC)gp_msdos.c $(AK)\
2687 $(dos__h) $(stdio__h) $(string__h)\
2688 $(gsmemory_h) $(gstypes_h) $(gp_h)
2689	$(GLCC) $(GLO_)gp_msdos.$(OBJ) $(C_) $(GLSRC)gp_msdos.c
2690
2691# ================ Dependencies for auxiliary programs ================ #
2692
2693GENARCH_DEPS=$(stdpre_h)
2694GENCONF_DEPS=$(stdpre_h)
2695GENDEV_DEPS=$(stdpre_h)
2696# For the included .c files, we need to include both the .c and the
2697# compiled file in the dependencies, to express the implicit dependency
2698# on all .h files included by those .c files.
2699GENHT_DEPS=$(malloc__h) $(stdio__h) $(string__h)\
2700 $(gscdefs_h) $(gsmemory_h)\
2701 $(gxbitmap_h) $(gxdht_h) $(gxhttile_h) $(gxtmap_h)\
2702 $(sstring_h) $(strimpl_h)\
2703 $(GLSRC)gxhtbit.c $(GLOBJ)gxhtbit.$(OBJ)\
2704 $(GLSRC)scantab.c $(GLOBJ)scantab.$(OBJ)\
2705 $(GLSRC)sstring.c $(GLOBJ)sstring.$(OBJ)
2706GENHT_CFLAGS=$(I_)$(GLI_)$(_I) $(GLF_)
2707# GENINIT_DEPS is in int.mak
2708
2709# ============================= Main program ============================== #
2710
2711# Main program for library testing
2712
2713$(GLOBJ)gslib.$(OBJ) : $(GLSRC)gslib.c $(AK)\
2714 $(math__h) $(stdio__h) $(string__h)\
2715 $(gx_h) $(gp_h)\
2716 $(gsalloc_h) $(gserrors_h) $(gsmatrix_h)\
2717 $(gsrop_h) $(gsstate_h) $(gscspace_h)\
2718 $(gscdefs_h) $(gscie_h) $(gscolor2_h) $(gscoord_h) $(gscrd_h)\
2719 $(gshtx_h) $(gsiparm3_h) $(gsiparm4_h) $(gslib_h) $(gsparam_h)\
2720 $(gspaint_h) $(gspath_h) $(gspath2_h) $(gsstruct_h) $(gsutil_h)\
2721 $(gxalloc_h) $(gxdcolor_h) $(gxdevice_h) $(gxht_h)\
2722 $(gdevbbox_h) $(gdevcmap_h)
2723	$(GLCC) $(GLO_)gslib.$(OBJ) $(C_) $(GLSRC)gslib.c
2724