xref: /plan9/sys/src/cmd/gs/src/int.mak (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1#    Copyright (C) 1995-2003 artofcode LLC.  All rights reserved.
2#
3# This software is provided AS-IS with no warranty, either express or
4# implied.
5#
6# This software is distributed under license and may not be copied,
7# modified or distributed except as expressly authorized under the terms
8# of the license contained in the file LICENSE in this distribution.
9#
10# For more information about licensing, please refer to
11# http://www.ghostscript.com/licensing/. For information on
12# commercial licensing, go to http://www.artifex.com/licensing/ or
13# contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14# San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15
16# $Id: int.mak,v 1.136 2005/08/30 16:49:34 igor Exp $
17# (Platform-independent) makefile for PostScript and PDF language
18# interpreters.
19# Users of this makefile must define the following:
20#	GLSRCDIR - the graphics library source directory
21#	GLGENDIR - the directory for graphics library source files
22#		generated during building
23#	PSSRCDIR - the source directory
24#	PSOBJDIR - the object code directory
25
26PSSRC=$(PSSRCDIR)$(D)
27PSLIB=$(PSLIBDIR)$(D)
28PSGEN=$(PSGENDIR)$(D)
29PSOBJ=$(PSOBJDIR)$(D)
30PSO_=$(O_)$(PSOBJ)
31PSI_=$(PSSRCDIR) $(II)$(PSGENDIR) $(II)$(GLI_)
32PSF_=
33PSCC=$(CC_) $(I_)$(PSI_)$(_I) $(PSF_)
34PSJBIG2CC=$(CC_) $(I_)$(PSI_) $(II)$(JB2I_)$(_I) $(JB2CF_) $(PSF_)
35# All top-level makefiles define PSD.
36#PSD=$(PSGEN)
37
38# Define the name of this makefile.
39INT_MAK=$(PSSRC)int.mak
40
41# ======================== Interpreter support ======================== #
42
43# This is support code for all interpreters, not just PostScript and PDF.
44# It knows about the PostScript data types, but isn't supposed to
45# depend on anything outside itself.
46
47ierrors_h=$(PSSRC)ierrors.h
48iconf_h=$(PSSRC)iconf.h
49idebug_h=$(PSSRC)idebug.h
50# Having iddstack.h at this level is unfortunate, but unavoidable.
51iddstack_h=$(PSSRC)iddstack.h
52idict_h=$(PSSRC)idict.h $(iddstack_h)
53idictdef_h=$(PSSRC)idictdef.h
54idosave_h=$(PSSRC)idosave.h
55igcstr_h=$(PSSRC)igcstr.h
56inames_h=$(PSSRC)inames.h
57iname_h=$(PSSRC)iname.h $(inames_h)
58inameidx_h=$(PSSRC)inameidx.h $(gconfigv_h)
59inamestr_h=$(PSSRC)inamestr.h $(inameidx_h)
60ipacked_h=$(PSSRC)ipacked.h
61iref_h=$(PSSRC)iref.h
62isave_h=$(PSSRC)isave.h $(idosave_h)
63isstate_h=$(PSSRC)isstate.h
64istruct_h=$(PSSRC)istruct.h $(gsstruct_h)
65iutil_h=$(PSSRC)iutil.h
66ivmspace_h=$(PSSRC)ivmspace.h $(gsgc_h)
67opdef_h=$(PSSRC)opdef.h
68# Nested include files
69ghost_h=$(PSSRC)ghost.h $(gx_h) $(iref_h)
70igc_h=$(PSSRC)igc.h $(istruct_h)
71imemory_h=$(PSSRC)imemory.h $(gsalloc_h) $(ivmspace_h)
72ialloc_h=$(PSSRC)ialloc.h $(imemory_h)
73iastruct_h=$(PSSRC)iastruct.h $(gxobj_h) $(ialloc_h)
74iastate_h=$(PSSRC)iastate.h $(gxalloc_h) $(ialloc_h) $(istruct_h)
75inamedef_h=$(PSSRC)inamedef.h\
76 $(gsstruct_h) $(inameidx_h) $(inames_h) $(inamestr_h)
77store_h=$(PSSRC)store.h $(ialloc_h) $(idosave_h)
78iplugin_h=$(PSSRC)iplugin.h
79ifapi_h=$(PSSRC)ifapi.h $(iplugin_h)
80zht2_h=$(PSSRC)zht2.h $(gscspace_h)
81zchar42_h=$(PSSRC)zchar42.h
82
83GH=$(AK) $(ghost_h)
84
85isupport1_=$(PSOBJ)ialloc.$(OBJ) $(PSOBJ)igc.$(OBJ) $(PSOBJ)igcref.$(OBJ) $(PSOBJ)igcstr.$(OBJ)
86isupport2_=$(PSOBJ)ilocate.$(OBJ) $(PSOBJ)iname.$(OBJ) $(PSOBJ)isave.$(OBJ)
87isupport_=$(isupport1_) $(isupport2_)
88$(PSD)isupport.dev : $(INT_MAK) $(ECHOGS_XE) $(isupport_)
89	$(SETMOD) $(PSD)isupport $(isupport1_)
90	$(ADDMOD) $(PSD)isupport -obj $(isupport2_)
91
92$(PSOBJ)ialloc.$(OBJ) : $(PSSRC)ialloc.c $(AK) $(memory__h) $(gx_h)\
93 $(ierrors_h) $(gsstruct_h)\
94 $(iastate_h) $(igc_h) $(ipacked_h) $(iref_h) $(iutil_h) $(ivmspace_h)\
95 $(store_h)
96	$(PSCC) $(PSO_)ialloc.$(OBJ) $(C_) $(PSSRC)ialloc.c
97
98# igc.c, igcref.c, and igcstr.c should really be in the dpsand2 list,
99# but since all the GC enumeration and relocation routines refer to them,
100# it's too hard to separate them out from the Level 1 base.
101$(PSOBJ)igc.$(OBJ) : $(PSSRC)igc.c $(GH) $(memory__h)\
102 $(ierrors_h) $(gsexit_h) $(gsmdebug_h) $(gsstruct_h) $(gsutil_h)\
103 $(iastate_h) $(idict_h) $(igc_h) $(igcstr_h) $(inamedef_h)\
104 $(ipacked_h) $(isave_h) $(isstate_h) $(istruct_h) $(opdef_h)
105	$(PSCC) $(PSO_)igc.$(OBJ) $(C_) $(PSSRC)igc.c
106
107$(PSOBJ)igcref.$(OBJ) : $(PSSRC)igcref.c $(GH) $(memory__h)\
108 $(gsexit_h) $(gsstruct_h)\
109 $(iastate_h) $(idebug_h) $(igc_h) $(iname_h) $(ipacked_h) $(store_h)
110	$(PSCC) $(PSO_)igcref.$(OBJ) $(C_) $(PSSRC)igcref.c
111
112$(PSOBJ)igcstr.$(OBJ) : $(PSSRC)igcstr.c $(GH) $(memory__h)\
113 $(gsmdebug_h) $(gsstruct_h) $(iastate_h) $(igcstr_h)
114	$(PSCC) $(PSO_)igcstr.$(OBJ) $(C_) $(PSSRC)igcstr.c
115
116$(PSOBJ)ilocate.$(OBJ) : $(PSSRC)ilocate.c $(GH) $(memory__h)\
117 $(ierrors_h) $(gsexit_h) $(gsstruct_h)\
118 $(iastate_h) $(idict_h) $(igc_h) $(igcstr_h) $(iname_h)\
119 $(ipacked_h) $(isstate_h) $(iutil_h) $(ivmspace_h)\
120 $(store_h)
121	$(PSCC) $(PSO_)ilocate.$(OBJ) $(C_) $(PSSRC)ilocate.c
122
123$(PSOBJ)iname.$(OBJ) : $(PSSRC)iname.c $(GH) $(memory__h) $(string__h)\
124 $(gsstruct_h) $(gxobj_h)\
125 $(ierrors_h) $(imemory_h) $(inamedef_h) $(isave_h) $(store_h)
126	$(PSCC) $(PSO_)iname.$(OBJ) $(C_) $(PSSRC)iname.c
127
128$(PSOBJ)isave.$(OBJ) : $(PSSRC)isave.c $(GH) $(memory__h)\
129 $(ierrors_h) $(gsexit_h) $(gsstruct_h) $(gsutil_h)\
130 $(iastate_h) $(iname_h) $(inamedef_h) $(isave_h) $(isstate_h) $(ivmspace_h)\
131 $(ipacked_h) $(store_h) $(stream_h)
132	$(PSCC) $(PSO_)isave.$(OBJ) $(C_) $(PSSRC)isave.c
133
134### Include files
135
136idparam_h=$(PSSRC)idparam.h
137ilevel_h=$(PSSRC)ilevel.h
138interp_h=$(PSSRC)interp.h
139iparam_h=$(PSSRC)iparam.h $(gsparam_h)
140isdata_h=$(PSSRC)isdata.h
141istack_h=$(PSSRC)istack.h $(isdata_h)
142istkparm_h=$(PSSRC)istkparm.h
143iutil2_h=$(PSSRC)iutil2.h
144oparc_h=$(PSSRC)oparc.h
145opcheck_h=$(PSSRC)opcheck.h
146opextern_h=$(PSSRC)opextern.h
147# Nested include files
148idsdata_h=$(PSSRC)idsdata.h $(isdata_h)
149idstack_h=$(PSSRC)idstack.h $(iddstack_h) $(idsdata_h) $(istack_h)
150iesdata_h=$(PSSRC)iesdata.h $(isdata_h)
151iestack_h=$(PSSRC)iestack.h $(istack_h) $(iesdata_h)
152iosdata_h=$(PSSRC)iosdata.h $(isdata_h)
153iostack_h=$(PSSRC)iostack.h $(istack_h) $(iosdata_h)
154icstate_h=$(PSSRC)icstate.h $(imemory_h) $(iref_h) $(idsdata_h) $(iesdata_h) $(iosdata_h)
155iddict_h=$(PSSRC)iddict.h $(icstate_h) $(idict_h)
156dstack_h=$(PSSRC)dstack.h $(icstate_h) $(idstack_h)
157estack_h=$(PSSRC)estack.h $(icstate_h) $(iestack_h)
158ostack_h=$(PSSRC)ostack.h $(icstate_h) $(iostack_h)
159oper_h=$(PSSRC)oper.h $(ierrors_h) $(iutil_h) $(opcheck_h) $(opdef_h) $(opextern_h) $(ostack_h)
160
161$(PSOBJ)idebug.$(OBJ) : $(PSSRC)idebug.c $(GH) $(string__h)\
162 $(gxalloc_h)\
163 $(idebug_h) $(idict_h) $(iname_h) $(istack_h) $(iutil_h) $(ivmspace_h)\
164 $(opdef_h) $(ipacked_h)
165	$(PSCC) $(PSO_)idebug.$(OBJ) $(C_) $(PSSRC)idebug.c
166
167$(PSOBJ)idict.$(OBJ) : $(PSSRC)idict.c $(GH) $(math__h) $(string__h)\
168 $(ierrors_h)\
169 $(gxalloc_h)\
170 $(iddstack_h) $(idebug_h) $(idict_h) $(idictdef_h)\
171 $(imemory_h) $(iname_h) $(inamedef_h) $(ipacked_h) $(isave_h)\
172 $(iutil_h) $(ivmspace_h) $(store_h)
173	$(PSCC) $(PSO_)idict.$(OBJ) $(C_) $(PSSRC)idict.c
174
175$(PSOBJ)idparam.$(OBJ) : $(PSSRC)idparam.c $(GH) $(memory__h) $(string__h) $(ierrors_h)\
176 $(gsmatrix_h) $(gsuid_h)\
177 $(idict_h) $(idparam_h) $(ilevel_h) $(imemory_h) $(iname_h) $(iutil_h)\
178 $(oper_h) $(store_h)
179	$(PSCC) $(PSO_)idparam.$(OBJ) $(C_) $(PSSRC)idparam.c
180
181$(PSOBJ)idstack.$(OBJ) : $(PSSRC)idstack.c $(GH)\
182 $(idebug_h) $(idict_h) $(idictdef_h) $(idstack_h) $(iname_h) $(inamedef_h)\
183 $(ipacked_h) $(iutil_h) $(ivmspace_h)
184	$(PSCC) $(PSO_)idstack.$(OBJ) $(C_) $(PSSRC)idstack.c
185
186$(PSOBJ)iparam.$(OBJ) : $(PSSRC)iparam.c $(GH)\
187 $(memory__h) $(string__h) $(ierrors_h)\
188 $(ialloc_h) $(idict_h) $(iname_h) $(imemory_h) $(iparam_h) $(istack_h) $(iutil_h) $(ivmspace_h)\
189 $(opcheck_h) $(oper_h) $(store_h)
190	$(PSCC) $(PSO_)iparam.$(OBJ) $(C_) $(PSSRC)iparam.c
191
192$(PSOBJ)istack.$(OBJ) : $(PSSRC)istack.c $(GH) $(memory__h)\
193 $(ierrors_h) $(gsstruct_h) $(gsutil_h)\
194 $(ialloc_h) $(istack_h) $(istkparm_h) $(istruct_h) $(iutil_h) $(ivmspace_h)\
195 $(store_h)
196	$(PSCC) $(PSO_)istack.$(OBJ) $(C_) $(PSSRC)istack.c
197
198$(PSOBJ)iutil.$(OBJ) : $(PSSRC)iutil.c $(GH) $(math__h) $(memory__h) $(string__h)\
199 $(gsccode_h) $(gsmatrix_h) $(gsutil_h) $(gxfont_h)\
200 $(sstring_h) $(strimpl_h)\
201 $(ierrors_h) $(idict_h) $(imemory_h) $(iutil_h) $(ivmspace_h)\
202 $(iname_h) $(ipacked_h) $(oper_h) $(store_h)
203	$(PSCC) $(PSO_)iutil.$(OBJ) $(C_) $(PSSRC)iutil.c
204
205$(PSOBJ)iplugin.$(OBJ) : $(PSSRC)iplugin.c $(GH) $(malloc__h) $(string__h)\
206 $(gxalloc_h)\
207 $(ierrors_h) $(ialloc_h) $(icstate_h) $(iplugin_h)
208	$(PSCC) $(PSO_)iplugin.$(OBJ) $(C_) $(PSSRC)iplugin.c
209
210# ======================== PostScript Level 1 ======================== #
211
212###### Include files
213
214# Binary tokens are a Level 2 feature, but we need to refer to them
215# in the scanner.
216btoken_h=$(PSSRC)btoken.h
217files_h=$(PSSRC)files.h
218fname_h=$(PSSRC)fname.h
219iapi_h=$(PSSRC)iapi.h
220ichar_h=$(PSSRC)ichar.h
221ichar1_h=$(PSSRC)ichar1.h
222icharout_h=$(PSSRC)icharout.h
223icolor_h=$(PSSRC)icolor.h
224icremap_h=$(PSSRC)icremap.h $(gsccolor_h)
225icsmap_h=$(PSSRC)icsmap.h
226idisp_h=$(PSSRC)idisp.h
227ifilter2_h=$(PSSRC)ifilter2.h
228ifont_h=$(PSSRC)ifont.h $(gsccode_h) $(gsstype_h)
229ifont1_h=$(PSSRC)ifont1.h
230ifont2_h=$(PSSRC)ifont2.h
231ifont42_h=$(PSSRC)ifont42.h
232ifrpred_h=$(PSSRC)ifrpred.h
233ifwpred_h=$(PSSRC)ifwpred.h
234iht_h=$(PSSRC)iht.h
235iimage_h=$(PSSRC)iimage.h
236iinit_h=$(PSSRC)iinit.h
237imain_h=$(PSSRC)imain.h $(gsexit_h)
238imainarg_h=$(PSSRC)imainarg.h
239iminst_h=$(PSSRC)iminst.h
240iparray_h=$(PSSRC)iparray.h
241iscanbin_h=$(PSSRC)iscanbin.h
242iscannum_h=$(PSSRC)iscannum.h
243istream_h=$(PSSRC)istream.h
244itoken_h=$(PSSRC)itoken.h
245main_h=$(PSSRC)main.h $(iapi_h) $(imain_h) $(iminst_h)
246sbwbs_h=$(PSSRC)sbwbs.h
247shcgen_h=$(PSSRC)shcgen.h
248smtf_h=$(PSSRC)smtf.h
249# Nested include files
250bfont_h=$(PSSRC)bfont.h $(ifont_h)
251icontext_h=$(PSSRC)icontext.h $(gsstype_h) $(icstate_h)
252ifilter_h=$(PSSRC)ifilter.h $(istream_h) $(ivmspace_h)
253igstate_h=$(PSSRC)igstate.h $(gsstate_h) $(gxstate_h) $(imemory_h) $(istruct_h) $(gxcindex_h)
254iscan_h=$(PSSRC)iscan.h $(sa85x_h) $(sstring_h)
255sbhc_h=$(PSSRC)sbhc.h $(shc_h)
256# Include files for optional features
257ibnum_h=$(PSSRC)ibnum.h
258
259### Initialization and scanning
260
261$(PSOBJ)iconfig.$(OBJ) : $(gconfig_h) $(PSSRC)iconf.c $(stdio__h)\
262 $(gconf_h) $(gconfigd_h) $(gsmemory_h) $(gstypes_h)\
263 $(iminst_h) $(iref_h) $(ivmspace_h) $(opdef_h) $(iplugin_h)
264	$(RM_) $(PSGEN)iconfig.c
265	$(CP_) $(gconfig_h) $(PSGEN)gconfig.h
266	$(CP_) $(PSSRC)iconf.c $(PSGEN)iconfig.c
267	$(PSCC) $(PSO_)iconfig.$(OBJ) $(C_) $(PSGEN)iconfig.c
268
269$(PSOBJ)iinit.$(OBJ) : $(PSSRC)iinit.c $(GH) $(string__h)\
270 $(gscdefs_h) $(gsexit_h) $(gsstruct_h)\
271 $(dstack_h) $(ierrors_h) $(ialloc_h) $(iddict_h)\
272 $(iinit_h) $(ilevel_h) $(iname_h) $(interp_h) $(opdef_h)\
273 $(ipacked_h) $(iparray_h) $(iutil_h) $(ivmspace_h) $(store_h)
274	$(PSCC) $(PSO_)iinit.$(OBJ) $(C_) $(PSSRC)iinit.c
275
276$(PSOBJ)iscan.$(OBJ) : $(PSSRC)iscan.c $(GH) $(memory__h)\
277 $(btoken_h) $(dstack_h) $(ierrors_h) $(files_h)\
278 $(ialloc_h) $(idict_h) $(ilevel_h) $(iname_h) $(ipacked_h) $(iparray_h)\
279 $(iscan_h) $(iscanbin_h) $(iscannum_h)\
280 $(istruct_h) $(istream_h) $(iutil_h) $(ivmspace_h)\
281 $(ostack_h) $(store_h)\
282 $(sa85d_h) $(stream_h) $(strimpl_h) $(sfilter_h) $(scanchar_h)
283	$(PSCC) $(PSO_)iscan.$(OBJ) $(C_) $(PSSRC)iscan.c
284
285$(PSOBJ)iscannum.$(OBJ) : $(PSSRC)iscannum.c $(GH) $(math__h)\
286 $(ierrors_h) $(iscannum_h) $(scanchar_h) $(scommon_h) $(store_h)
287	$(PSCC) $(PSO_)iscannum.$(OBJ) $(C_) $(PSSRC)iscannum.c
288
289### Streams
290
291$(PSOBJ)sfilter1.$(OBJ) : $(PSSRC)sfilter1.c $(AK) $(stdio__h) $(memory__h)\
292 $(sfilter_h) $(strimpl_h)
293	$(PSCC) $(PSO_)sfilter1.$(OBJ) $(C_) $(PSSRC)sfilter1.c
294
295###### Operators
296
297OP=$(GH) $(oper_h)
298
299### Non-graphics operators
300
301$(PSOBJ)zarith.$(OBJ) : $(PSSRC)zarith.c $(OP) $(math__h) $(store_h)
302	$(PSCC) $(PSO_)zarith.$(OBJ) $(C_) $(PSSRC)zarith.c
303
304$(PSOBJ)zarray.$(OBJ) : $(PSSRC)zarray.c $(OP) $(memory__h)\
305 $(ialloc_h) $(ipacked_h) $(store_h)
306	$(PSCC) $(PSO_)zarray.$(OBJ) $(C_) $(PSSRC)zarray.c
307
308$(PSOBJ)zcontrol.$(OBJ) : $(PSSRC)zcontrol.c $(OP) $(string__h)\
309 $(estack_h) $(files_h) $(ipacked_h) $(iutil_h) $(store_h) $(stream_h)
310	$(PSCC) $(PSO_)zcontrol.$(OBJ) $(C_) $(PSSRC)zcontrol.c
311
312$(PSOBJ)zdict.$(OBJ) : $(PSSRC)zdict.c $(OP)\
313 $(dstack_h) $(iddict_h) $(ilevel_h) $(iname_h) $(ipacked_h) $(ivmspace_h)\
314 $(store_h)
315	$(PSCC) $(PSO_)zdict.$(OBJ) $(C_) $(PSSRC)zdict.c
316
317$(PSOBJ)zfile.$(OBJ) : $(PSSRC)zfile.c $(OP)\
318 $(memory__h) $(string__h) $(unistd__h) $(gp_h) $(gpmisc_h)\
319 $(gscdefs_h) $(gsfname_h) $(gsstruct_h) $(gsutil_h) $(gxalloc_h) $(gxiodev_h)\
320 $(dstack_h) $(estack_h) $(files_h)\
321 $(ialloc_h) $(idict_h) $(ilevel_h) $(iname_h) $(interp_h) $(iutil_h)\
322 $(isave_h) $(main_h) $(sfilter_h) $(stream_h) $(strimpl_h) $(store_h)
323	$(PSCC) $(PSO_)zfile.$(OBJ) $(C_) $(PSSRC)zfile.c
324
325$(PSOBJ)zfile1.$(OBJ) : $(PSSRC)zfile1.c $(OP) $(memory__h) $(string__h)\
326 $(gp_h) $(ierrors_h) $(oper_h) $(opcheck_h) $(ialloc_h) $(opdef_h) $(store_h)
327	$(PSCC) $(PSO_)zfile1.$(OBJ) $(C_) $(PSSRC)zfile1.c
328
329$(PSOBJ)zfileio.$(OBJ) : $(PSSRC)zfileio.c $(OP) $(memory__h) $(gp_h)\
330 $(estack_h) $(files_h) $(ifilter_h) $(interp_h) $(store_h)\
331 $(stream_h) $(strimpl_h)\
332 $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
333	$(PSCC) $(PSO_)zfileio.$(OBJ) $(C_) $(PSSRC)zfileio.c
334
335$(PSOBJ)zfilter.$(OBJ) : $(PSSRC)zfilter.c $(OP) $(memory__h)\
336 $(gsstruct_h)\
337 $(files_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) $(ilevel_h)\
338 $(sfilter_h) $(srlx_h) $(sstring_h) $(stream_h) $(strimpl_h)
339	$(PSCC) $(PSO_)zfilter.$(OBJ) $(C_) $(PSSRC)zfilter.c
340
341$(PSOBJ)zfproc.$(OBJ) : $(PSSRC)zfproc.c $(GH) $(memory__h)\
342 $(oper_h)\
343 $(estack_h) $(files_h) $(gsstruct_h) $(ialloc_h) $(ifilter_h) $(istruct_h)\
344 $(store_h) $(stream_h) $(strimpl_h)
345	$(PSCC) $(PSO_)zfproc.$(OBJ) $(C_) $(PSSRC)zfproc.c
346
347$(PSOBJ)zgeneric.$(OBJ) : $(PSSRC)zgeneric.c $(OP) $(memory__h)\
348 $(gsstruct_h)\
349 $(dstack_h) $(estack_h) $(iddict_h) $(iname_h) $(ipacked_h) $(ivmspace_h)\
350 $(store_h)
351	$(PSCC) $(PSO_)zgeneric.$(OBJ) $(C_) $(PSSRC)zgeneric.c
352
353$(PSOBJ)ziodev.$(OBJ) : $(PSSRC)ziodev.c $(OP)\
354 $(memory__h) $(stdio__h) $(string__h)\
355 $(gp_h) $(gpcheck_h)\
356 $(gxiodev_h)\
357 $(files_h) $(ialloc_h) $(iscan_h) $(ivmspace_h)\
358 $(scanchar_h) $(store_h) $(stream_h) $(istream_h) $(ierrors_h)
359	$(PSCC) $(PSO_)ziodev.$(OBJ) $(C_) $(PSSRC)ziodev.c
360
361$(PSOBJ)ziodevs$(STDIO_IMPLEMENTATION).$(OBJ) : $(PSSRC)ziodevs$(STDIO_IMPLEMENTATION).c $(OP) $(stdio__h)\
362 $(gpcheck_h)\
363 $(gxiodev_h)\
364 $(files_h) $(ifilter_h) $(istream_h) $(store_h) $(stream_h)
365	$(PSCC) $(PSO_)ziodevs$(STDIO_IMPLEMENTATION).$(OBJ) $(C_) $(PSSRC)ziodevs$(STDIO_IMPLEMENTATION).c
366
367$(PSOBJ)zmath.$(OBJ) : $(PSSRC)zmath.c $(OP) $(math__h) $(gxfarith_h) $(store_h)
368	$(PSCC) $(PSO_)zmath.$(OBJ) $(C_) $(PSSRC)zmath.c
369
370$(PSOBJ)zmisc.$(OBJ) : $(PSSRC)zmisc.c $(OP) $(gscdefs_h) $(gp_h)\
371 $(errno__h) $(memory__h) $(string__h)\
372 $(ialloc_h) $(idict_h) $(dstack_h) $(iname_h) $(ivmspace_h) $(ipacked_h) $(store_h)
373	$(PSCC) $(PSO_)zmisc.$(OBJ) $(C_) $(PSSRC)zmisc.c
374
375$(PSOBJ)zpacked.$(OBJ) : $(PSSRC)zpacked.c $(OP)\
376 $(ialloc_h) $(idict_h) $(ivmspace_h) $(iname_h) $(ipacked_h) $(iparray_h)\
377 $(istack_h) $(store_h)
378	$(PSCC) $(PSO_)zpacked.$(OBJ) $(C_) $(PSSRC)zpacked.c
379
380$(PSOBJ)zrelbit.$(OBJ) : $(PSSRC)zrelbit.c $(OP)\
381 $(gsutil_h) $(store_h) $(idict_h)
382	$(PSCC) $(PSO_)zrelbit.$(OBJ) $(C_) $(PSSRC)zrelbit.c
383
384$(PSOBJ)zstack.$(OBJ) : $(PSSRC)zstack.c $(OP) $(memory__h)\
385 $(ialloc_h) $(istack_h) $(store_h)
386	$(PSCC) $(PSO_)zstack.$(OBJ) $(C_) $(PSSRC)zstack.c
387
388$(PSOBJ)zstring.$(OBJ) : $(PSSRC)zstring.c $(OP) $(memory__h)\
389 $(gsutil_h)\
390 $(ialloc_h) $(iname_h) $(ivmspace_h) $(store_h)
391	$(PSCC) $(PSO_)zstring.$(OBJ) $(C_) $(PSSRC)zstring.c
392
393$(PSOBJ)zsysvm.$(OBJ) : $(PSSRC)zsysvm.c $(GH)\
394 $(ialloc_h) $(ivmspace_h) $(oper_h) $(store_h)
395	$(PSCC) $(PSO_)zsysvm.$(OBJ) $(C_) $(PSSRC)zsysvm.c
396
397$(PSOBJ)ztoken.$(OBJ) : $(PSSRC)ztoken.c $(OP) $(string__h)\
398 $(gsstruct_h)\
399 $(dstack_h) $(estack_h) $(files_h)\
400 $(idict_h) $(iname_h) $(iscan_h) $(itoken_h)\
401 $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
402	$(PSCC) $(PSO_)ztoken.$(OBJ) $(C_) $(PSSRC)ztoken.c
403
404$(PSOBJ)ztype.$(OBJ) : $(PSSRC)ztype.c $(OP)\
405 $(math__h) $(memory__h) $(string__h)\
406 $(gsexit_h)\
407 $(dstack_h) $(idict_h) $(imemory_h) $(iname_h)\
408 $(iscan_h) $(iutil_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
409	$(PSCC) $(PSO_)ztype.$(OBJ) $(C_) $(PSSRC)ztype.c
410
411$(PSOBJ)zvmem.$(OBJ) : $(PSSRC)zvmem.c $(OP)\
412 $(dstack_h) $(estack_h) $(files_h)\
413 $(ialloc_h) $(idict_h) $(igstate_h) $(isave_h) $(store_h) $(stream_h)\
414 $(gsmalloc_h) $(gsmatrix_h) $(gsstate_h) $(gsstruct_h)
415	$(PSCC) $(PSO_)zvmem.$(OBJ) $(C_) $(PSSRC)zvmem.c
416
417### Graphics operators
418
419$(PSOBJ)zbfont.$(OBJ) : $(PSSRC)zbfont.c $(OP) $(memory__h) $(string__h)\
420 $(gscencs_h) $(gsmatrix_h) $(gxdevice_h) $(gxfixed_h) $(gxfont_h)\
421 $(bfont_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ilevel_h)\
422 $(iname_h) $(inamedef_h) $(interp_h) $(istruct_h) $(ipacked_h) $(store_h)
423	$(PSCC) $(PSO_)zbfont.$(OBJ) $(C_) $(PSSRC)zbfont.c
424
425$(PSOBJ)zchar.$(OBJ) : $(PSSRC)zchar.c $(OP)\
426 $(gsstruct_h) $(gstext_h) $(gxarith_h) $(gxfixed_h) $(gxmatrix_h)\
427 $(gxdevice_h) $(gxfont_h) $(gxfont42_h) $(gxfont0_h) $(gzstate_h)\
428 $(dstack_h) $(estack_h) $(ialloc_h) $(ichar_h)  $(ichar1_h) $(idict_h) $(ifont_h)\
429 $(ilevel_h) $(iname_h) $(igstate_h) $(ipacked_h) $(store_h) $(zchar42_h)
430	$(PSCC) $(PSO_)zchar.$(OBJ) $(C_) $(PSSRC)zchar.c
431
432# zcharout is used for Type 1 and Type 42 fonts only.
433$(PSOBJ)zcharout.$(OBJ) : $(PSSRC)zcharout.c $(OP) $(memory__h)\
434 $(gscrypt1_h) $(gstext_h) $(gxdevice_h) $(gxfont_h) $(gxfont1_h)\
435 $(dstack_h) $(estack_h) $(ichar_h) $(icharout_h)\
436 $(idict_h) $(ifont_h) $(igstate_h) $(iname_h) $(store_h)
437	$(PSCC) $(PSO_)zcharout.$(OBJ) $(C_) $(PSSRC)zcharout.c
438
439$(PSOBJ)zcolor.$(OBJ) : $(PSSRC)zcolor.c $(OP)\
440 $(memory__h) $(estack_h) $(ialloc_h)\
441 $(igstate_h) $(iutil_h) $(store_h) $(gxfixed_h) $(gxmatrix_h)\
442 $(gzstate_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxcmap_h)\
443 $(gxcspace_h) $(gxcolor2_h) $(gxpcolor_h)\
444 $(idict_h) $(icolor_h) $(idparam_h) $(iname_h)
445	$(PSCC) $(PSO_)zcolor.$(OBJ) $(C_) $(PSSRC)zcolor.c
446
447$(PSOBJ)zdevice.$(OBJ) : $(PSSRC)zdevice.c $(OP) $(string__h)\
448 $(ialloc_h) $(idict_h) $(igstate_h) $(iname_h) $(interp_h) $(iparam_h) $(ivmspace_h)\
449 $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(gxgetbit_h) $(store_h)
450	$(PSCC) $(PSO_)zdevice.$(OBJ) $(C_) $(PSSRC)zdevice.c
451
452$(PSOBJ)zdfilter.$(OBJ) : $(PSSRC)zdfilter.c $(OP) $(string__h) $(ghost_h) $(oper_h)\
453 $(ialloc_h) $(idict_h) $(igstate_h) $(iname_h) $(interp_h) $(iparam_h) $(ivmspace_h)\
454 $(gsdfilt_h) $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(store_h)
455	$(PSCC) $(PSO_)zdfilter.$(OBJ) $(C_) $(PSSRC)zdfilter.c
456
457$(PSOBJ)zfont.$(OBJ) : $(PSSRC)zfont.c $(OP)\
458 $(gsstruct_h) $(gxdevice_h) $(gxfont_h) $(gxfcache_h)\
459 $(gzstate_h)\
460 $(ialloc_h) $(iddict_h) $(igstate_h) $(iname_h) $(isave_h) $(ivmspace_h)\
461 $(bfont_h) $(store_h)
462	$(PSCC) $(PSO_)zfont.$(OBJ) $(C_) $(PSSRC)zfont.c
463
464$(PSOBJ)zfontenum.$(OBJ) : $(PSSRC)zfontenum.c $(OP)\
465 $(memory__h) $(gsstruct_h) $(ialloc_h) $(idict_h)
466	$(PSCC) $(PSO_)zfontenum.$(OBJ) $(C_) $(PSSRC)zfontenum.c
467
468$(PSOBJ)zgstate.$(OBJ) : $(PSSRC)zgstate.c $(OP) $(math__h)\
469 $(gsmatrix_h)\
470 $(ialloc_h) $(icremap_h) $(idict_h) $(igstate_h) $(istruct_h) $(store_h)
471	$(PSCC) $(PSO_)zgstate.$(OBJ) $(C_) $(PSSRC)zgstate.c
472
473$(PSOBJ)zht.$(OBJ) : $(PSSRC)zht.c $(OP) $(memory__h)\
474 $(gsmatrix_h) $(gsstate_h) $(gsstruct_h) $(gxdevice_h) $(gzht_h)\
475 $(ialloc_h) $(estack_h) $(igstate_h) $(iht_h) $(store_h)
476	$(PSCC) $(PSO_)zht.$(OBJ) $(C_) $(PSSRC)zht.c
477
478$(PSOBJ)zimage.$(OBJ) : $(PSSRC)zimage.c $(OP) $(memory__h)\
479 $(gscspace_h) $(gscssub_h) $(gsimage_h) $(gsmatrix_h) $(gsstruct_h)\
480 $(gxiparam_h)\
481 $(estack_h) $(ialloc_h) $(ifilter_h) $(igstate_h) $(iimage_h) $(ilevel_h)\
482 $(store_h) $(stream_h)
483	$(PSCC) $(PSO_)zimage.$(OBJ) $(C_) $(PSSRC)zimage.c
484
485$(PSOBJ)zmatrix.$(OBJ) : $(PSSRC)zmatrix.c $(OP)\
486 $(gsmatrix_h) $(igstate_h) $(gscoord_h) $(store_h)
487	$(PSCC) $(PSO_)zmatrix.$(OBJ) $(C_) $(PSSRC)zmatrix.c
488
489$(PSOBJ)zpaint.$(OBJ) : $(PSSRC)zpaint.c $(OP)\
490 $(gspaint_h) $(igstate_h)
491	$(PSCC) $(PSO_)zpaint.$(OBJ) $(C_) $(PSSRC)zpaint.c
492
493$(PSOBJ)zpath.$(OBJ) : $(PSSRC)zpath.c $(OP) $(math__h)\
494 $(gsmatrix_h) $(gspath_h) $(igstate_h) $(store_h)
495	$(PSCC) $(PSO_)zpath.$(OBJ) $(C_) $(PSSRC)zpath.c
496
497# Define the base PostScript language interpreter.
498# This is the subset of PostScript Level 1 required by our PDF reader.
499
500INT1=$(PSOBJ)iapi.$(OBJ) $(PSOBJ)icontext.$(OBJ) $(PSOBJ)idebug.$(OBJ)
501INT2=$(PSOBJ)idict.$(OBJ) $(PSOBJ)idparam.$(OBJ) $(PSOBJ)idstack.$(OBJ)
502INT3=$(PSOBJ)iinit.$(OBJ) $(PSOBJ)interp.$(OBJ)
503INT4=$(PSOBJ)iparam.$(OBJ) $(PSOBJ)ireclaim.$(OBJ) $(PSOBJ)iplugin.$(OBJ)
504INT5=$(PSOBJ)iscan.$(OBJ) $(PSOBJ)iscannum.$(OBJ) $(PSOBJ)istack.$(OBJ)
505INT6=$(PSOBJ)iutil.$(OBJ) $(GLOBJ)sa85d.$(OBJ) $(GLOBJ)scantab.$(OBJ)
506INT7=$(PSOBJ)sfilter1.$(OBJ) $(GLOBJ)sstring.$(OBJ) $(GLOBJ)stream.$(OBJ)
507Z1=$(PSOBJ)zarith.$(OBJ) $(PSOBJ)zarray.$(OBJ) $(PSOBJ)zcontrol.$(OBJ)
508Z2=$(PSOBJ)zdict.$(OBJ) $(PSOBJ)zfile.$(OBJ) $(PSOBJ)zfile1.$(OBJ) $(PSOBJ)zfileio.$(OBJ)
509Z3=$(PSOBJ)zfilter.$(OBJ) $(PSOBJ)zfproc.$(OBJ) $(PSOBJ)zgeneric.$(OBJ)
510Z4=$(PSOBJ)ziodev.$(OBJ) $(PSOBJ)ziodevs$(STDIO_IMPLEMENTATION).$(OBJ) $(PSOBJ)zmath.$(OBJ)
511Z5=$(PSOBJ)zmisc.$(OBJ) $(PSOBJ)zpacked.$(OBJ) $(PSOBJ)zrelbit.$(OBJ)
512Z6=$(PSOBJ)zstack.$(OBJ) $(PSOBJ)zstring.$(OBJ) $(PSOBJ)zsysvm.$(OBJ)
513Z7=$(PSOBJ)ztoken.$(OBJ) $(PSOBJ)ztype.$(OBJ) $(PSOBJ)zvmem.$(OBJ)
514Z8=$(PSOBJ)zbfont.$(OBJ) $(PSOBJ)zchar.$(OBJ) $(PSOBJ)zcolor.$(OBJ)
515Z9=$(PSOBJ)zdevice.$(OBJ) $(PSOBJ)zfont.$(OBJ) $(PSOBJ)zfontenum.$(OBJ) $(PSOBJ)zgstate.$(OBJ)
516Z10=$(PSOBJ)zdfilter.$(OBJ) $(PSOBJ)zht.$(OBJ) $(PSOBJ)zimage.$(OBJ) $(PSOBJ)zmatrix.$(OBJ)
517Z11=$(PSOBJ)zpaint.$(OBJ) $(PSOBJ)zpath.$(OBJ)
518Z1OPS=zarith zarray zcontrol1 zcontrol2 zcontrol3
519Z2OPS=zdict1 zdict2 zfile zfile1 zfileio1 zfileio2
520Z3_4OPS=zfilter zfproc zgeneric ziodev zmath
521Z5_6OPS=zmisc zpacked zrelbit zstack zstring zsysvm
522Z7_8OPS=ztoken ztype zvmem zbfont zchar zcolor
523Z9OPS=zdevice zfont zfontenum zgstate1 zgstate2 zgstate3
524Z10OPS=zdfilter zht zimage zmatrix
525Z11OPS=zpaint zpath
526# We have to be a little underhanded with *config.$(OBJ) so as to avoid
527# circular definitions.
528INT_MAIN=$(PSOBJ)imain.$(OBJ) $(PSOBJ)imainarg.$(OBJ) $(GLOBJ)gsargs.$(OBJ) $(PSOBJ)idisp.$(OBJ)
529INT_OBJS=$(INT_MAIN)\
530 $(INT1) $(INT2) $(INT3) $(INT4) $(INT5) $(INT6) $(INT7)\
531 $(Z1) $(Z2) $(Z3) $(Z4) $(Z5) $(Z6) $(Z7) $(Z8) $(Z9) $(Z10) $(Z11)
532INT_CONFIG=$(GLOBJ)gconfig.$(OBJ) $(GLOBJ)gscdefs.$(OBJ)\
533 $(PSOBJ)iconfig.$(OBJ) $(PSOBJ)iccinit$(COMPILE_INITS).$(OBJ)
534INT_ALL=$(INT_OBJS) $(INT_CONFIG)
535# We omit libcore.dev, which should be included here, because problems
536# with the Unix linker require libcore to appear last in the link list
537# when libcore is really a library.
538# We omit $(INT_CONFIG) from the dependency list because they have special
539# dependency requirements and are added to the link list at the very end.
540# zfilter.c shouldn't include the RLE and RLD filters, but we don't want to
541# change this now.
542#
543# We add dscparse.dev here since it can be used with any PS level even
544# though we don't strictly need it unless we have the pdfwrite device.
545$(PSD)psbase.dev : $(INT_MAK) $(ECHOGS_XE) $(INT_OBJS)\
546 $(PSD)isupport.dev $(PSD)nobtoken.dev $(PSD)nousparm.dev\
547 $(GLD)rld.dev $(GLD)rle.dev $(GLD)sfile.dev $(PSD)dscparse.dev
548	$(SETMOD) $(PSD)psbase $(INT_MAIN)
549	$(ADDMOD) $(PSD)psbase -obj $(INT_CONFIG)
550	$(ADDMOD) $(PSD)psbase -obj $(INT1)
551	$(ADDMOD) $(PSD)psbase -obj $(INT2)
552	$(ADDMOD) $(PSD)psbase -obj $(INT3)
553	$(ADDMOD) $(PSD)psbase -obj $(INT4)
554	$(ADDMOD) $(PSD)psbase -obj $(INT5)
555	$(ADDMOD) $(PSD)psbase -obj $(INT6)
556	$(ADDMOD) $(PSD)psbase -obj $(INT7)
557	$(ADDMOD) $(PSD)psbase -obj $(Z1)
558	$(ADDMOD) $(PSD)psbase -obj $(Z2)
559	$(ADDMOD) $(PSD)psbase -obj $(Z3)
560	$(ADDMOD) $(PSD)psbase -obj $(Z4)
561	$(ADDMOD) $(PSD)psbase -obj $(Z5)
562	$(ADDMOD) $(PSD)psbase -obj $(Z6)
563	$(ADDMOD) $(PSD)psbase -obj $(Z7)
564	$(ADDMOD) $(PSD)psbase -obj $(Z8)
565	$(ADDMOD) $(PSD)psbase -obj $(Z9)
566	$(ADDMOD) $(PSD)psbase -obj $(Z10)
567	$(ADDMOD) $(PSD)psbase -obj $(Z11)
568	$(ADDMOD) $(PSD)psbase -oper $(Z1OPS)
569	$(ADDMOD) $(PSD)psbase -oper $(Z2OPS)
570	$(ADDMOD) $(PSD)psbase -oper $(Z3_4OPS)
571	$(ADDMOD) $(PSD)psbase -oper $(Z5_6OPS)
572	$(ADDMOD) $(PSD)psbase -oper $(Z7_8OPS)
573	$(ADDMOD) $(PSD)psbase -oper $(Z9OPS)
574	$(ADDMOD) $(PSD)psbase -oper $(Z10OPS)
575	$(ADDMOD) $(PSD)psbase -oper $(Z11OPS)
576	$(ADDMOD) $(PSD)psbase -iodev stdin stdout stderr lineedit statementedit
577	$(ADDMOD) $(PSD)psbase -include $(PSD)isupport $(PSD)nobtoken $(PSD)nousparm
578	$(ADDMOD) $(PSD)psbase -include $(GLD)rld $(GLD)rle $(GLD)sfile $(PSD)dscparse
579	$(ADDMOD) $(PSD)psbase -replace $(GLD)gsiodevs
580
581# -------------------------- Feature definitions -------------------------- #
582
583# ---------------- Full Level 1 interpreter ---------------- #
584
585# We keep the old name for backward compatibility.
586$(PSD)level1.dev : $(PSD)psl1.dev
587	$(CP_) $(PSD)psl1.dev $(PSD)level1.dev
588
589$(PSD)psl1.dev : $(INT_MAK) $(ECHOGS_XE)\
590 $(PSD)psbase.dev $(PSD)bcp.dev $(PSD)path1.dev $(PSD)type1.dev
591	$(SETMOD) $(PSD)psl1 -include $(PSD)psbase $(PSD)bcp $(PSD)path1 $(PSD)type1
592	$(ADDMOD) $(PSD)psl1 -emulator PostScript PostScriptLevel1
593
594# -------- Level 1 color extensions (CMYK color and colorimage) -------- #
595
596$(PSD)color.dev : $(INT_MAK) $(ECHOGS_XE) $(GLD)cmyklib.dev $(GLD)colimlib.dev $(PSD)cmykread.dev
597	$(SETMOD) $(PSD)color -include $(GLD)cmyklib $(GLD)colimlib $(PSD)cmykread
598
599cmykread_=$(PSOBJ)zcolor1.$(OBJ) $(PSOBJ)zht1.$(OBJ)
600$(PSD)cmykread.dev : $(INT_MAK) $(ECHOGS_XE) $(cmykread_)
601	$(SETMOD) $(PSD)cmykread $(cmykread_)
602	$(ADDMOD) $(PSD)cmykread -oper zcolor1 zht1
603
604$(PSOBJ)zcolor1.$(OBJ) : $(PSSRC)zcolor1.c $(OP)\
605 $(gscolor1_h) $(gscssub_h)\
606 $(gxcmap_h) $(gxcspace_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h)\
607 $(gzstate_h)\
608 $(ialloc_h) $(icolor_h) $(iimage_h) $(estack_h) $(iutil_h) $(igstate_h) $(store_h)
609	$(PSCC) $(PSO_)zcolor1.$(OBJ) $(C_) $(PSSRC)zcolor1.c
610
611$(PSOBJ)zht1.$(OBJ) : $(PSSRC)zht1.c $(OP) $(memory__h)\
612 $(gsmatrix_h) $(gsstate_h) $(gsstruct_h) $(gxdevice_h) $(gzht_h)\
613 $(ialloc_h) $(estack_h) $(igstate_h) $(iht_h) $(store_h)
614	$(PSCC) $(PSO_)zht1.$(OBJ) $(C_) $(PSSRC)zht1.c
615
616# ---------------- DSC Parser ---------------- #
617
618# The basic DSC parsing facility, used both for Orientation detection
619# (to compensate for badly-written PostScript producers that don't emit
620# the necessary setpagedevice calls) and by the PDF writer.
621
622dscparse_h=$(PSSRC)dscparse.h
623
624$(PSOBJ)zdscpars.$(OBJ) : $(PSSRC)zdscpars.c $(GH) $(memory__h) $(string__h)\
625 $(dscparse_h) $(estack_h) $(ialloc_h) $(idict_h) $(iddict_h) $(iname_h)\
626 $(iparam_h) $(istack_h) $(ivmspace_h) $(oper_h) $(store_h)\
627 $(gsstruct_h)
628	$(PSCC) $(PSO_)zdscpars.$(OBJ) $(C_) $(PSSRC)zdscpars.c
629
630$(PSOBJ)dscparse.$(OBJ) : $(PSSRC)dscparse.c $(dscparse_h)
631	$(PSCC) $(PSO_)dscparse.$(OBJ) $(C_) $(PSSRC)dscparse.c
632
633dscparse_=$(PSOBJ)zdscpars.$(OBJ) $(PSOBJ)dscparse.$(OBJ)
634
635$(PSD)dscparse.dev : $(INT_MAK) $(ECHOGS_XE) $(dscparse_)
636	$(SETMOD) $(PSD)dscparse -obj $(dscparse_)
637	$(ADDMOD) $(PSD)dscparse -oper zdscpars
638
639# A feature to pass the Orientation information from the DSC comments
640# to setpagedevice.
641
642$(PSD)usedsc.dev : $(INT_MAK) $(ECHOGS_XE) $(PSD)dscparse.dev
643	$(SETMOD) $(PSD)usedsc -include $(PSD)dscparse -ps gs_dscp
644
645# ---- Level 1 path miscellany (arcs, pathbbox, path enumeration) ---- #
646
647path1_=$(PSOBJ)zpath1.$(OBJ)
648$(PSD)path1.dev : $(INT_MAK) $(ECHOGS_XE) $(path1_) $(GLD)path1lib.dev
649	$(SETMOD) $(PSD)path1 $(path1_)
650	$(ADDMOD) $(PSD)path1 -include $(GLD)path1lib
651	$(ADDMOD) $(PSD)path1 -oper zpath1
652
653$(PSOBJ)zpath1.$(OBJ) : $(PSSRC)zpath1.c $(OP) $(memory__h)\
654 $(ialloc_h) $(estack_h) $(gspath_h) $(gsstruct_h) $(igstate_h)\
655 $(oparc_h) $(store_h)
656	$(PSCC) $(PSO_)zpath1.$(OBJ) $(C_) $(PSSRC)zpath1.c
657
658# ================ Level-independent PostScript options ================ #
659
660# ---------------- BCP filters ---------------- #
661
662bcp_=$(GLOBJ)sbcp.$(OBJ) $(PSOBJ)zfbcp.$(OBJ)
663$(PSD)bcp.dev : $(INT_MAK) $(ECHOGS_XE) $(bcp_)
664	$(SETMOD) $(PSD)bcp $(bcp_)
665	$(ADDMOD) $(PSD)bcp -oper zfbcp
666
667$(PSOBJ)zfbcp.$(OBJ) : $(PSSRC)zfbcp.c $(OP) $(memory__h)\
668 $(gsstruct_h) $(ialloc_h) $(ifilter_h)\
669 $(sbcp_h) $(stream_h) $(strimpl_h)
670	$(PSCC) $(PSO_)zfbcp.$(OBJ) $(C_) $(PSSRC)zfbcp.c
671
672# ---------------- Incremental font loading ---------------- #
673# (This only works for Type 1 fonts without eexec encryption.)
674
675$(PSD)diskfont.dev : $(INT_MAK) $(ECHOGS_XE)
676	$(SETMOD) $(PSD)diskfont -ps gs_diskf
677
678# ---------------- Double-precision floats ---------------- #
679
680double_=$(PSOBJ)zdouble.$(OBJ)
681$(PSD)double.dev : $(INT_MAK) $(ECHOGS_XE) $(double_)
682	$(SETMOD) $(PSD)double $(double_)
683	$(ADDMOD) $(PSD)double -oper zdouble1 zdouble2
684
685$(PSOBJ)zdouble.$(OBJ) : $(PSSRC)zdouble.c $(OP)\
686 $(ctype__h) $(math__h) $(memory__h) $(string__h)\
687 $(gxfarith_h) $(store_h)
688	$(PSCC) $(PSO_)zdouble.$(OBJ) $(C_) $(PSSRC)zdouble.c
689
690# ---------------- EPSF files with binary headers ---------------- #
691
692$(PSD)epsf.dev : $(INT_MAK) $(ECHOGS_XE)
693	$(SETMOD) $(PSD)epsf -ps gs_epsf
694
695# ---------------- RasterOp ---------------- #
696# This should be a separable feature in the core also....
697
698$(PSD)rasterop.dev : $(INT_MAK) $(ECHOGS_XE) $(GLD)roplib.dev $(PSD)ropread.dev
699	$(SETMOD) $(PSD)rasterop -include $(GLD)roplib $(PSD)ropread
700
701ropread_=$(PSOBJ)zrop.$(OBJ)
702$(PSD)ropread.dev : $(INT_MAK) $(ECHOGS_XE) $(ropread_)
703	$(SETMOD) $(PSD)ropread $(ropread_)
704	$(ADDMOD) $(PSD)ropread -oper zrop
705
706$(PSOBJ)zrop.$(OBJ) : $(PSSRC)zrop.c $(OP) $(memory__h)\
707 $(gsrop_h) $(gsutil_h) $(gxdevice_h)\
708 $(idict_h) $(idparam_h) $(igstate_h) $(store_h)
709	$(PSCC) $(PSO_)zrop.$(OBJ) $(C_) $(PSSRC)zrop.c
710
711# ---------------- PostScript Type 1 (and Type 4) fonts ---------------- #
712
713$(PSD)type1.dev : $(INT_MAK) $(ECHOGS_XE) $(GLD)psf1lib.dev $(PSD)psf1read.dev
714	$(SETMOD) $(PSD)type1 -include $(GLD)psf1lib $(PSD)psf1read
715
716psf1read_1=$(PSOBJ)zchar1.$(OBJ) $(PSOBJ)zcharout.$(OBJ)
717psf1read_2=$(PSOBJ)zfont1.$(OBJ) $(PSOBJ)zmisc1.$(OBJ)
718psf1read_=$(psf1read_1) $(psf1read_2)
719$(PSD)psf1read.dev : $(INT_MAK) $(ECHOGS_XE) $(psf1read_) $(GLD)seexec.dev
720	$(SETMOD) $(PSD)psf1read $(psf1read_1)
721	$(ADDMOD) $(PSD)psf1read -obj $(psf1read_2)
722	$(ADDMOD) $(PSD)psf1read -include $(GLD)seexec
723	$(ADDMOD) $(PSD)psf1read -oper zchar1 zfont1 zmisc1
724	$(ADDMOD) $(PSD)psf1read -ps gs_type1
725
726$(PSOBJ)zchar1.$(OBJ) : $(PSSRC)zchar1.c $(OP) $(memory__h)\
727 $(gscencs_h) $(gspaint_h) $(gspath_h) $(gsrect_h) $(gsstruct_h)\
728 $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h)\
729 $(gxfont_h) $(gxfont1_h) $(gxtype1_h) $(gzstate_h)\
730 $(estack_h) $(ialloc_h) $(ichar_h) $(ichar1_h) $(icharout_h)\
731 $(idict_h) $(ifont_h) $(igstate_h) $(iname_h) $(iutil_h) $(store_h)
732	$(PSCC) $(PSO_)zchar1.$(OBJ) $(C_) $(PSSRC)zchar1.c
733
734$(PSOBJ)zfont1.$(OBJ) : $(PSSRC)zfont1.c $(OP) $(memory__h)\
735 $(gsmatrix_h) $(gxdevice_h)\
736 $(gxfixed_h) $(gxfont_h) $(gxfont1_h)\
737 $(bfont_h) $(ialloc_h) $(ichar1_h) $(icharout_h) $(idict_h) $(idparam_h)\
738 $(ifont1_h) $(iname_h) $(store_h)
739	$(PSCC) $(PSO_)zfont1.$(OBJ) $(C_) $(PSSRC)zfont1.c
740
741$(PSOBJ)zmisc1.$(OBJ) : $(PSSRC)zmisc1.c $(OP) $(memory__h)\
742 $(gscrypt1_h)\
743 $(idict_h) $(idparam_h) $(ifilter_h)\
744 $(sfilter_h) $(stream_h) $(strimpl_h)
745	$(PSCC) $(PSO_)zmisc1.$(OBJ) $(C_) $(PSSRC)zmisc1.c
746
747# -------------- Compact Font Format and Type 2 charstrings ------------- #
748
749$(PSD)cff.dev : $(INT_MAK) $(ECHOGS_XE) $(PSD)psl2int.dev
750	$(SETMOD) $(PSD)cff -include $(PSD)psl2int -ps gs_css_e gs_cff
751
752$(PSOBJ)zchar2.$(OBJ) : $(PSSRC)zchar2.c $(OP)\
753 $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfont1_h) $(gxtype1_h)\
754 $(ichar1_h)
755	$(PSCC) $(PSO_)zchar2.$(OBJ) $(C_) $(PSSRC)zchar2.c
756
757$(PSOBJ)zfont2.$(OBJ) : $(PSSRC)zfont2.c $(OP)\
758 $(gsmatrix_h) $(gxfixed_h) $(gxfont_h) $(gxfont1_h)\
759 $(bfont_h) $(idict_h) $(idparam_h) $(ifont1_h) $(ifont2_h)
760	$(PSCC) $(PSO_)zfont2.$(OBJ) $(C_) $(PSSRC)zfont2.c
761
762type2_=$(PSOBJ)zchar2.$(OBJ) $(PSOBJ)zfont2.$(OBJ)
763$(PSD)type2.dev : $(INT_MAK) $(ECHOGS_XE) $(type2_)\
764 $(PSD)type1.dev $(GLD)psf2lib.dev
765	$(SETMOD) $(PSD)type2 $(type2_)
766	$(ADDMOD) $(PSD)type2 -oper zchar2 zfont2
767	$(ADDMOD) $(PSD)type2 -include $(PSD)type1 $(GLD)psf2lib
768
769# ---------------- Type 32 (downloaded bitmap) fonts ---------------- #
770
771$(PSOBJ)zchar32.$(OBJ) : $(PSSRC)zchar32.c $(OP)\
772 $(gsccode_h) $(gsmatrix_h) $(gsutil_h)\
773 $(gxfcache_h) $(gxfixed_h) $(gxfont_h)\
774 $(ifont_h) $(igstate_h) $(store_h)
775	$(PSCC) $(PSO_)zchar32.$(OBJ) $(C_) $(PSSRC)zchar32.c
776
777$(PSOBJ)zfont32.$(OBJ) : $(PSSRC)zfont32.c $(OP)\
778 $(gsccode_h) $(gsmatrix_h) $(gsutil_h) $(gxfont_h)\
779 $(bfont_h) $(store_h)
780	$(PSCC) $(PSO_)zfont32.$(OBJ) $(C_) $(PSSRC)zfont32.c
781
782type32_=$(PSOBJ)zchar32.$(OBJ) $(PSOBJ)zfont32.$(OBJ)
783$(PSD)type32.dev : $(INT_MAK) $(ECHOGS_XE) $(type32_)
784	$(SETMOD) $(PSD)type32 $(type32_)
785	$(ADDMOD) $(PSD)type32 -oper zchar32 zfont32
786	$(ADDMOD) $(PSD)type32 -ps gs_res gs_typ32
787
788# ---------------- TrueType and PostScript Type 42 fonts ---------------- #
789
790# Mac glyph support (has an internal dependency)
791$(PSD)macroman.dev : $(INT_MAK) $(ECHOGS_XE) $(PSLIB)gs_mro_e.ps
792	$(SETMOD) $(PSD)macroman -ps gs_mro_e
793
794$(PSD)macglyph.dev : $(INT_MAK) $(ECHOGS_XE) $(PSLIB)gs_mgl_e.ps\
795 $(PSD)macroman.dev
796	$(SETMOD) $(PSD)macglyph -include $(PSD)macroman -ps gs_mgl_e
797
798# Native TrueType support
799$(PSD)ttfont.dev : $(INT_MAK) $(ECHOGS_XE) $(PSD)macglyph.dev $(PSD)type42.dev
800	$(SETMOD) $(PSD)ttfont -include $(PSD)macglyph $(PSD)type42
801	$(ADDMOD) $(PSD)ttfont -ps gs_wan_e gs_agl gs_ttf
802
803# Type 42 (embedded TrueType) support
804type42read_=$(PSOBJ)zchar42.$(OBJ) $(PSOBJ)zcharout.$(OBJ) $(PSOBJ)zfont42.$(OBJ)
805$(PSD)type42.dev : $(INT_MAK) $(ECHOGS_XE) $(type42read_) $(GLD)ttflib.dev
806	$(SETMOD) $(PSD)type42 $(type42read_)
807	$(ADDMOD) $(PSD)type42 -include $(GLD)ttflib
808	$(ADDMOD) $(PSD)type42 -oper zchar42 zfont42
809	$(ADDMOD) $(PSD)type42 -ps gs_typ42
810
811$(PSOBJ)zchar42.$(OBJ) : $(PSSRC)zchar42.c $(OP)\
812 $(gsmatrix_h) $(gspaint_h) $(gspath_h)\
813 $(gxfixed_h) $(gxfont_h) $(gxfont42_h)\
814 $(gxistate_h) $(gxpath_h) $(gxtext_h) $(gzstate_h)\
815 $(dstack_h) $(estack_h) $(ichar_h) $(icharout_h)\
816 $(ifont_h) $(igstate_h) $(store_h) $(zchar42_h)
817	$(PSCC) $(PSO_)zchar42.$(OBJ) $(C_) $(PSSRC)zchar42.c
818
819$(PSOBJ)zfont42.$(OBJ) : $(PSSRC)zfont42.c $(OP) $(memory__h)\
820 $(gsccode_h) $(gsmatrix_h) $(gxfont_h) $(gxfont42_h)\
821 $(bfont_h) $(icharout_h) $(idict_h) $(idparam_h) $(ifont42_h) $(iname_h)\
822 $(ichar1_h) $(store_h)
823	$(PSCC) $(PSO_)zfont42.$(OBJ) $(C_) $(PSSRC)zfont42.c
824
825# ======================== Precompilation options ======================== #
826
827# ---------------- Precompiled fonts ---------------- #
828# See Fonts.htm for more information.
829
830ccfont_h=$(PSSRC)ccfont.h $(stdpre_h) $(gsmemory_h)\
831 $(iref_h) $(ivmspace_h) $(store_h)
832
833CCFONT=$(OP) $(ccfont_h)
834
835# List the fonts we are going to compile.
836# Because of intrinsic limitations in `make', we have to list
837# the object file names and the font names separately.
838# Because of limitations in the DOS shell, we have to break the fonts up
839# into lists that will fit on a single line (120 characters).
840# The rules for constructing the .c files from the fonts themselves,
841# and for compiling the .c files, are in cfonts.mak, not here.
842# For example, to compile the Courier fonts, you should invoke
843#	make Courier_o
844# By convention, the names of the 35 standard compiled fonts use '0' for
845# the foundry name.  This allows users to substitute different foundries
846# without having to change this makefile.
847ccfonts_ps=gs_ccfnt
848ccfonts1_=$(PSOBJ)0agk.$(OBJ) $(PSOBJ)0agko.$(OBJ) $(PSOBJ)0agd.$(OBJ) $(PSOBJ)0agdo.$(OBJ)
849ccfonts1=agk agko agd agdo
850ccfonts2_=$(PSOBJ)0bkl.$(OBJ) $(PSOBJ)0bkli.$(OBJ) $(PSOBJ)0bkd.$(OBJ) $(PSOBJ)0bkdi.$(OBJ)
851ccfonts2=bkl bkli bkd bkdi
852ccfonts3_=$(PSOBJ)0crr.$(OBJ) $(PSOBJ)0cri.$(OBJ) $(PSOBJ)0crb.$(OBJ) $(PSOBJ)0crbi.$(OBJ)
853ccfonts3=crr cri crb crbi
854ccfonts4_=$(PSOBJ)0hvr.$(OBJ) $(PSOBJ)0hvro.$(OBJ) $(PSOBJ)0hvb.$(OBJ) $(PSOBJ)0hvbo.$(OBJ)
855ccfonts4=hvr hvro hvb hvbo
856ccfonts5_=$(PSOBJ)0hvrrn.$(OBJ) $(PSOBJ)0hvrorn.$(OBJ) $(PSOBJ)0hvbrn.$(OBJ) $(PSOBJ)0hvborn.$(OBJ)
857ccfonts5=hvrrn hvrorn hvbrn hvborn
858ccfonts6_=$(PSOBJ)0ncr.$(OBJ) $(PSOBJ)0ncri.$(OBJ) $(PSOBJ)0ncb.$(OBJ) $(PSOBJ)0ncbi.$(OBJ)
859ccfonts6=ncr ncri ncb ncbi
860ccfonts7_=$(PSOBJ)0plr.$(OBJ) $(PSOBJ)0plri.$(OBJ) $(PSOBJ)0plb.$(OBJ) $(PSOBJ)0plbi.$(OBJ)
861ccfonts7=plr plri plb plbi
862ccfonts8_=$(PSOBJ)0tmr.$(OBJ) $(PSOBJ)0tmri.$(OBJ) $(PSOBJ)0tmb.$(OBJ) $(PSOBJ)0tmbi.$(OBJ)
863ccfonts8=tmr tmri tmb tmbi
864ccfonts9_=$(PSOBJ)0syr.$(OBJ) $(PSOBJ)0zcmi.$(OBJ) $(PSOBJ)0zdr.$(OBJ)
865ccfonts9=syr zcmi zdr
866# The free distribution includes Bitstream Charter, Utopia, and
867# freeware Cyrillic and Kana fonts.  We only provide for compiling
868# Charter and Utopia.
869ccfonts10free_=$(PSOBJ)bchr.$(OBJ) $(PSOBJ)bchri.$(OBJ) $(PSOBJ)bchb.$(OBJ) $(PSOBJ)bchbi.$(OBJ)
870ccfonts10free=chr chri chb chbi
871ccfonts11free_=$(PSOBJ)putr.$(OBJ) $(PSOBJ)putri.$(OBJ) $(PSOBJ)putb.$(OBJ) $(PSOBJ)putbi.$(OBJ)
872ccfonts11free=utr utri utb utbi
873# Uncomment the alternatives in the next 4 lines if you want
874# Charter and Utopia compiled in.
875#ccfonts10_=$(ccfonts10free_)
876ccfonts10_=
877#ccfonts10=$(ccfonts10free)
878ccfonts10=
879#ccfonts11_=$(ccfonts11free_)
880ccfonts11_=
881#ccfonts11=$(ccfonts11free)
882ccfonts11=
883# Add your own fonts here if desired.
884ccfonts12_=
885ccfonts12=
886ccfonts13_=
887ccfonts13=
888ccfonts14_=
889ccfonts14=
890ccfonts15_=
891ccfonts15=
892
893# font2c has the prefix "gs" built into it, so we need to instruct
894# genconf to use the same one.
895$(gconfigf_h) : $(TOP_MAKEFILES) $(INT_MAK) $(ECHOGS_XE) $(GENCONF_XE)
896	$(SETMOD) $(PSD)ccfonts_ -font $(ccfonts1)
897	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts2)
898	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts3)
899	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts4)
900	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts5)
901	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts6)
902	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts7)
903	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts8)
904	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts9)
905	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts10)
906	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts11)
907	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts12)
908	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts13)
909	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts14)
910	$(ADDMOD) $(PSD)ccfonts_ -font $(ccfonts15)
911	$(EXP)$(GENCONF_XE) $(PSGEN)ccfonts_.dev -n gs -f $(gconfigf_h)
912
913# We separate icfontab.dev from ccfonts.dev so that a customer can put
914# compiled fonts into a separate shared library.
915
916# Define ccfont_table separately, so it can be set from the command line
917# to select an alternate compiled font table.
918ccfont_table=icfontab
919
920$(PSD)icfontab.dev : $(TOP_MAKEFILES) $(INT_MAK) $(ECHOGS_XE)\
921 $(PSOBJ)icfontab.$(OBJ)\
922 $(ccfonts1_) $(ccfonts2_) $(ccfonts3_) $(ccfonts4_) $(ccfonts5_)\
923 $(ccfonts6_) $(ccfonts7_) $(ccfonts8_) $(ccfonts9_) $(ccfonts10_)\
924 $(ccfonts11_) $(ccfonts12_) $(ccfonts13_) $(ccfonts14_) $(ccfonts15_)
925	$(SETMOD) $(PSD)icfontab -obj $(PSOBJ)icfontab.$(OBJ)
926	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts1_)
927	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts2_)
928	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts3_)
929	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts4_)
930	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts5_)
931	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts6_)
932	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts7_)
933	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts8_)
934	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts9_)
935	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts10_)
936	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts11_)
937	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts12_)
938	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts13_)
939	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts14_)
940	$(ADDMOD) $(PSD)icfontab -obj $(ccfonts15_)
941
942$(PSOBJ)icfontab.$(OBJ) : $(PSSRC)icfontab.c $(AK) $(ccfont_h) $(gconfigf_h)
943	$(CP_) $(gconfigf_h) $(PSGEN)gconfigf.h
944	$(PSCC) $(PSO_)icfontab.$(OBJ) $(C_) $(PSSRC)icfontab.c
945
946# Strictly speaking, ccfonts shouldn't need to include type1,
947# since one could choose to precompile only Type 0 fonts,
948# but getting this exactly right would be too much work.
949$(PSD)ccfonts.dev : $(TOP_MAKEFILES) $(INT_MAK)\
950 $(PSD)type1.dev $(PSOBJ)iccfont.$(OBJ) $(PSD)$(ccfont_table).dev
951	$(SETMOD) $(PSD)ccfonts -include $(PSD)type1
952	$(ADDMOD) $(PSD)ccfonts -include $(PSD)$(ccfont_table)
953	$(ADDMOD) $(PSD)ccfonts -obj $(PSOBJ)iccfont.$(OBJ)
954	$(ADDMOD) $(PSD)ccfonts -oper ccfonts
955	$(ADDMOD) $(PSD)ccfonts -ps $(ccfonts_ps)
956
957$(PSOBJ)iccfont.$(OBJ) : $(PSSRC)iccfont.c $(GH) $(string__h)\
958 $(gscencs_h) $(gsmatrix_h) $(gsstruct_h) $(gxfont_h)\
959 $(ccfont_h) $(ierrors_h)\
960 $(ialloc_h) $(idict_h) $(ifont_h) $(iname_h) $(isave_h) $(iutil_h)\
961 $(oper_h) $(ostack_h) $(store_h) $(stream_h) $(strimpl_h) $(sfilter_h) $(iscan_h)
962	$(PSCC) $(PSO_)iccfont.$(OBJ) $(C_) $(PSSRC)iccfont.c
963
964# ---------------- Compiled initialization code ---------------- #
965
966# We select either iccinit0 or iccinit1 depending on COMPILE_INITS.
967
968$(PSOBJ)iccinit0.$(OBJ) : $(PSSRC)iccinit0.c $(stdpre_h)
969	$(PSCC) $(PSO_)iccinit0.$(OBJ) $(C_) $(PSSRC)iccinit0.c
970
971$(PSOBJ)iccinit1.$(OBJ) : $(PSOBJ)gs_init.$(OBJ)
972	$(CP_) $(PSOBJ)gs_init.$(OBJ) $(PSOBJ)iccinit1.$(OBJ)
973
974# All the gs_*.ps files should be prerequisites of gs_init.c,
975# but we don't have any convenient list of them.
976$(PSGEN)gs_init.c : $(PSLIB)$(GS_INIT) $(GENINIT_XE) $(gconfig_h)
977	$(EXP)$(GENINIT_XE) -I $(PSLIB) $(GS_INIT) $(gconfig_h) -c $(PSGEN)gs_init.c
978
979$(PSOBJ)gs_init.$(OBJ) : $(PSGEN)gs_init.c $(stdpre_h)
980	$(PSCC) $(PSO_)gs_init.$(OBJ) $(C_) $(PSGEN)gs_init.c
981
982# ---------------- Stochastic halftone ---------------- #
983
984$(PSD)stocht.dev : $(INT_MAK) $(ECHOGS_XE) $(PSD)stocht$(COMPILE_INITS).dev
985	$(SETMOD) $(PSD)stocht -include $(PSD)stocht$(COMPILE_INITS)
986
987# If we aren't compiling, just include the PostScript code.
988# Note that the resource machinery must be loaded first.
989$(PSD)stocht0.dev : $(INT_MAK) $(ECHOGS_XE)
990	$(SETMOD) $(PSD)stocht0 -ps gs_res ht_ccsto
991
992# If we are compiling, a special compilation step is needed.
993stocht1_=$(PSOBJ)ht_ccsto.$(OBJ)
994$(PSD)stocht1.dev : $(INT_MAK) $(ECHOGS_XE) $(stocht1_) $(PSD)stocht0.dev
995	$(SETMOD) $(PSD)stocht1 $(stocht1_)
996	$(ADDMOD) $(PSD)stocht1 -halftone $(Q)StochasticDefault$(Q)
997	$(ADDMOD) $(PSD)stocht1 -include $(PSD)stocht0
998
999$(PSOBJ)ht_ccsto.$(OBJ) : $(PSGEN)ht_ccsto.c $(gxdhtres_h)
1000	$(PSCC) $(PSO_)ht_ccsto.$(OBJ) $(C_) $(PSGEN)ht_ccsto.c
1001
1002$(PSGEN)ht_ccsto.c : $(PSLIB)ht_ccsto.ps $(GENHT_XE)
1003	$(EXP)$(GENHT_XE) $(PSLIB)ht_ccsto.ps $(PSGEN)ht_ccsto.c
1004
1005# ================ PS LL3 features used internally in L2 ================ #
1006
1007# ---------------- Functions ---------------- #
1008
1009ifunc_h=$(PSSRC)ifunc.h $(gsfunc_h)
1010
1011# Generic support, and FunctionType 0.
1012funcread_=$(PSOBJ)zfunc.$(OBJ) $(PSOBJ)zfunc0.$(OBJ)
1013$(PSD)func.dev : $(INT_MAK) $(ECHOGS_XE) $(funcread_) $(GLD)funclib.dev
1014	$(SETMOD) $(PSD)func $(funcread_)
1015	$(ADDMOD) $(PSD)func -oper zfunc
1016	$(ADDMOD) $(PSD)func -functiontype 0
1017	$(ADDMOD) $(PSD)func -include $(GLD)funclib
1018
1019$(PSOBJ)zfunc.$(OBJ) : $(PSSRC)zfunc.c $(OP) $(memory__h)\
1020 $(gscdefs_h) $(gsfunc_h) $(gsstruct_h)\
1021 $(ialloc_h) $(idict_h) $(idparam_h) $(ifunc_h) $(store_h)
1022	$(PSCC) $(PSO_)zfunc.$(OBJ) $(C_) $(PSSRC)zfunc.c
1023
1024$(PSOBJ)zfunc0.$(OBJ) : $(PSSRC)zfunc0.c $(OP) $(memory__h)\
1025 $(gsdsrc_h) $(gsfunc_h) $(gsfunc0_h)\
1026 $(stream_h)\
1027 $(files_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifunc_h)
1028	$(PSCC) $(PSO_)zfunc0.$(OBJ) $(C_) $(PSSRC)zfunc0.c
1029
1030# ---------------- zlib/Flate filters ---------------- #
1031
1032fzlib_=$(PSOBJ)zfzlib.$(OBJ)
1033$(PSD)fzlib.dev : $(INT_MAK) $(ECHOGS_XE) $(fzlib_)\
1034 $(GLD)szlibe.dev $(GLD)szlibd.dev
1035	$(SETMOD) $(PSD)fzlib -include $(GLD)szlibe $(GLD)szlibd
1036	$(ADDMOD) $(PSD)fzlib -obj $(fzlib_)
1037	$(ADDMOD) $(PSD)fzlib -oper zfzlib
1038
1039$(PSOBJ)zfzlib.$(OBJ) : $(PSSRC)zfzlib.c $(OP)\
1040 $(idict_h) $(idparam_h) $(ifilter_h) $(ifrpred_h) $(ifwpred_h)\
1041 $(spdiffx_h) $(spngpx_h) $(strimpl_h) $(szlibx_h)
1042	$(PSCC) $(PSO_)zfzlib.$(OBJ) $(C_) $(PSSRC)zfzlib.c
1043
1044# ---------------- ReusableStreamDecode filter ---------------- #
1045# This is also used by the implementation of CIDFontType 0 fonts.
1046
1047$(PSD)frsd.dev : $(INT_MAK) $(ECHOGS_XE) $(PSD)zfrsd.dev
1048	$(SETMOD) $(PSD)frsd -include $(PSD)zfrsd
1049	$(ADDMOD) $(PSD)frsd -ps gs_lev2 gs_res gs_frsd
1050
1051zfrsd_=$(PSOBJ)zfrsd.$(OBJ)
1052$(PSD)zfrsd.dev : $(INT_MAK) $(ECHOGS_XE) $(zfrsd_)
1053	$(SETMOD) $(PSD)zfrsd $(zfrsd_)
1054	$(ADDMOD) $(PSD)zfrsd -oper zfrsd
1055
1056$(PSOBJ)zfrsd.$(OBJ) : $(PSSRC)zfrsd.c $(OP) $(memory__h)\
1057 $(gsfname_h) $(gxiodev_h)\
1058 $(sfilter_h) $(stream_h) $(strimpl_h)\
1059 $(files_h) $(idict_h) $(idparam_h) $(iname_h) $(store_h)
1060	$(PSCC) $(PSO_)zfrsd.$(OBJ) $(C_) $(PSSRC)zfrsd.c
1061
1062# ======================== PostScript Level 2 ======================== #
1063
1064# We keep the old name for backward compatibility.
1065$(PSD)level2.dev : $(PSD)psl2.dev
1066	$(CP_) $(PSD)psl2.dev $(PSD)level2.dev
1067
1068# We -include dpsand2 first so that geninit will have access to the
1069# system name table as soon as possible.
1070$(PSD)psl2.dev : $(INT_MAK) $(ECHOGS_XE)\
1071 $(PSD)cidfont.dev $(PSD)cie.dev $(PSD)cmapread.dev $(PSD)compfont.dev\
1072 $(PSD)dct.dev $(PSD)dpsand2.dev\
1073 $(PSD)filter.dev $(PSD)iodevice.dev $(PSD)pagedev.dev $(PSD)pattern.dev\
1074 $(PSD)psl1.dev $(GLD)psl2lib.dev $(PSD)psl2read.dev\
1075 $(PSD)sepr.dev $(PSD)type32.dev $(PSD)type42.dev
1076	$(SETMOD) $(PSD)psl2 -include $(PSD)dpsand2
1077	$(ADDMOD) $(PSD)psl2 -include $(PSD)cidfont $(PSD)cie $(PSD)cmapread $(PSD)compfont
1078	$(ADDMOD) $(PSD)psl2 -include $(PSD)dct $(PSD)filter $(PSD)iodevice
1079	$(ADDMOD) $(PSD)psl2 -include $(PSD)pagedev $(PSD)pattern $(PSD)psl1 $(GLD)psl2lib $(PSD)psl2read
1080	$(ADDMOD) $(PSD)psl2 -include $(PSD)sepr $(PSD)type32 $(PSD)type42
1081	$(ADDMOD) $(PSD)psl2 -emulator PostScript PostScriptLevel2
1082
1083# Define basic Level 2 language support.
1084# This is the minimum required for CMap and CIDFont support.
1085
1086psl2int_=$(PSOBJ)iutil2.$(OBJ) $(PSOBJ)zmisc2.$(OBJ)
1087$(PSD)psl2int.dev : $(INT_MAK) $(ECHOGS_XE) $(psl2int_)\
1088 $(PSD)dps2int.dev $(PSD)usparam.dev
1089	$(SETMOD) $(PSD)psl2int $(psl2int_)
1090	$(ADDMOD) $(PSD)psl2int -include $(PSD)dps2int $(PSD)usparam
1091	$(ADDMOD) $(PSD)psl2int -oper zmisc2
1092	$(ADDMOD) $(PSD)psl2int -ps gs_lev2 gs_res
1093
1094ivmem2_h=$(PSSRC)ivmem2.h
1095
1096$(PSOBJ)iutil2.$(OBJ) : $(PSSRC)iutil2.c $(GH) $(memory__h) $(string__h)\
1097 $(gsparam_h) $(gsutil_h)\
1098 $(ierrors_h) $(idict_h) $(imemory_h) $(iutil_h) $(iutil2_h) $(opcheck_h)
1099	$(PSCC) $(PSO_)iutil2.$(OBJ) $(C_) $(PSSRC)iutil2.c
1100
1101$(PSOBJ)zmisc2.$(OBJ) : $(PSSRC)zmisc2.c $(OP) $(memory__h) $(string__h)\
1102 $(iddict_h) $(idparam_h) $(iparam_h) $(dstack_h) $(estack_h)\
1103 $(ilevel_h) $(iname_h) $(iutil2_h) $(ivmspace_h) $(store_h)
1104	$(PSCC) $(PSO_)zmisc2.$(OBJ) $(C_) $(PSSRC)zmisc2.c
1105
1106# Define support for user and system parameters.
1107# We make this a separate module only because it must have a default.
1108
1109nousparm_=$(PSOBJ)inouparm.$(OBJ)
1110$(PSD)nousparm.dev : $(INT_MAK) $(ECHOGS_XE) $(nousparm_)
1111	$(SETMOD) $(PSD)nousparm $(nousparm_)
1112
1113$(PSOBJ)inouparm.$(OBJ) : $(PSSRC)inouparm.c\
1114 $(ghost_h) $(icontext_h)
1115	$(PSCC) $(PSO_)inouparm.$(OBJ) $(C_) $(PSSRC)inouparm.c
1116
1117usparam_=$(PSOBJ)zusparam.$(OBJ)
1118$(PSD)usparam.dev : $(INT_MAK) $(ECHOGS_XE) $(usparam_)
1119	$(SETMOD) $(PSD)usparam $(usparam_)
1120	$(ADDMOD) $(PSD)usparam -oper zusparam -replace $(PSD)nousparm
1121
1122# Note that zusparam includes both Level 1 and Level 2 operators.
1123$(PSOBJ)zusparam.$(OBJ) : $(PSSRC)zusparam.c $(OP) $(memory__h) $(string__h)\
1124 $(gscdefs_h) $(gsfont_h) $(gsstruct_h) $(gsutil_h) $(gxht_h)\
1125 $(ialloc_h) $(icontext_h) $(idict_h) $(idparam_h) $(iparam_h)\
1126 $(iname_h) $(itoken_h) $(iutil2_h) $(ivmem2_h)\
1127 $(dstack_h) $(estack_h) $(store_h)
1128	$(PSCC) $(PSO_)zusparam.$(OBJ) $(C_) $(PSSRC)zusparam.c
1129
1130# Define full Level 2 support.
1131
1132iimage2_h=$(PSSRC)iimage2.h
1133
1134psl2read_=$(PSOBJ)zcolor2.$(OBJ) $(PSOBJ)zcsindex.$(OBJ) $(PSOBJ)zht2.$(OBJ) $(PSOBJ)zimage2.$(OBJ)
1135# Note that zmisc2 includes both Level 1 and Level 2 operators.
1136$(PSD)psl2read.dev : $(INT_MAK) $(ECHOGS_XE) $(psl2read_)\
1137 $(PSD)psl2int.dev $(PSD)dps2read.dev
1138	$(SETMOD) $(PSD)psl2read $(psl2read_)
1139	$(ADDMOD) $(PSD)psl2read -include $(PSD)psl2int $(PSD)dps2read
1140	$(ADDMOD) $(PSD)psl2read -oper zcolor2_l2 zcsindex_l2
1141	$(ADDMOD) $(PSD)psl2read -oper zht2_l2
1142
1143$(PSOBJ)zcolor2.$(OBJ) : $(PSSRC)zcolor2.c $(OP) $(string__h)\
1144 $(gscolor_h) $(gscssub_h) $(gsmatrix_h) $(gsstruct_h)\
1145 $(gxcolor2_h) $(gxcspace_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxfixed_h) $(gxpcolor_h)\
1146 $(estack_h) $(ialloc_h) $(idict_h) $(iname_h) $(idparam_h) $(igstate_h) $(istruct_h)\
1147 $(store_h)
1148	$(PSCC) $(PSO_)zcolor2.$(OBJ) $(C_) $(PSSRC)zcolor2.c
1149
1150$(PSOBJ)zcsindex.$(OBJ) : $(PSSRC)zcsindex.c $(OP) $(memory__h)\
1151 $(gscolor_h) $(gsstruct_h) $(gxfixed_h) $(gxcolor2_h) $(gxcspace_h) $(gsmatrix_h)\
1152 $(ialloc_h) $(icsmap_h) $(estack_h) $(igstate_h) $(ivmspace_h) $(store_h)
1153	$(PSCC) $(PSO_)zcsindex.$(OBJ) $(C_) $(PSSRC)zcsindex.c
1154
1155$(PSOBJ)zht2.$(OBJ) : $(PSSRC)zht2.c $(OP)\
1156 $(gsstruct_h) $(gxdevice_h) $(gzht_h)\
1157 $(estack_h) $(ialloc_h) $(icolor_h) $(iddict_h) $(idparam_h) $(igstate_h)\
1158 $(iht_h) $(store_h) $(iname) $(zht2_h)
1159	$(PSCC) $(PSO_)zht2.$(OBJ) $(C_) $(PSSRC)zht2.c
1160
1161$(PSOBJ)zimage2.$(OBJ) : $(PSSRC)zimage2.c $(OP) $(math__h) $(memory__h)\
1162 $(gscolor_h) $(gscolor2_h) $(gscspace_h) $(gsimage_h) $(gsmatrix_h)\
1163 $(gxfixed_h)\
1164 $(idict_h) $(idparam_h) $(iimage_h) $(iimage2_h) $(ilevel_h) $(igstate_h)
1165	$(PSCC) $(PSO_)zimage2.$(OBJ) $(C_) $(PSSRC)zimage2.c
1166
1167# ---------------- setpagedevice ---------------- #
1168
1169pagedev_=$(PSOBJ)zdevice2.$(OBJ) $(PSOBJ)zmedia2.$(OBJ)
1170$(PSD)pagedev.dev : $(INT_MAK) $(ECHOGS_XE) $(pagedev_)
1171	$(SETMOD) $(PSD)pagedev $(pagedev_)
1172	$(ADDMOD) $(PSD)pagedev -oper zdevice2_l2 zmedia2_l2
1173	$(ADDMOD) $(PSD)pagedev -ps gs_setpd
1174
1175$(PSOBJ)zdevice2.$(OBJ) : $(PSSRC)zdevice2.c $(OP) $(math__h) $(memory__h)\
1176 $(dstack_h) $(estack_h)\
1177 $(idict_h) $(idparam_h) $(igstate_h) $(iname_h) $(iutil_h) $(store_h)\
1178 $(gxdevice_h) $(gsstate_h)
1179	$(PSCC) $(PSO_)zdevice2.$(OBJ) $(C_) $(PSSRC)zdevice2.c
1180
1181$(PSOBJ)zmedia2.$(OBJ) : $(PSSRC)zmedia2.c $(OP) $(math__h) $(memory__h)\
1182 $(gsmatrix_h) $(idict_h) $(idparam_h) $(iname_h) $(store_h)
1183	$(PSCC) $(PSO_)zmedia2.$(OBJ) $(C_) $(PSSRC)zmedia2.c
1184
1185# ---------------- IODevices ---------------- #
1186
1187iodevice_=$(PSOBJ)ziodev2.$(OBJ) $(PSOBJ)zdevcal.$(OBJ) $(PSOBJ)ziodevst.$(OBJ)
1188$(PSD)iodevice.dev : $(INT_MAK) $(ECHOGS_XE) $(iodevice_)
1189	$(SETMOD) $(PSD)iodevice $(iodevice_)
1190	$(ADDMOD) $(PSD)iodevice -oper ziodev2_l2 ziodevst
1191	$(ADDMOD) $(PSD)iodevice -iodev null calendar static
1192
1193$(PSOBJ)ziodev2.$(OBJ) : $(PSSRC)ziodev2.c $(OP) $(string__h) $(gp_h)\
1194 $(gxiodev_h) $(stream_h)\
1195 $(dstack_h) $(files_h) $(iparam_h) $(iutil2_h) $(store_h)
1196	$(PSCC) $(PSO_)ziodev2.$(OBJ) $(C_) $(PSSRC)ziodev2.c
1197
1198$(PSOBJ)zdevcal.$(OBJ) : $(PSSRC)zdevcal.c $(GH) $(time__h)\
1199 $(gxiodev_h) $(iparam_h) $(istack_h)
1200	$(PSCC) $(PSO_)zdevcal.$(OBJ) $(C_) $(PSSRC)zdevcal.c
1201
1202$(PSOBJ)ziodevst.$(OBJ) : $(PSSRC)ziodevst.c $(GH)\
1203  $(gserror_h) $(gsstruct_h) $(gxiodev_h) $(istruct_h) $(idict_h)\
1204 $(iconf_h) $(oper_h) $(store_h) $(stream_h) $(files_h)\
1205 $(string__h) $(memory_h)
1206	$(PSCC) $(PSO_)ziodevst.$(OBJ) $(C_) $(PSSRC)ziodevst.c
1207
1208# ---------------- Filters other than the ones in sfilter.c ---------------- #
1209
1210# Standard Level 2 decoding filters only.  The PDF configuration uses this.
1211fdecode_=$(GLOBJ)scantab.$(OBJ) $(GLOBJ)scfparam.$(OBJ) $(GLOBJ)sfilter2.$(OBJ) $(PSOBJ)zfdecode.$(OBJ)
1212$(PSD)fdecode.dev : $(INT_MAK) $(ECHOGS_XE) $(fdecode_)\
1213 $(GLD)cfd.dev $(GLD)lzwd.dev $(GLD)pdiff.dev $(GLD)pngp.dev $(GLD)rld.dev
1214	$(SETMOD) $(PSD)fdecode $(fdecode_)
1215	$(ADDMOD) $(PSD)fdecode -include $(GLD)cfd $(GLD)lzwd $(GLD)pdiff $(GLD)pngp $(GLD)rld
1216	$(ADDMOD) $(PSD)fdecode -oper zfdecode
1217
1218$(PSOBJ)zfdecode.$(OBJ) : $(PSSRC)zfdecode.c $(OP) $(memory__h)\
1219 $(gsparam_h) $(gsstruct_h)\
1220 $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) $(ifilter2_h) $(ifrpred_h)\
1221 $(ilevel_h) $(iparam_h)\
1222 $(sa85x_h) $(scf_h) $(scfx_h) $(sfilter_h) $(slzwx_h) $(spdiffx_h) $(spngpx_h)\
1223 $(store_h) $(stream_h) $(strimpl_h)
1224	$(PSCC) $(PSO_)zfdecode.$(OBJ) $(C_) $(PSSRC)zfdecode.c
1225
1226# Complete Level 2 filter capability.
1227filter_=$(PSOBJ)zfilter2.$(OBJ)
1228$(PSD)filter.dev : $(INT_MAK) $(ECHOGS_XE) $(PSD)fdecode.dev $(filter_)\
1229 $(GLD)cfe.dev $(GLD)lzwe.dev $(GLD)rle.dev
1230	$(SETMOD) $(PSD)filter -include $(PSD)fdecode
1231	$(ADDMOD) $(PSD)filter -obj $(filter_)
1232	$(ADDMOD) $(PSD)filter -include $(GLD)cfe $(GLD)lzwe $(GLD)rle
1233	$(ADDMOD) $(PSD)filter -oper zfilter2
1234
1235$(PSOBJ)zfilter2.$(OBJ) : $(PSSRC)zfilter2.c $(OP) $(memory__h)\
1236 $(gsstruct_h)\
1237 $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) $(ifilter2_h) $(ifwpred_h)\
1238 $(store_h)\
1239 $(sfilter_h) $(scfx_h) $(slzwx_h) $(spdiffx_h) $(spngpx_h) $(strimpl_h)
1240	$(PSCC) $(PSO_)zfilter2.$(OBJ) $(C_) $(PSSRC)zfilter2.c
1241
1242# Extensions beyond Level 2 standard.
1243xfilter_=$(PSOBJ)sbhc.$(OBJ) $(PSOBJ)sbwbs.$(OBJ) $(PSOBJ)shcgen.$(OBJ)\
1244 $(PSOBJ)smtf.$(OBJ) $(PSOBJ)zfilterx.$(OBJ)
1245$(PSD)xfilter.dev : $(INT_MAK) $(ECHOGS_XE) $(xfilter_) $(GLD)pngp.dev
1246	$(SETMOD) $(PSD)xfilter $(xfilter_)
1247	$(ADDMOD) $(PSD)xfilter -include $(GLD)pngp
1248	$(ADDMOD) $(PSD)xfilter -oper zfilterx
1249
1250$(PSOBJ)sbhc.$(OBJ) : $(PSSRC)sbhc.c $(AK) $(memory__h) $(stdio__h)\
1251 $(gdebug_h) $(sbhc_h) $(shcgen_h) $(strimpl_h)
1252	$(PSCC) $(PSO_)sbhc.$(OBJ) $(C_) $(PSSRC)sbhc.c
1253
1254$(PSOBJ)sbwbs.$(OBJ) : $(PSSRC)sbwbs.c $(AK) $(stdio__h) $(memory__h)\
1255 $(gdebug_h) $(sbwbs_h) $(sfilter_h) $(strimpl_h)
1256	$(PSCC) $(PSO_)sbwbs.$(OBJ) $(C_) $(PSSRC)sbwbs.c
1257
1258$(PSOBJ)shcgen.$(OBJ) : $(PSSRC)shcgen.c $(AK) $(memory__h) $(stdio__h)\
1259 $(gdebug_h) $(gserror_h) $(gserrors_h) $(gsmemory_h)\
1260 $(scommon_h) $(shc_h) $(shcgen_h)
1261	$(PSCC) $(PSO_)shcgen.$(OBJ) $(C_) $(PSSRC)shcgen.c
1262
1263$(PSOBJ)smtf.$(OBJ) : $(PSSRC)smtf.c $(AK) $(stdio__h)\
1264 $(smtf_h) $(strimpl_h)
1265	$(PSCC) $(PSO_)smtf.$(OBJ) $(C_) $(PSSRC)smtf.c
1266
1267$(PSOBJ)zfilterx.$(OBJ) : $(PSSRC)zfilterx.c $(OP) $(memory__h)\
1268 $(gsstruct_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h)\
1269 $(store_h) $(sfilter_h) $(sbhc_h) $(sbtx_h) $(sbwbs_h) $(shcgen_h)\
1270 $(smtf_h) $(strimpl_h)
1271	$(PSCC) $(PSO_)zfilterx.$(OBJ) $(C_) $(PSSRC)zfilterx.c
1272
1273# MD5 digest filter
1274fmd5_=$(PSOBJ)zfmd5.$(OBJ)
1275$(PSD)fmd5.dev : $(INT_MAK) $(ECHOGS_XE) $(fmd5_) $(GLD)smd5.dev
1276	$(SETMOD) $(PSD)fmd5 $(fmd5_)
1277	$(ADDMOD) $(PSD)fmd5 -include $(GLD)smd5
1278	$(ADDMOD) $(PSD)fmd5 -oper zfmd5
1279
1280$(PSOBJ)zfmd5.$(OBJ) : $(PSSRC)zfmd5.c $(OP) $(memory__h)\
1281 $(gsstruct_h) $(ialloc_h) $(ifilter_h)\
1282 $(smd5_h) $(stream_h) $(strimpl_h)
1283	$(PSCC) $(PSO_)zfmd5.$(OBJ) $(C_) $(PSSRC)zfmd5.c
1284
1285# Arcfour cipher filter
1286farc4_=$(PSOBJ)zfarc4.$(OBJ)
1287$(PSD)farc4.dev : $(INT_MAK) $(ECHOGS_XE) $(farc4_) $(GLD)sarc4.dev
1288	$(SETMOD) $(PSD)farc4 $(farc4_)
1289	$(ADDMOD) $(PSD)farc4 -include $(GLD)sarc4
1290	$(ADDMOD) $(PSD)farc4 -oper zfarc4
1291
1292$(PSOBJ)zfarc4.$(OBJ) : $(PSSRC)zfarc4.c $(OP) $(memory__h)\
1293 $(gsstruct_h) $(ialloc_h) $(idict_h) $(ifilter_h)\
1294 $(sarc4_h) $(stream_h) $(strimpl_h)
1295	$(PSCC) $(PSO_)zfarc4.$(OBJ) $(C_) $(PSSRC)zfarc4.c
1296
1297# JBIG2 compression filter
1298# this can be turned on and off with a FEATURE_DEV
1299
1300fjbig2_=$(PSOBJ)zfjbig2.$(OBJ)
1301$(PSD)jbig2.dev : $(INT_MAK) $(ECHOGS_XE) $(fjbig2_) $(GLD)sjbig2.dev
1302	$(SETMOD) $(PSD)jbig2 $(fjbig2_)
1303	$(ADDMOD) $(PSD)jbig2 -include $(GLD)sjbig2
1304	$(ADDMOD) $(PSD)jbig2 -oper zfjbig2
1305
1306$(PSOBJ)zfjbig2.$(OBJ) : $(PSSRC)zfjbig2.c $(OP) $(memory__h)\
1307 $(gsstruct_h) $(gstypes_h) $(ialloc_h) $(idict_h) $(ifilter_h)\
1308 $(store_h) $(stream_h) $(strimpl_h) $(sjbig2_h)
1309	$(PSJBIG2CC) $(PSO_)zfjbig2.$(OBJ) $(C_) $(PSSRC)zfjbig2.c
1310
1311# JPX (jpeg 2000) compression filter
1312# this can be turned on and off with a FEATURE_DEV
1313
1314fjpx_=$(PSOBJ)zfjpx.$(OBJ)
1315$(PSD)jpx.dev : $(INT_MAK) $(ECHOGS_XE) $(fjpx_) $(GLD)sjpx.dev
1316	$(SETMOD) $(PSD)jpx $(fjpx_)
1317	$(ADDMOD) $(PSD)jpx -include $(GLD)sjpx
1318	$(ADDMOD) $(PSD)jpx -include $(GLD)libjasper
1319	$(ADDMOD) $(PSD)jpx -oper zfjpx
1320
1321$(PSOBJ)zfjpx.$(OBJ) : $(PSSRC)zfjpx.c $(OP) $(memory__h)\
1322 $(gsstruct_h) $(gstypes_h) $(ialloc_h) $(idict_h) $(ifilter_h)\
1323 $(store_h) $(stream_h) $(strimpl_h) $(sjpx_h)
1324	$(PSCC) $(I_)$(JASI_)$(_I) $(JASCF_) $(PSO_)zfjpx.$(OBJ) $(C_) $(PSSRC)zfjpx.c
1325
1326
1327# ---------------- Binary tokens ---------------- #
1328
1329nobtoken_=$(PSOBJ)inobtokn.$(OBJ)
1330$(PSD)nobtoken.dev : $(INT_MAK) $(ECHOGS_XE) $(nobtoken_)
1331	$(SETMOD) $(PSD)nobtoken $(nobtoken_)
1332
1333$(PSOBJ)inobtokn.$(OBJ) : $(PSSRC)inobtokn.c $(GH)\
1334 $(stream_h) $(ierrors_h) $(iscan_h) $(iscanbin_h)
1335	$(PSCC) $(PSO_)inobtokn.$(OBJ) $(C_) $(PSSRC)inobtokn.c
1336
1337btoken_=$(PSOBJ)iscanbin.$(OBJ) $(PSOBJ)zbseq.$(OBJ)
1338$(PSD)btoken.dev : $(INT_MAK) $(ECHOGS_XE) $(btoken_)
1339	$(SETMOD) $(PSD)btoken $(btoken_)
1340	$(ADDMOD) $(PSD)btoken -oper zbseq_l2 -replace $(PSD)nobtoken
1341	$(ADDMOD) $(PSD)btoken -ps gs_btokn
1342
1343$(PSOBJ)iscanbin.$(OBJ) : $(PSSRC)iscanbin.c $(GH)\
1344 $(math__h) $(memory__h) $(ierrors_h)\
1345 $(gsutil_h) $(gxalloc_h) $(ialloc_h) $(ibnum_h) $(iddict_h) $(iname_h)\
1346 $(iscan_h) $(iscanbin_h) $(iutil_h) $(ivmspace_h)\
1347 $(btoken_h) $(dstack_h) $(ostack_h)\
1348 $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
1349	$(PSCC) $(PSO_)iscanbin.$(OBJ) $(C_) $(PSSRC)iscanbin.c
1350
1351$(PSOBJ)zbseq.$(OBJ) : $(PSSRC)zbseq.c $(OP) $(memory__h)\
1352 $(gxalloc_h)\
1353 $(btoken_h) $(ialloc_h) $(istruct_h) $(store_h)
1354	$(PSCC) $(PSO_)zbseq.$(OBJ) $(C_) $(PSSRC)zbseq.c
1355
1356# ---------------- User paths & insideness testing ---------------- #
1357
1358upath_=$(PSOBJ)zupath.$(OBJ) $(PSOBJ)ibnum.$(OBJ) $(GLOBJ)gdevhit.$(OBJ)
1359$(PSD)upath.dev : $(INT_MAK) $(ECHOGS_XE) $(upath_)
1360	$(SETMOD) $(PSD)upath $(upath_)
1361	$(ADDMOD) $(PSD)upath -oper zupath_l2
1362
1363$(PSOBJ)zupath.$(OBJ) : $(PSSRC)zupath.c $(OP)\
1364 $(dstack_h) $(oparc_h) $(store_h)\
1365 $(ibnum_h) $(idict_h) $(igstate_h) $(iname_h) $(iutil_h) $(stream_h)\
1366 $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h)\
1367 $(gxfixed_h) $(gxdevice_h) $(gzpath_h) $(gzstate_h)
1368	$(PSCC) $(PSO_)zupath.$(OBJ) $(C_) $(PSSRC)zupath.c
1369
1370# -------- Additions common to Display PostScript and Level 2 -------- #
1371
1372$(PSD)dpsand2.dev : $(INT_MAK) $(ECHOGS_XE)\
1373 $(PSD)btoken.dev $(PSD)color.dev $(PSD)upath.dev $(GLD)dps2lib.dev $(PSD)dps2read.dev
1374	$(SETMOD) $(PSD)dpsand2 -include $(PSD)btoken $(PSD)color $(PSD)upath $(GLD)dps2lib $(PSD)dps2read
1375
1376dps2int_=$(PSOBJ)zvmem2.$(OBJ) $(PSOBJ)zdps1.$(OBJ)
1377# Note that zvmem2 includes both Level 1 and Level 2 operators.
1378$(PSD)dps2int.dev : $(INT_MAK) $(ECHOGS_XE) $(dps2int_)
1379	$(SETMOD) $(PSD)dps2int $(dps2int_)
1380	$(ADDMOD) $(PSD)dps2int -oper zvmem2 zdps1_l2
1381	$(ADDMOD) $(PSD)dps2int -ps gs_dps1
1382
1383dps2read_=$(PSOBJ)ibnum.$(OBJ) $(PSOBJ)zcharx.$(OBJ)
1384$(PSD)dps2read.dev : $(INT_MAK) $(ECHOGS_XE) $(dps2read_) $(PSD)dps2int.dev
1385	$(SETMOD) $(PSD)dps2read $(dps2read_)
1386	$(ADDMOD) $(PSD)dps2read -include $(PSD)dps2int
1387	$(ADDMOD) $(PSD)dps2read -oper ireclaim_l2 zcharx
1388	$(ADDMOD) $(PSD)dps2read -ps gs_dps2
1389
1390$(PSOBJ)ibnum.$(OBJ) : $(PSSRC)ibnum.c $(GH) $(math__h) $(memory__h)\
1391 $(ierrors_h) $(stream_h) $(ibnum_h) $(imemory_h) $(iutil_h)
1392	$(PSCC) $(PSO_)ibnum.$(OBJ) $(C_) $(PSSRC)ibnum.c
1393
1394$(PSOBJ)zcharx.$(OBJ) : $(PSSRC)zcharx.c $(OP)\
1395 $(gsmatrix_h) $(gstext_h) $(gxfixed_h) $(gxfont_h)\
1396 $(ialloc_h) $(ibnum_h) $(ichar_h) $(iname_h) $(igstate_h)
1397	$(PSCC) $(PSO_)zcharx.$(OBJ) $(C_) $(PSSRC)zcharx.c
1398
1399$(PSOBJ)zdps1.$(OBJ) : $(PSSRC)zdps1.c $(OP)\
1400 $(gsmatrix_h) $(gspath_h) $(gspath2_h) $(gsstate_h)\
1401 $(ialloc_h) $(ivmspace_h) $(igstate_h) $(store_h) $(stream_h) $(ibnum_h)
1402	$(PSCC) $(PSO_)zdps1.$(OBJ) $(C_) $(PSSRC)zdps1.c
1403
1404$(PSOBJ)zvmem2.$(OBJ) : $(PSSRC)zvmem2.c $(OP)\
1405 $(estack_h) $(ialloc_h) $(ivmspace_h) $(store_h) $(ivmem2_h)
1406	$(PSCC) $(PSO_)zvmem2.$(OBJ) $(C_) $(PSSRC)zvmem2.c
1407
1408# -------- Composite (PostScript Type 0) font support -------- #
1409
1410$(PSD)compfont.dev : $(INT_MAK) $(ECHOGS_XE)\
1411 $(GLD)psf0lib.dev $(PSD)psf0read.dev
1412	$(SETMOD) $(PSD)compfont -include $(GLD)psf0lib $(PSD)psf0read
1413
1414# We always include cmapread because zfont0.c refers to it,
1415# and it's not worth the trouble to exclude.
1416psf0read_=$(PSOBJ)zcfont.$(OBJ) $(PSOBJ)zfont0.$(OBJ)
1417$(PSD)psf0read.dev : $(INT_MAK) $(ECHOGS_XE) $(psf0read_)
1418	$(SETMOD) $(PSD)psf0read $(psf0read_)
1419	$(ADDMOD) $(PSD)psf0read -oper zcfont zfont0
1420	$(ADDMOD) $(PSD)psf0read -include $(PSD)cmapread
1421
1422$(PSOBJ)zcfont.$(OBJ) : $(PSSRC)zcfont.c $(OP)\
1423 $(gsmatrix_h)\
1424 $(gxfixed_h) $(gxfont_h) $(gxtext_h)\
1425 $(ichar_h) $(estack_h) $(ifont_h) $(igstate_h) $(store_h)
1426	$(PSCC) $(PSO_)zcfont.$(OBJ) $(C_) $(PSSRC)zcfont.c
1427
1428$(PSOBJ)zfont0.$(OBJ) : $(PSSRC)zfont0.c $(OP)\
1429 $(gsstruct_h)\
1430 $(gxdevice_h) $(gxfcmap_h) $(gxfixed_h) $(gxfont_h) $(gxfont0_h) $(gxmatrix_h)\
1431 $(gzstate_h)\
1432 $(bfont_h) $(ialloc_h) $(iddict_h) $(idparam_h) $(igstate_h) $(iname_h)\
1433 $(store_h)
1434	$(PSCC) $(PSO_)zfont0.$(OBJ) $(C_) $(PSSRC)zfont0.c
1435
1436# ---------------- CMap and CIDFont support ---------------- #
1437# Note that this requires at least minimal Level 2 support,
1438# because it requires findresource.
1439
1440icid_h=$(PSSRC)icid.h
1441ifcid_h=$(PSSRC)ifcid.h
1442
1443cmapread_=$(PSOBJ)zcid.$(OBJ) $(PSOBJ)zfcmap.$(OBJ)
1444$(PSD)cmapread.dev : $(INT_MAK) $(ECHOGS_XE) $(cmapread_)\
1445 $(GLD)cmaplib.dev $(PSD)psl2int.dev
1446	$(SETMOD) $(PSD)cmapread $(cmapread_)
1447	$(ADDMOD) $(PSD)cmapread -include $(GLD)cmaplib $(PSD)psl2int
1448	$(ADDMOD) $(PSD)cmapread -oper zfcmap
1449	$(ADDMOD) $(PSD)cmapread -ps gs_cmap
1450
1451$(PSOBJ)zfcmap.$(OBJ) : $(PSSRC)zfcmap.c $(OP) $(memory__h)\
1452 $(gsmatrix_h) $(gsstruct_h) $(gsutil_h)\
1453 $(gxfcmap1_h) $(gxfont_h)\
1454 $(ialloc_h) $(icid_h) $(iddict_h) $(idparam_h) $(ifont_h) $(iname_h)\
1455 $(store_h)
1456	$(PSCC) $(PSO_)zfcmap.$(OBJ) $(C_) $(PSSRC)zfcmap.c
1457
1458cidread_=$(PSOBJ)zcid.$(OBJ) $(PSOBJ)zfcid.$(OBJ) $(PSOBJ)zfcid0.$(OBJ) $(PSOBJ)zfcid1.$(OBJ)
1459$(PSD)cidfont.dev : $(INT_MAK) $(ECHOGS_XE) $(cidread_)\
1460 $(PSD)psf1read.dev $(PSD)psl2int.dev $(PSD)type2.dev $(PSD)type42.dev\
1461 $(PSD)zfrsd.dev
1462	$(SETMOD) $(PSD)cidfont $(cidread_)
1463	$(ADDMOD) $(PSD)cidfont -include $(PSD)psf1read $(PSD)psl2int
1464	$(ADDMOD) $(PSD)cidfont -include $(PSD)type2 $(PSD)type42 $(PSD)zfrsd
1465	$(ADDMOD) $(PSD)cidfont -oper zfcid0 zfcid1
1466	$(ADDMOD) $(PSD)cidfont -ps gs_cidfn gs_cidcm gs_fntem gs_cidtt gs_cidfm
1467
1468$(PSOBJ)zcid.$(OBJ) : $(PSSRC)zcid.c $(OP)\
1469 $(gxcid_h) $(ierrors_h) $(icid_h) $(idict_h) $(idparam_h) $(store_h)
1470	$(PSCC) $(PSO_)zcid.$(OBJ) $(C_) $(PSSRC)zcid.c
1471
1472$(PSOBJ)zfcid.$(OBJ) : $(PSSRC)zfcid.c $(OP)\
1473 $(gsmatrix_h) $(gxfcid_h)\
1474 $(bfont_h) $(icid_h) $(idict_h) $(idparam_h) $(ifcid_h) $(store_h)
1475	$(PSCC) $(PSO_)zfcid.$(OBJ) $(C_) $(PSSRC)zfcid.c
1476
1477$(PSOBJ)zfcid0.$(OBJ) : $(PSSRC)zfcid0.c $(OP) $(memory__h)\
1478 $(gsccode_h) $(gsmatrix_h) $(gsstruct_h)\
1479 $(gxalloc_h) $(gxfcid_h) $(gxfont1_h)\
1480 $(stream_h)\
1481 $(bfont_h) $(files_h) $(ichar_h) $(ichar1_h) $(icid_h) $(idict_h) $(idparam_h)\
1482 $(ifcid_h) $(ifont1_h) $(ifont2_h) $(ifont42_h) $(store_h)
1483	$(PSCC) $(PSO_)zfcid0.$(OBJ) $(C_) $(PSSRC)zfcid0.c
1484
1485$(PSOBJ)zfcid1.$(OBJ) : $(PSSRC)zfcid1.c $(OP) $(memory__h)\
1486 $(gsccode_h) $(gsmatrix_h) $(gsstruct_h) $(gsgcache_h) $(gxfcid_h)\
1487 $(bfont_h) $(icid_h) $(ichar1_h) $(idict_h) $(idparam_h)\
1488 $(ifcid_h) $(ifont42_h) $(store_h) $(stream_h) $(files_h)
1489	$(PSCC) $(PSO_)zfcid1.$(OBJ) $(C_) $(PSSRC)zfcid1.c
1490
1491# Testing only (CIDFont and CMap)
1492
1493cidtest_=$(PSOBJ)zcidtest.$(OBJ) $(GLOBJ)gsfont0c.$(OBJ)
1494$(PSD)cidtest.dev : $(INT_MAK) $(ECHOGS_XE) $(cidtest_)\
1495 $(PSD)cidfont.dev $(PSD)cmapread.dev $(GLD)psf.dev $(GLD)psf0lib.dev
1496	$(SETMOD) $(PSD)cidtest $(cidtest_)
1497	$(ADDMOD) $(PSD)cidtest -oper zcidtest
1498	$(ADDMOD) $(PSD)cidtest -include $(PSD)cidfont $(PSD)cmapread
1499	$(ADDMOD) $(PSD)cidtest -include $(GLD)psf $(GLD)psf0lib
1500
1501$(PSOBJ)zcidtest.$(OBJ) : $(PSSRC)zcidtest.c $(string__h) $(OP)\
1502 $(gdevpsf_h) $(gxfont_h) $(gxfont0c_h)\
1503 $(spprint_h) $(stream_h)\
1504 $(files_h) $(idict_h) $(ifont_h) $(igstate_h) $(iname_h) $(store_h)
1505	$(PSCC) $(PSO_)zcidtest.$(OBJ) $(C_) $(PSSRC)zcidtest.c
1506
1507# ---------------- CIE color ---------------- #
1508
1509cieread_=$(PSOBJ)zcie.$(OBJ) $(PSOBJ)zcrd.$(OBJ)
1510$(PSD)cie.dev : $(INT_MAK) $(ECHOGS_XE) $(cieread_) $(GLD)cielib.dev
1511	$(SETMOD) $(PSD)cie $(cieread_)
1512	$(ADDMOD) $(PSD)cie -oper zcie_l2 zcrd_l2
1513	$(ADDMOD) $(PSD)cie -include $(GLD)cielib
1514
1515icie_h=$(PSSRC)icie.h
1516
1517$(PSOBJ)zcie.$(OBJ) : $(PSSRC)zcie.c $(OP) $(math__h) $(memory__h)\
1518 $(gscolor2_h) $(gscie_h) $(gsstruct_h) $(gxcspace_h)\
1519 $(ialloc_h) $(icie_h) $(idict_h) $(idparam_h) $(estack_h)\
1520 $(isave_h) $(igstate_h) $(ivmspace_h) $(store_h)
1521	$(PSCC) $(PSO_)zcie.$(OBJ) $(C_) $(PSSRC)zcie.c
1522
1523$(PSOBJ)zcrd.$(OBJ) : $(PSSRC)zcrd.c $(OP) $(math__h)\
1524 $(gscrd_h) $(gscrdp_h) $(gscspace_h) $(gscolor2_h) $(gsstruct_h)\
1525 $(estack_h) $(ialloc_h) $(icie_h) $(idict_h) $(idparam_h) $(igstate_h)\
1526 $(iparam_h) $(ivmspace_h) $(store_h)
1527	$(PSCC) $(PSO_)zcrd.$(OBJ) $(C_) $(PSSRC)zcrd.c
1528
1529# ---------------- Pattern color ---------------- #
1530
1531ipcolor_h=$(PSSRC)ipcolor.h
1532
1533$(PSD)pattern.dev : $(INT_MAK) $(ECHOGS_XE) $(GLD)patlib.dev $(PSD)patread.dev
1534	$(SETMOD) $(PSD)pattern -include $(GLD)patlib $(PSD)patread
1535
1536patread_=$(PSOBJ)zpcolor.$(OBJ)
1537$(PSD)patread.dev : $(INT_MAK) $(ECHOGS_XE) $(patread_)
1538	$(SETMOD) $(PSD)patread $(patread_)
1539	$(ADDMOD) $(PSD)patread -oper zpcolor_l2
1540
1541$(PSOBJ)zpcolor.$(OBJ) : $(PSSRC)zpcolor.c $(OP)\
1542 $(gscolor_h) $(gsmatrix_h) $(gsstruct_h) $(gscoord_h)\
1543 $(gxcolor2_h) $(gxcspace_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h)\
1544 $(gxfixed_h) $(gxpcolor_h) $(gxpath_h)\
1545 $(estack_h)\
1546 $(ialloc_h) $(icremap_h) $(idict_h) $(idparam_h) $(igstate_h)\
1547 $(ipcolor_h) $(istruct_h)\
1548 $(store_h) $(gzstate_h) $(memory__h)
1549	$(PSCC) $(PSO_)zpcolor.$(OBJ) $(C_) $(PSSRC)zpcolor.c
1550
1551# ---------------- Separation color ---------------- #
1552
1553seprread_=$(PSOBJ)zcssepr.$(OBJ) $(PSOBJ)zfsample.$(OBJ)
1554$(PSD)sepr.dev : $(INT_MAK) $(ECHOGS_XE) $(seprread_)\
1555 $(PSD)func4.dev $(GLD)seprlib.dev
1556	$(SETMOD) $(PSD)sepr $(seprread_)
1557	$(ADDMOD) $(PSD)sepr -oper zcssepr_l2
1558	$(ADDMOD) $(PSD)sepr -oper zfsample
1559	$(ADDMOD) $(PSD)sepr -include $(PSD)func4 $(GLD)seprlib
1560
1561$(PSOBJ)zcssepr.$(OBJ) : $(PSSRC)zcssepr.c $(OP) $(memory__h)\
1562 $(gscolor_h) $(gscsepr_h) $(gsmatrix_h) $(gsstruct_h)\
1563 $(gxcolor2_h) $(gxcspace_h) $(gxfixed_h) $(zht2_h)\
1564 $(estack_h) $(ialloc_h) $(icsmap_h) $(ifunc_h) $(igstate_h) $(iname_h) $(ivmspace_h) $(store_h)
1565	$(PSCC) $(PSO_)zcssepr.$(OBJ) $(C_) $(PSSRC)zcssepr.c
1566
1567$(PSOBJ)zfsample.$(OBJ) : $(PSSRC)zfsample.c $(OP) $(memory__h)\
1568 $(gsfunc0_h) $(gxcspace_h)\
1569 $(estack_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifunc_h) $(ostack_h)\
1570 $(store_h)
1571	$(PSCC) $(PSO_)zfsample.$(OBJ) $(C_) $(PSSRC)zfsample.c
1572
1573# ---------------- DCT filters ---------------- #
1574# The definitions for jpeg*.dev are in jpeg.mak.
1575
1576$(PSD)dct.dev : $(INT_MAK) $(ECHOGS_XE) $(PSD)dcte.dev $(PSD)dctd.dev
1577	$(SETMOD) $(PSD)dct -include $(PSD)dcte $(PSD)dctd
1578
1579# Encoding (compression)
1580
1581dcte_=$(PSOBJ)zfdcte.$(OBJ)
1582$(PSD)dcte.dev : $(INT_MAK) $(ECHOGS_XE) $(GLD)sdcte.dev $(GLD)sdeparam.dev $(dcte_)
1583	$(SETMOD) $(PSD)dcte -include $(GLD)sdcte $(GLD)sdeparam
1584	$(ADDMOD) $(PSD)dcte -obj $(dcte_)
1585	$(ADDMOD) $(PSD)dcte -oper zfdcte
1586
1587$(PSOBJ)zfdcte.$(OBJ) : $(PSSRC)zfdcte.c $(OP)\
1588 $(memory__h) $(stdio__h) $(jpeglib__h)\
1589 $(gsmalloc_h)\
1590 $(sdct_h) $(sjpeg_h) $(stream_h) $(strimpl_h)\
1591 $(files_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) $(iparam_h)
1592	$(PSCC) $(PSO_)zfdcte.$(OBJ) $(C_) $(PSSRC)zfdcte.c
1593
1594# Decoding (decompression)
1595
1596dctd_=$(PSOBJ)zfdctd.$(OBJ)
1597$(PSD)dctd.dev : $(INT_MAK) $(ECHOGS_XE) $(GLD)sdctd.dev $(GLD)sddparam.dev $(dctd_)
1598	$(SETMOD) $(PSD)dctd -include $(GLD)sdctd $(GLD)sddparam
1599	$(ADDMOD) $(PSD)dctd -obj $(dctd_)
1600	$(ADDMOD) $(PSD)dctd -oper zfdctd
1601
1602$(PSOBJ)zfdctd.$(OBJ) : $(PSSRC)zfdctd.c $(OP)\
1603 $(memory__h) $(stdio__h) $(jpeglib__h)\
1604 $(gsmalloc_h)\
1605 $(ialloc_h) $(ifilter_h) $(iparam_h) $(sdct_h) $(sjpeg_h) $(strimpl_h)
1606	$(PSCC) $(PSO_)zfdctd.$(OBJ) $(C_) $(PSSRC)zfdctd.c
1607
1608# ================ Display PostScript ================ #
1609
1610dps_=$(PSOBJ)zdps.$(OBJ) $(PSOBJ)zcontext.$(OBJ)
1611$(PSD)dps.dev : $(INT_MAK) $(ECHOGS_XE) $(GLD)dpslib.dev $(PSD)psl2.dev $(dps_)
1612	$(SETMOD) $(PSD)dps -include $(GLD)dpslib $(PSD)psl2
1613	$(ADDMOD) $(PSD)dps -obj $(dps_)
1614	$(ADDMOD) $(PSD)dps -oper zcontext1 zcontext2 zdps
1615	$(ADDMOD) $(PSD)dps -ps gs_dps
1616
1617$(PSOBJ)zdps.$(OBJ) : $(PSSRC)zdps.c $(OP)\
1618 $(gsdps_h) $(gsimage_h) $(gsiparm2_h) $(gsstate_h)\
1619 $(gxalloc_h) $(gxfixed_h) $(gxpath_h)\
1620 $(btoken_h)\
1621 $(idparam_h) $(iddict_h) $(igstate_h) $(iimage2_h) $(iname_h) $(store_h)
1622	$(PSCC) $(PSO_)zdps.$(OBJ) $(C_) $(PSSRC)zdps.c
1623
1624$(PSOBJ)zcontext.$(OBJ) : $(PSSRC)zcontext.c $(OP) $(gp_h) $(memory__h)\
1625 $(gsexit_h) $(gsgc_h) $(gsstruct_h) $(gsutil_h) $(gxalloc_h) $(gxstate_h)\
1626 $(icontext_h) $(idict_h) $(igstate_h) $(interp_h) $(isave_h) $(istruct_h)\
1627 $(dstack_h) $(estack_h) $(files_h) $(ostack_h) $(store_h) $(stream_h)
1628	$(PSCC) $(PSO_)zcontext.$(OBJ) $(C_) $(PSSRC)zcontext.c
1629
1630# ---------------- NeXT Display PostScript ---------------- #
1631
1632dpsnext_=$(PSOBJ)zdpnext.$(OBJ)
1633$(PSD)dpsnext.dev : $(INT_MAK) $(ECHOGS_XE) $(dpsnext_)\
1634 $(PSD)dps.dev $(GLD)dpnxtlib.dev
1635	$(SETMOD) $(PSD)dpsnext -include $(PSD)dps $(GLD)dpnxtlib
1636	$(ADDMOD) $(PSD)dpsnext -obj $(dpsnext_)
1637	$(ADDMOD) $(PSD)dpsnext -oper zdpnext
1638	$(ADDMOD) $(PSD)dpsnext -ps gs_dpnxt
1639
1640$(PSOBJ)zdpnext.$(OBJ) : $(PSSRC)zdpnext.c $(math__h) $(OP)\
1641 $(gscoord_h) $(gscspace_h) $(gsdpnext_h)\
1642 $(gsiparam_h) $(gsiparm2_h) $(gsmatrix_h) $(gspath2_h)\
1643 $(gxcvalue_h) $(gxdevice_h) $(gxsample_h)\
1644 $(ialloc_h) $(igstate_h) $(iimage_h) $(iimage2_h) $(store_h)
1645	$(PSCC) $(PSO_)zdpnext.$(OBJ) $(C_) $(PSSRC)zdpnext.c
1646
1647# ==================== PostScript LanguageLevel 3 ===================== #
1648
1649# ---------------- DevicePixel color space ---------------- #
1650
1651cspixint_=$(PSOBJ)zcspixel.$(OBJ)
1652$(PSD)cspixel.dev : $(INT_MAK) $(ECHOGS_XE) $(cspixint_) $(GLD)cspixlib.dev
1653	$(SETMOD) $(PSD)cspixel $(cspixint_)
1654	$(ADDMOD) $(PSD)cspixel -oper zcspixel
1655	$(ADDMOD) $(PSD)cspixel -include $(GLD)cspixlib
1656
1657$(PSOBJ)zcspixel.$(OBJ) : $(PSSRC)zcspixel.c $(OP)\
1658 $(gscolor2_h) $(gscpixel_h) $(gscspace_h) $(gsmatrix_h)\
1659 $(igstate_h)
1660	$(PSCC) $(PSO_)zcspixel.$(OBJ) $(C_) $(PSSRC)zcspixel.c
1661
1662# ---------------- Rest of LanguageLevel 3 ---------------- #
1663
1664$(PSD)psl3.dev : $(INT_MAK) $(ECHOGS_XE)\
1665 $(PSD)psl2.dev $(PSD)cspixel.dev $(PSD)frsd.dev $(PSD)func.dev\
1666 $(GLD)psl3lib.dev $(PSD)psl3read.dev
1667	$(SETMOD) $(PSD)psl3 -include $(PSD)psl2 $(PSD)cspixel $(PSD)frsd $(PSD)func
1668	$(ADDMOD) $(PSD)psl3 -include $(GLD)psl3lib $(PSD)psl3read
1669	$(ADDMOD) $(PSD)psl3 -emulator PostScript PostScriptLevel2 PostScriptLevel3
1670
1671$(PSOBJ)zcsdevn.$(OBJ) : $(PSSRC)zcsdevn.c $(OP) $(memory__h)\
1672 $(gscolor2_h) $(gscdevn_h) $(gxcdevn_h) $(gxcspace_h) $(zht2_h)\
1673 $(estack_h) $(ialloc_h) $(icremap_h) $(ifunc_h) $(igstate_h) $(iname_h)
1674	$(PSCC) $(PSO_)zcsdevn.$(OBJ) $(C_) $(PSSRC)zcsdevn.c
1675
1676$(PSOBJ)zfunc3.$(OBJ) : $(PSSRC)zfunc3.c $(memory__h) $(OP)\
1677 $(gsfunc3_h) $(gsstruct_h)\
1678 $(files_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifunc_h)\
1679 $(store_h) $(stream_h)
1680	$(PSCC) $(PSO_)zfunc3.$(OBJ) $(C_) $(PSSRC)zfunc3.c
1681
1682# FunctionType 4 functions are not a PostScript feature, but they
1683# are used in the implementation of Separation and DeviceN color spaces.
1684
1685func4read_=$(PSOBJ)zfunc4.$(OBJ)
1686$(PSD)func4.dev : $(INT_MAK) $(ECHOGS_XE) $(func4read_)\
1687 $(PSD)func.dev $(GLD)func4lib.dev
1688	$(SETMOD) $(PSD)func4 $(func4read_)
1689	$(ADDMOD) $(PSD)func4 -functiontype 4
1690	$(ADDMOD) $(PSD)func4 -include $(PSD)func $(GLD)func4lib
1691
1692$(PSOBJ)zfunc4.$(OBJ) : $(PSSRC)zfunc4.c $(memory__h) $(OP)\
1693 $(gsfunc_h) $(gsfunc4_h) $(gsutil_h)\
1694 $(idict_h) $(ifunc_h) $(iname_h)\
1695 $(opextern_h) $(dstack_h)
1696	$(PSCC) $(PSO_)zfunc4.$(OBJ) $(C_) $(PSSRC)zfunc4.c
1697
1698$(PSOBJ)zimage3.$(OBJ) : $(PSSRC)zimage3.c $(OP) $(memory__h)\
1699 $(gscolor2_h) $(gsiparm3_h) $(gsiparm4_h) $(gscspace_h) $(gxiparam_h)\
1700 $(idparam_h) $(idict_h) $(igstate_h) $(iimage_h) $(iimage2_h)
1701	$(PSCC) $(PSO_)zimage3.$(OBJ) $(C_) $(PSSRC)zimage3.c
1702
1703$(PSOBJ)zmisc3.$(OBJ) : $(PSSRC)zmisc3.c $(GH)\
1704 $(gsclipsr_h) $(gscolor2_h) $(gscspace_h) $(gscssub_h) $(gsmatrix_h)\
1705 $(igstate_h) $(oper_h) $(store_h)
1706	$(PSCC) $(PSO_)zmisc3.$(OBJ) $(C_) $(PSSRC)zmisc3.c
1707
1708$(PSOBJ)zcolor3.$(OBJ) : $(PSSRC)zcolor3.c $(GH)\
1709 $(oper_h) $(igstate_h)
1710	$(PSCC) $(PSO_)zcolor3.$(OBJ) $(C_) $(PSSRC)zcolor3.c
1711
1712$(PSOBJ)zshade.$(OBJ) : $(PSSRC)zshade.c $(memory__h) $(OP)\
1713 $(gscolor2_h) $(gscolor3_h) $(gscspace_h) $(gsfunc3_h)\
1714 $(gsptype2_h) $(gsshade_h) $(gsstruct_h) $(gsuid_h)\
1715 $(stream_h)\
1716 $(files_h)\
1717 $(ialloc_h) $(idict_h) $(idparam_h) $(ifunc_h) $(igstate_h) $(ipcolor_h)\
1718 $(store_h)
1719	$(PSCC) $(PSO_)zshade.$(OBJ) $(C_) $(PSSRC)zshade.c
1720
1721psl3read_1=$(PSOBJ)zcsdevn.$(OBJ) $(PSOBJ)zfunc3.$(OBJ) $(PSOBJ)zfsample.$(OBJ)
1722psl3read_2=$(PSOBJ)zimage3.$(OBJ) $(PSOBJ)zmisc3.$(OBJ) $(PSOBJ)zcolor3.$(OBJ)\
1723 $(PSOBJ)zshade.$(OBJ)
1724psl3read_=$(psl3read_1) $(psl3read_2)
1725
1726# Note: we need the ReusableStreamDecode filter for shadings.
1727$(PSD)psl3read.dev : $(INT_MAK) $(ECHOGS_XE) $(psl3read_)\
1728 $(PSD)frsd.dev $(PSD)fzlib.dev
1729	$(SETMOD) $(PSD)psl3read $(psl3read_1)
1730	$(ADDMOD) $(PSD)psl3read $(psl3read_2)
1731	$(ADDMOD) $(PSD)psl3read -oper zcsdevn
1732	$(ADDMOD) $(PSD)psl3read -oper zfsample
1733	$(ADDMOD) $(PSD)psl3read -oper zimage3 zmisc3 zcolor3_l3 zshade
1734	$(ADDMOD) $(PSD)psl3read -functiontype 2 3
1735	$(ADDMOD) $(PSD)psl3read -ps gs_ll3
1736	$(ADDMOD) $(PSD)psl3read -include $(PSD)frsd $(PSD)fzlib
1737
1738# ---------------- Trapping ---------------- #
1739
1740trapread_=$(PSOBJ)ztrap.$(OBJ)
1741$(PSD)trapread.dev : $(INT_MAK) $(ECHOGS_XE) $(trapread_)
1742	$(SETMOD) $(PSD)trapread $(trapread_)
1743	$(ADDMOD) $(PSD)trapread -oper ztrap
1744	$(ADDMOD) $(PSD)trapread -ps gs_trap
1745
1746$(PSOBJ)ztrap.$(OBJ) : $(PSSRC)ztrap.c $(OP)\
1747 $(gstrap_h)\
1748 $(ialloc_h) $(iparam_h)
1749	$(PSCC) $(PSO_)ztrap.$(OBJ) $(C_) $(PSSRC)ztrap.c
1750
1751$(PSD)trapping.dev : $(INT_MAK) $(ECHOGS_XE) $(GLD)traplib.dev $(PSD)trapread.dev
1752	$(SETMOD) $(PSD)trapping -include $(GLD)traplib $(PSD)trapread
1753
1754# ---------------- Transparency ---------------- #
1755
1756transread_=$(PSOBJ)ztrans.$(OBJ)
1757$(PSD)transpar.dev : $(INT_MAK) $(ECHOGS_XE)\
1758 $(PSD)psl2read.dev $(GLD)translib.dev $(transread_)
1759	$(SETMOD) $(PSD)transpar $(transread_)
1760	$(ADDMOD) $(PSD)transpar -oper ztrans1 ztrans2
1761	$(ADDMOD) $(PSD)transpar -include $(PSD)psl2read $(GLD)translib
1762
1763$(PSOBJ)ztrans.$(OBJ) : $(PSSRC)ztrans.c $(OP) $(memory__h) $(string__h)\
1764 $(ghost_h) $(oper_h) $(gscspace_h) $(gscolor2_h) $(gsipar3x_h) $(gstrans_h)\
1765 $(gsdfilt_h) $(gdevp14_h) $(gxiparam_h) $(gxcspace_h)\
1766 $(idict_h) $(idparam_h) $(ifunc_h) $(igstate_h) $(iimage_h) $(iimage2_h) $(iname_h)\
1767 $(store_h)
1768	$(PSCC) $(PSO_)ztrans.$(OBJ) $(C_) $(PSSRC)ztrans.c
1769
1770# ---------------- ICCBased color spaces ---------------- #
1771
1772iccread_=$(PSOBJ)zicc.$(OBJ)
1773$(PSD)icc.dev : $(INT_MAK) $(ECHOGS_XE) $(PSD)cie.dev $(iccread_) \
1774                $(GLD)sicclib.dev
1775	$(SETMOD) $(PSD)icc $(iccread_)
1776	$(ADDMOD) $(PSD)icc -oper zicc_ll3
1777	$(ADDMOD) $(PSD)icc -ps gs_icc
1778	$(ADDMOD) $(PSD)icc -include $(GLD)sicclib $(PSD)cie
1779
1780$(PSOBJ)zicc.$(OBJ) : $(PSSRC)zicc.c  $(OP) $(math__h) $(memory__h)\
1781 $(gsstruct_h) $(gxcspace_h) $(stream_h) $(files_h) $(gscolor2_h)\
1782 $(gsicc_h) $(estack_h) $(idict_h) $(idparam_h) $(igstate_h) $(icie_h)
1783	$(PSCC) $(PSO_)zicc.$(OBJ) $(C_) $(PSSRC)zicc.c
1784
1785# ---------------- Support for %disk IODevices ---------------- #
1786
1787# Note that we go ahead and create 7 %disk devices. The internal
1788# overhead of any unused %disk structures is minimal.
1789# We could have more, but the DynaLab font installer has problems
1790# with more than 7 disk devices.
1791diskn_=$(GLOBJ)gsiodisk.$(OBJ)
1792$(GLD)diskn.dev : $(LIB_MAK) $(ECHOGS_XE) $(diskn_)
1793	$(SETMOD) $(GLD)diskn $(diskn_)
1794	$(ADDMOD) $(GLD)diskn -iodev disk0 disk1 disk2 disk3 disk4 disk5 disk6
1795	$(ADDMOD) $(GLD)diskn -ps gs_diskn
1796
1797# ================================ PDF ================================ #
1798
1799# We need nearly all of the PostScript LanguageLevel 3 interpreter for PDF,
1800# but not all of it: we could do without the arc operators (Level 1),
1801# the Encode filters (Level 2), and some LL3 features (clipsave/cliprestore,
1802# UseCIEColor, IdiomSets).  However, we've decided it isn't worth the
1803# trouble to do the fine-grain factoring to enable this, since code size
1804# is not at a premium for PDF interpreters.
1805
1806# Because of the way the PDF encodings are defined, they must get loaded
1807# before we install the Level 2 resource machinery.
1808# On the other hand, the PDF .ps files must get loaded after
1809# level2dict is defined.
1810$(PSD)pdf.dev : $(INT_MAK) $(ECHOGS_XE)\
1811 $(PSD)psbase.dev $(GLD)dps2lib.dev $(PSD)dps2read.dev\
1812 $(PSD)pdffonts.dev $(PSD)psl3.dev $(PSD)pdfread.dev $(PSD)cff.dev\
1813 $(PSD)fmd5.dev $(PSD)farc4.dev $(PSD)ttfont.dev $(PSD)type2.dev $(PSD)icc.dev
1814	$(SETMOD) $(PSD)pdf -include $(PSD)psbase $(GLD)dps2lib
1815	$(ADDMOD) $(PSD)pdf -include $(PSD)dps2read $(PSD)pdffonts $(PSD)psl3
1816	$(ADDMOD) $(PSD)pdf -include $(GLD)psl2lib $(PSD)pdfread $(PSD)cff
1817	$(ADDMOD) $(PSD)pdf -include $(PSD)fmd5 $(PSD)farc4 $(PSD)ttfont $(PSD)type2
1818	$(ADDMOD) $(PSD)pdf -include $(PSD)icc
1819	$(ADDMOD) $(PSD)pdf -functiontype 4
1820	$(ADDMOD) $(PSD)pdf -emulator PDF
1821
1822# Reader only
1823
1824$(PSD)pdffonts.dev : $(INT_MAK) $(ECHOGS_XE)
1825	$(SETMOD) $(PSD)pdffonts -ps gs_mex_e gs_mro_e gs_pdf_e gs_wan_e
1826
1827$(PSD)pdfread.dev : $(INT_MAK) $(ECHOGS_XE) $(GLOBJ)gxi16bit.$(OBJ)\
1828 $(PSD)frsd.dev $(PSD)func4.dev $(PSD)fzlib.dev $(PSD)transpar.dev
1829	$(SETMOD) $(GLD)pdfread $(GLOBJ)gxi16bit.$(OBJ)
1830	$(ADDMOD) $(GLD)pdfread -replace $(GLD)no16bit
1831	$(ADDMOD) $(PSD)pdfread -include $(PSD)frsd $(PSD)func4 $(PSD)fzlib
1832	$(ADDMOD) $(PSD)pdfread -include $(PSD)transpar
1833	$(ADDMOD) $(PSD)pdfread -ps pdf_ops gs_l2img
1834	$(ADDMOD) $(PSD)pdfread -ps pdf_rbld
1835	$(ADDMOD) $(PSD)pdfread -ps pdf_base pdf_draw pdf_font pdf_main pdf_sec
1836
1837# ---------------- Font API ---------------- #
1838
1839$(PSD)fapi.dev : $(INT_MAK) $(ECHOGS_XE) $(PSOBJ)zfapi.$(OBJ)\
1840 $(PSD)fapiu$(UFST_BRIDGE).dev $(PSD)fapif$(FT_BRIDGE).dev
1841	$(SETMOD) $(PSD)fapi $(PSOBJ)zfapi.$(OBJ)
1842	$(ADDMOD) $(PSD)fapi -oper zfapi
1843	$(ADDMOD) $(PSD)fapi -ps gs_fntem gs_fapi
1844	$(ADDMOD) $(PSD)fapi -include $(PSD)fapiu$(UFST_BRIDGE)
1845	$(ADDMOD) $(PSD)fapi -include $(PSD)fapif$(FT_BRIDGE)
1846
1847$(PSOBJ)zfapi.$(OBJ) : $(PSSRC)zfapi.c $(OP) $(math__h) $(memory__h) $(string__h)\
1848 $(gp_h) $(gscoord_h) $(gscrypt1_h) $(gsfont_h) $(gspaint_h) $(gspath_h)\
1849 $(gxchar_h) $(gxchrout_h) $(gxdevice_h) $(gxfcache_h) $(gxfcid_h)\
1850 $(gxfont_h) $(gxfont1_h) $(gxpath_h) $(gzstate_h) $(gdevpsf_h)\
1851 $(bfont_h) $(dstack_h) $(files_h) \
1852 $(ichar_h) $(idict_h) $(iddict_h) $(idparam_h) $(iname_h) $(ifont_h)\
1853 $(icid_h) $(igstate_h) $(icharout_h) $(ifapi_h) $(iplugin_h) \
1854 $(oper_h) $(store_h) $(stream_h)
1855	$(PSCC) $(PSO_)zfapi.$(OBJ) $(C_) $(PSSRC)zfapi.c
1856
1857# UFST bridge :
1858
1859UFST_LIB=$(UFST_ROOT)$(D)rts$(D)lib$(D)
1860UFST_INC0=$(I_)$(UFST_ROOT)$(D)sys$(D)inc$(_I) $(I_)$(UFST_ROOT)$(D)rts$(D)inc$(_I)
1861UFST_INC1=$(UFST_INC0) $(I_)$(UFST_ROOT)$(D)rts$(D)psi$(_I)
1862UFST_INC2=$(UFST_INC1) $(I_)$(UFST_ROOT)$(D)rts$(D)fco$(_I)
1863UFST_INC3=$(UFST_INC2) $(I_)$(UFST_ROOT)$(D)rts$(D)gray$(_I)
1864UFST_INC=$(UFST_INC3) $(I_)$(UFST_ROOT)$(D)rts$(D)tt$(_I)
1865
1866$(PSD)fapiu1.dev : $(INT_MAK) $(ECHOGS_XE) \
1867 $(UFST_LIB)fco_lib$(UFST_LIB_EXT) $(UFST_LIB)if_lib$(UFST_LIB_EXT) \
1868 $(UFST_LIB)psi_lib$(UFST_LIB_EXT) $(UFST_LIB)tt_lib$(UFST_LIB_EXT) \
1869 $(PSOBJ)fapiufst.$(OBJ)
1870	$(SETMOD) $(PSD)fapiu1 $(PSOBJ)fapiufst.$(OBJ)
1871	$(ADDMOD) $(PSD)fapiu1 -plugin fapiufst
1872	$(ADDMOD) $(PSD)fapiu1 -link $(UFST_LIB)if_lib$(UFST_LIB_EXT) $(UFST_LIB)fco_lib$(UFST_LIB_EXT)
1873	$(ADDMOD) $(PSD)fapiu1 -link $(UFST_LIB)tt_lib$(UFST_LIB_EXT) $(UFST_LIB)psi_lib$(UFST_LIB_EXT)
1874
1875$(PSOBJ)fapiufst.$(OBJ) : $(PSSRC)fapiufst.c $(AK)\
1876 $(memory__h) $(stdio__h) $(math__h)\
1877 $(ierrors_h) $(iplugin_h) $(ifapi_h) $(gxfapi_h) \
1878 $(UFST_ROOT)$(D)rts$(D)inc$(D)cgconfig.h\
1879 $(UFST_ROOT)$(D)rts$(D)inc$(D)shareinc.h\
1880 $(UFST_ROOT)$(D)sys$(D)inc$(D)port.h\
1881 $(UFST_ROOT)$(D)sys$(D)inc$(D)cgmacros.h\
1882 $(UFST_ROOT)$(D)rts$(D)psi$(D)t1isfnt.h\
1883 $(UFST_ROOT)$(D)rts$(D)tt$(D)sfntenum.h\
1884 $(UFST_ROOT)$(D)rts$(D)tt$(D)ttpcleo.h
1885	$(PSCC) $(UFST_CFLAGS) $(UFST_INC) $(PSO_)fapiufst.$(OBJ) $(C_) $(PSSRC)fapiufst.c
1886
1887# stub for UFST bridge :
1888
1889$(PSD)fapiu.dev : $(INT_MAK) $(ECHOGS_XE)
1890	$(SETMOD) $(PSD)fapiu
1891
1892# FreeType bridge :
1893
1894FT_LIB=$(FT_ROOT)$(D)objs$(D)freetype214MT_D
1895FT_INC=$(I_)$(FT_ROOT)$(D)include$(_I)
1896
1897wrfont_h=$(stdpre_h) $(PSSRC)wrfont.h
1898write_t1_h=$(ifapi_h) $(PSSRC)write_t1.h
1899write_t2_h=$(ifapi_h) $(PSSRC)write_t2.h
1900
1901$(PSD)fapif1.dev : $(INT_MAK) $(ECHOGS_XE) \
1902 $(FT_LIB)$(FT_LIB_EXT) \
1903 $(PSOBJ)fapi_ft.$(OBJ) \
1904 $(PSOBJ)write_t1.$(OBJ) $(PSOBJ)write_t2.$(OBJ) $(PSOBJ)wrfont.$(OBJ)
1905	$(SETMOD) $(PSD)fapif1 $(PSOBJ)fapi_ft.$(OBJ) $(PSOBJ)write_t1.$(OBJ)
1906	$(ADDMOD) $(PSD)fapif1 $(PSOBJ)write_t2.$(OBJ) $(PSOBJ)wrfont.$(OBJ)
1907	$(ADDMOD) $(PSD)fapif1 -plugin fapi_ft
1908	$(ADDMOD) $(PSD)fapif1 -link $(FT_LIB)$(FT_LIB_EXT)
1909
1910$(PSOBJ)fapi_ft.$(OBJ) : $(PSSRC)fapi_ft.c $(AK)\
1911 $(stdio__h) $(math__h) $(ifapi_h)\
1912 $(FT_ROOT)$(D)include$(D)freetype$(D)freetype.h\
1913 $(FT_ROOT)$(D)include$(D)freetype$(D)ftincrem.h\
1914 $(FT_ROOT)$(D)include$(D)freetype$(D)ftglyph.h\
1915 $(FT_ROOT)$(D)include$(D)freetype$(D)ftoutln.h\
1916 $(FT_ROOT)$(D)include$(D)freetype$(D)fttrigon.h\
1917 $(write_t1_h) $(write_t2_h)
1918	$(PSCC) $(FT_CFLAGS) $(FT_INC) $(PSO_)fapi_ft.$(OBJ) $(C_) $(PSSRC)fapi_ft.c
1919
1920$(PSOBJ)write_t1.$(OBJ) : $(PSSRC)write_t1.c $(AK)\
1921 $(wrfont_h) $(write_t1_h)
1922	$(PSCC) $(FT_CFLAGS) $(FT_INC) $(PSO_)write_t1.$(OBJ) $(C_) $(PSSRC)write_t1.c
1923
1924$(PSOBJ)write_t2.$(OBJ) : $(PSSRC)write_t2.c $(AK)\
1925 $(wrfont_h) $(write_t2_h) $(stdio_h)
1926	$(PSCC) $(FT_CFLAGS) $(FT_INC) $(PSO_)write_t2.$(OBJ) $(C_) $(PSSRC)write_t2.c
1927
1928$(PSOBJ)wrfont.$(OBJ) : $(PSSRC)wrfont.c $(AK)\
1929 $(wrfont_h) $(stdio_h)
1930	$(PSCC) $(FT_CFLAGS) $(FT_INC) $(PSO_)wrfont.$(OBJ) $(C_) $(PSSRC)wrfont.c
1931
1932# stub for FreeType bridge :
1933
1934$(PSD)fapif.dev : $(INT_MAK) $(ECHOGS_XE)
1935	$(SETMOD) $(PSD)fapif
1936
1937# ================ Dependencies for auxiliary programs ================ #
1938
1939GENINIT_DEPS=$(stdpre_h)
1940
1941# ============================= Main program ============================== #
1942
1943$(PSOBJ)gs.$(OBJ) : $(PSSRC)gs.c $(GH)\
1944 $(ierrors_h) $(iapi_h) $(imain_h) $(imainarg_h) $(iminst_h) $(gsmalloc_h)
1945	$(PSCC) $(PSO_)gs.$(OBJ) $(C_) $(PSSRC)gs.c
1946
1947$(PSOBJ)iapi.$(OBJ) : $(PSSRC)iapi.c $(AK)\
1948 $(string__h) $(ierrors_h) $(gscdefs_h) $(gstypes_h) $(iapi_h)\
1949 $(iref_h) $(imain_h) $(imainarg_h) $(iminst_h) $(gslibctx_h)
1950	$(PSCC) $(PSO_)iapi.$(OBJ) $(C_) $(PSSRC)iapi.c
1951
1952$(PSOBJ)icontext.$(OBJ) : $(PSSRC)icontext.c $(GH)\
1953 $(gsstruct_h) $(gxalloc_h)\
1954 $(dstack_h) $(ierrors_h) $(estack_h) $(files_h)\
1955 $(icontext_h) $(idict_h) $(igstate_h) $(interp_h) $(isave_h) $(store_h)\
1956 $(stream_h)
1957	$(PSCC) $(PSO_)icontext.$(OBJ) $(C_) $(PSSRC)icontext.c
1958
1959gdevdsp_h=$(GLSRC)gdevdsp.h
1960gdevdsp2_h=$(GLSRC)gdevdsp2.h
1961
1962$(PSOBJ)idisp.$(OBJ) : $(PSSRC)idisp.c $(OP) $(stdio__h) $(gp_h)\
1963 $(stdpre_h) $(gscdefs_h) $(gsdevice_h) $(gsmemory_h) $(gstypes_h)\
1964 $(iapi_h) $(iref_h)\
1965 $(imain_h) $(iminst_h) $(idisp_h) $(ostack_h)\
1966 $(gx_h) $(gxdevice_h) $(gxdevmem_h) $(gdevdsp_h) $(gdevdsp2_h)
1967	$(PSCC) $(PSO_)idisp.$(OBJ) $(C_) $(PSSRC)idisp.c
1968
1969$(PSOBJ)imainarg.$(OBJ) : $(PSSRC)imainarg.c $(GH)\
1970 $(ctype__h) $(memory__h) $(string__h)\
1971 $(gp_h)\
1972 $(gsargs_h) $(gscdefs_h) $(gsdevice_h) $(gsmalloc_h) $(gsmdebug_h)\
1973 $(gxdevice_h) $(gxdevmem_h)\
1974 $(ierrors_h) $(estack_h) $(files_h)\
1975 $(iapi_h) $(ialloc_h) $(iconf_h) $(imain_h) $(imainarg_h) $(iminst_h)\
1976 $(iname_h) $(interp_h) $(iscan_h) $(iutil_h) $(ivmspace_h)\
1977 $(ostack_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h) \
1978 $(vdtrace_h)
1979	$(PSCC) $(PSO_)imainarg.$(OBJ) $(C_) $(PSSRC)imainarg.c
1980
1981$(PSOBJ)imain.$(OBJ) : $(PSSRC)imain.c $(GH) $(memory__h) $(string__h)\
1982 $(gp_h) $(gscdefs_h) $(gslib_h) $(gsmatrix_h) $(gsutil_h)\
1983 $(gxalloc_h) $(gxdevice_h) $(gzstate_h)\
1984 $(dstack_h) $(ierrors_h) $(estack_h) $(files_h)\
1985 $(ialloc_h) $(iconf_h) $(idebug_h) $(idict_h) $(idisp_h) $(iinit_h)\
1986 $(iname_h) $(interp_h) $(iplugin_h) $(isave_h) $(iscan_h) $(ivmspace_h)\
1987 $(main_h) $(oper_h) $(ostack_h)\
1988 $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
1989	$(PSCC) $(PSO_)imain.$(OBJ) $(C_) $(PSSRC)imain.c
1990
1991#****** $(CCINT) interp.c
1992$(PSOBJ)interp.$(OBJ) : $(PSSRC)interp.c $(GH) $(memory__h) $(string__h)\
1993 $(gsstruct_h) $(idebug_h)\
1994 $(dstack_h) $(ierrors_h) $(estack_h) $(files_h)\
1995 $(ialloc_h) $(iastruct_h) $(icontext_h) $(icremap_h) $(iddict_h) $(igstate_h)\
1996 $(iname_h) $(inamedef_h) $(interp_h) $(ipacked_h)\
1997 $(isave_h) $(iscan_h) $(istack_h) $(itoken_h) $(iutil_h) $(ivmspace_h)\
1998 $(oper_h) $(ostack_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)\
1999 $(gpcheck_h)
2000	$(PSCC) $(PSO_)interp.$(OBJ) $(C_) $(PSSRC)interp.c
2001
2002$(PSOBJ)ireclaim.$(OBJ) : $(PSSRC)ireclaim.c $(GH)\
2003 $(gsstruct_h)\
2004 $(iastate_h) $(icontext_h) $(interp_h) $(isave_h) $(isstate_h)\
2005 $(dstack_h) $(ierrors_h) $(estack_h) $(opdef_h) $(ostack_h) $(store_h)
2006	$(PSCC) $(PSO_)ireclaim.$(OBJ) $(C_) $(PSSRC)ireclaim.c
2007