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