Commit | Line | Data |
---|---|---|
9909e96f WJ |
1 | # Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved. |
2 | # Distributed by Free Software Foundation, Inc. | |
3 | # | |
4 | # This file is part of Ghostscript. | |
5 | # | |
6 | # Ghostscript is distributed in the hope that it will be useful, but | |
7 | # WITHOUT ANY WARRANTY. No author or distributor accepts responsibility | |
8 | # to anyone for the consequences of using it or for whether it serves any | |
9 | # particular purpose or works at all, unless he says so in writing. Refer | |
10 | # to the Ghostscript General Public License for full details. | |
11 | # | |
12 | # Everyone is granted permission to copy, modify and redistribute | |
13 | # Ghostscript, but only under the conditions described in the Ghostscript | |
14 | # General Public License. A copy of this license is supposed to have been | |
15 | # given to you along with Ghostscript so you can know your rights and | |
16 | # responsibilities. It should be in a file named COPYING. Among other | |
17 | # things, the copyright notice and this notice must be preserved on all | |
18 | # copies. | |
19 | ||
20 | # Generic makefile for Ghostscript. | |
21 | # The platform-specific makefiles `include' this file. | |
22 | # They define the following symbols: | |
23 | # GS_INIT - the name of the initialization file for Ghostscript, | |
24 | # normally gs_init.ps. | |
25 | # GS_LIB_DEFAULT - the default directory/ies for searching for the | |
26 | # initialization and font files at run time. | |
27 | # DEVICE_DEVS - the devices to include in the executable. | |
28 | # See devs.mak for details. | |
29 | # DEVICE_DEVS2...DEVICE_DEVS5 - additional devices, if the definition of | |
30 | # DEVICE_DEVS doesn't fit on one line. | |
31 | # See devs.mak for details. | |
32 | # FEATURE_DEVS - the optional features to include in the | |
33 | # executable. Current features are: | |
34 | # dps - support for Display PostScript extensions. | |
35 | # *** PARTIALLY IMPLEMENTED, SEE language.doc. *** | |
36 | # level2 - support for PostScript Level 2 extensions. | |
37 | # *** PARTIALLY IMPLEMENTED, SEE language.doc. *** | |
38 | # compfont - support for composite (type 0) fonts. | |
39 | # *** NOT IMPLEMENTED YET. *** | |
40 | # filter - support for Level 2 filters (other than eexec, | |
41 | # ASCIIHexEncode/Decode, and PFBDecode, which are | |
42 | # always included). | |
43 | # ccfonts - precompile fonts into C, and link them | |
44 | # with the executable. In the standard makefiles, | |
45 | # this is only implemented for a very few fonts: | |
46 | # see fonts.doc for details. | |
47 | # It is very unlikely that anyone would want to edit the remaining | |
48 | # symbols, but we describe them here for completeness: | |
49 | # PLATFORM - a "device" name for the platform, so that platforms can | |
50 | # add various kinds of resources like devices and features. | |
51 | # QQ - a " preceded by whatever escape characters are needed to | |
52 | # persuade the shell to pass a " to a program (" on MS-DOS, | |
53 | # \" on Unix). | |
54 | # XE - the extension for executable files (e.g., null or .exe). | |
55 | # OBJ - the extension for relocatable object files (e.g., o or obj). | |
56 | # CCC - the C invocation for normal compilation. | |
57 | # CC0 - a C invocation with the fewest possible flags. Needed because | |
58 | # MS-DOS limits the length of command lines to 128 characters. | |
59 | # CCINT - the C invocation for compiling the main interpreter module, | |
60 | # normally the same as CCC: this is needed because the | |
61 | # Borland compiler generates *worse* code for this module | |
62 | # (but only this module) when optimization (-O) is turned on. | |
63 | # AK - if source files must be converted from ANSI to K&R syntax, | |
64 | # this is ansi2knr$(XE); if not, it is null. | |
65 | # If a particular platform requires other utility programs | |
66 | # to be built, AK must include them too. | |
67 | # UNIQ - null on systems that provide the uniq utility, | |
68 | # uniq$(XE) on systems where we have to provide our own. | |
69 | # SHP - the prefix for invoking a shell script in the current directory | |
70 | # (null for MS-DOS, $(SH) ./ for Unix). | |
71 | # EXPP, EXP - the prefix for invoking an executable program in the | |
72 | # current directory (null for MS-DOS, ./ for Unix). | |
73 | # SH - the shell for scripts (null on MS-DOS, sh on Unix). | |
74 | # The platform-specific makefiles must also include rules for creating | |
75 | # ansi2knr$(XE) and genarch$(XE) from the corresponding .c files, | |
76 | # and for making arch.h by executing genarch$(XE). (This | |
77 | # shouldn't really be necessary, but Turbo C and Unix C treat the -o | |
78 | # switch slightly differently (Turbo C requires no following space, | |
79 | # Unix C requires a following space), and I haven't found a way to capture | |
80 | # the difference in a macro; also, Unix requires ./ because . may not be | |
81 | # in the search path, whereas MS-DOS always looks in the current | |
82 | # directory first.) | |
83 | ||
84 | all default: gs$(XE) | |
85 | ||
86 | test: gt$(XE) | |
87 | ||
88 | mostlyclean realclean distclean clean: | |
89 | rm -f *.$(OBJ) *.a core gmon.out | |
90 | rm -f *.dev gconfig.h obj*.tr lib*.tr | |
91 | rm -f t _temp_* _temp_*.* *.map *.sym | |
92 | rm -f ansi2knr$(XE) genarch$(XE) uniq$(XE) arch.h gs$(XE) | |
93 | ||
94 | # Auxiliary programs | |
95 | ||
96 | # genarch may cause a (deliberate) addressing fault, | |
97 | # so we invoke it with a preceding -. | |
98 | ||
99 | arch.h: genarch$(XE) | |
100 | - $(EXPP) $(EXP)genarch arch.h | |
101 | ||
102 | # -------------------------------- Library -------------------------------- # | |
103 | ||
104 | # Define the inter-dependencies of the .h files. | |
105 | # Since not all versions of `make' defer expansion of macros, | |
106 | # we must list these in bottom-to-top order. | |
107 | ||
108 | # Generic files | |
109 | ||
110 | arch_h=arch.h | |
111 | std_h=std.h $(arch_h) | |
112 | gs_h=gs.h $(std_h) | |
113 | gx_h=gx.h $(gs_h) | |
114 | ||
115 | # C library interfaces | |
116 | ||
117 | # Because of variations in the "standard" header files between systems, | |
118 | # we define local include files named *_.h to substitute for <*.h>. | |
119 | ||
120 | vmsmath_h=vmsmath.h | |
121 | ||
122 | dos__h=dos_.h | |
123 | malloc__h=malloc_.h | |
124 | math__h=math_.h $(vmsmath_h) | |
125 | memory__h=memory_.h | |
126 | stat__h=stat_.h | |
127 | string__h=string_.h | |
128 | time__h=time_.h | |
129 | ||
130 | # Miscellaneous | |
131 | ||
132 | gserrors_h=gserrors.h | |
133 | ||
134 | GX=$(AK) $(gx_h) | |
135 | GXERR=$(GX) $(gserrors_h) | |
136 | ||
137 | ###### Low-level facilities and utilities | |
138 | ||
139 | ### Include files | |
140 | ||
141 | gschar_h=gschar.h | |
142 | gscolor_h=gscolor.h | |
143 | gscoord_h=gscoord.h | |
144 | gsfont_h=gsfont.h | |
145 | gsmatrix_h=gsmatrix.h | |
146 | gspaint_h=gspaint.h | |
147 | gspath_h=gspath.h | |
148 | gsprops_h=gsprops.h | |
149 | gsstate_h=gsstate.h $(gscolor_h) | |
150 | gstype1_h=gstype1.h | |
151 | gsutil_h=gsutil.h | |
152 | ||
153 | gxarith_h=gxarith.h | |
154 | gxbitmap_h=gxbitmap.h | |
155 | gxcache_h=gxcache.h | |
156 | gxchar_h=gxchar.h $(gschar_h) | |
157 | gxclist_h=gxclist.h | |
158 | gxcpath_h=gxcpath.h | |
159 | gxdevice_h=gxdevice.h $(gsmatrix_h) $(gxbitmap_h) | |
160 | gxdevmem_h=gxdevmem.h | |
161 | gxfdir_h=gxfdir.h | |
162 | gxfixed_h=gxfixed.h | |
163 | gxfont_h=gxfont.h $(gsfont_h) | |
164 | gximage_h=gximage.h | |
165 | gxlum_h=gxlum.h | |
166 | gxmatrix_h=gxmatrix.h $(gsmatrix_h) | |
167 | gxop1_h=gxop1.h | |
168 | gxpath_h=gxpath.h | |
169 | gxtype1_h=gxtype1.h $(gstype1_h) | |
170 | ||
171 | gzcolor_h=gzcolor.h $(gscolor_h) | |
172 | gzdevice_h=gzdevice.h $(gxdevice_h) | |
173 | gzht_h=gzht.h | |
174 | gzline_h=gzline.h | |
175 | gzpath_h=gzpath.h $(gxpath_h) | |
176 | gzstate_h=gzstate.h $(gsstate_h) | |
177 | ||
178 | ### Executable code | |
179 | ||
180 | gsutil.$(OBJ): gsutil.c \ | |
181 | $(std_h) $(gsprops_h) $(gsutil_h) | |
182 | ||
183 | gxcache.$(OBJ): gxcache.c $(GXERR) \ | |
184 | $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzdevice_h) $(gzcolor_h) \ | |
185 | $(gxcpath_h) $(gxdevmem_h) $(gxfont_h) $(gxfdir_h) $(gxchar_h) \ | |
186 | $(gxcache_h) $(gzstate_h) $(gzpath_h) | |
187 | ||
188 | gxclist.$(OBJ): gxclist.c $(GXERR) \ | |
189 | $(gsmatrix_h) $(gxbitmap_h) $(gxclist_h) $(gxdevice_h) $(gxdevmem_h) | |
190 | ||
191 | gxcolor.$(OBJ): gxcolor.c $(GXERR) \ | |
192 | $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gxlum_h) $(gzcolor_h) $(gzht_h) $(gzstate_h) | |
193 | ||
194 | gxcpath.$(OBJ): gxcpath.c $(GXERR) \ | |
195 | $(gxdevice_h) $(gxfixed_h) $(gzcolor_h) $(gzpath_h) $(gxcpath_h) | |
196 | ||
197 | gxdither.$(OBJ): gxdither.c $(GX) \ | |
198 | $(gxfixed_h) $(gxlum_h) $(gxmatrix_h) $(gzstate_h) $(gzdevice_h) $(gzcolor_h) $(gzht_h) | |
199 | ||
200 | gxdraw.$(OBJ): gxdraw.c $(GX) \ | |
201 | $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzcolor_h) $(gzdevice_h) $(gzstate_h) | |
202 | ||
203 | gxfill.$(OBJ): gxfill.c $(GXERR) \ | |
204 | $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzcolor_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h) | |
205 | ||
206 | gxht.$(OBJ): gxht.c $(GXERR) \ | |
207 | $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h) | |
208 | ||
209 | gxpath.$(OBJ): gxpath.c $(GXERR) \ | |
210 | $(gxfixed_h) $(gzpath_h) | |
211 | ||
212 | gxpath2.$(OBJ): gxpath2.c $(GXERR) \ | |
213 | $(gxfixed_h) $(gxarith_h) $(gzpath_h) | |
214 | ||
215 | gxstroke.$(OBJ): gxstroke.c $(GXERR) \ | |
216 | $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzline_h) $(gzpath_h) | |
217 | ||
218 | ###### High-level facilities | |
219 | ||
220 | gschar.$(OBJ): gschar.c $(GXERR) \ | |
221 | $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gxcache_h) $(gstype1_h) $(gspath_h) $(gzpath_h) $(gzcolor_h) $(gzstate_h) | |
222 | ||
223 | gscolor.$(OBJ): gscolor.c $(GXERR) \ | |
224 | $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzstate_h) $(gzcolor_h) $(gzht_h) | |
225 | ||
226 | gscoord.$(OBJ): gscoord.c $(GXERR) \ | |
227 | $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gzstate_h) $(gscoord_h) | |
228 | ||
229 | gsdevice.$(OBJ): gsdevice.c $(GXERR) \ | |
230 | $(gsarith_h) $(gsprops_h) $(gsutil_h) $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gxdevmem_h) $(gzstate_h) $(gzdevice_h) | |
231 | ||
232 | gsfile.$(OBJ): gsfile.c $(GXERR) \ | |
233 | $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) | |
234 | ||
235 | gsfont.$(OBJ): gsfont.c $(GXERR) \ | |
236 | $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfdir_h) $(gzstate_h) | |
237 | ||
238 | gsimage.$(OBJ): gsimage.c $(GXERR) \ | |
239 | $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gspaint_h) $(gzcolor_h) $(gzdevice_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h) | |
240 | ||
241 | gsim2out.$(OBJ): gsim2out.c $(GXERR) \ | |
242 | $(gsstate_h) $(gsmatrix_h) $(gscoord_h) $(gxfixed_h) $(gxtype1_h) | |
243 | ||
244 | gsline.$(OBJ): gsline.c $(GXERR) \ | |
245 | $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzline_h) | |
246 | ||
247 | gsmatrix.$(OBJ): gsmatrix.c $(GXERR) \ | |
248 | $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) | |
249 | ||
250 | gsmisc.$(OBJ): gsmisc.c $(GX) $(MAKEFILE) | |
251 | $(CCC) -DUSE_ASM=0$(USE_ASM) gsmisc.c | |
252 | ||
253 | gspaint.$(OBJ): gspaint.c $(GXERR) \ | |
254 | $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzpath_h) $(gzstate_h) $(gzdevice_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h) | |
255 | ||
256 | gspath.$(OBJ): gspath.c $(GXERR) \ | |
257 | $(gxfixed_h) $(gxmatrix_h) $(gxpath_h) $(gzstate_h) | |
258 | ||
259 | gspath2.$(OBJ): gspath2.c $(GXERR) \ | |
260 | $(gspath_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzpath_h) $(gzdevice_h) | |
261 | ||
262 | gsstate.$(OBJ): gsstate.c $(GXERR) \ | |
263 | $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h) $(gzline_h) $(gzpath_h) | |
264 | ||
265 | gstdev.$(OBJ): gstdev.c $(GX) \ | |
266 | $(gxbitmap_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) | |
267 | ||
268 | gstype1.$(OBJ): gstype1.c $(GXERR) \ | |
269 | $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h) $(gxdevmem_h) $(gxop1_h) $(gxtype1_h) \ | |
270 | $(gzstate_h) $(gzdevice_h) $(gzpath_h) | |
271 | ||
272 | ###### The internal devices | |
273 | ||
274 | gdevmem_h=gdevmem.h | |
275 | ||
276 | gdevmem1.$(OBJ): gdevmem1.c $(AK) \ | |
277 | $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h) | |
278 | ||
279 | gdevmem2.$(OBJ): gdevmem2.c $(AK) \ | |
280 | $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h) | |
281 | ||
282 | gdevmem3.$(OBJ): gdevmem3.c $(AK) \ | |
283 | $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h) | |
284 | ||
285 | ###### Files dependent on the installed devices, features, and platform. | |
286 | ###### Generating gconfig.h also generates obj*.tr and lib.tr. | |
287 | ||
288 | gconfig.h obj.tr objw.tr lib.tr: devs.mak $(MAKEFILE) $(UNIQ) \ | |
289 | $(DEVICE_DEVS) $(DEVICE_DEVS2) $(DEVICE_DEVS3) $(DEVICE_DEVS4) $(DEVICE_DEVS5)\ | |
290 | $(FEATURE_DEVS) $(PLATFORM).dev | |
291 | $(SHP)gsconfig $(DEVICE_DEVS) + | |
292 | $(SHP)gsconfig + $(DEVICE_DEVS2) + | |
293 | $(SHP)gsconfig + $(DEVICE_DEVS3) + | |
294 | $(SHP)gsconfig + $(DEVICE_DEVS4) + | |
295 | $(SHP)gsconfig + $(DEVICE_DEVS5) + | |
296 | $(SHP)gsconfig + $(FEATURE_DEVS) $(PLATFORM).dev | |
297 | ||
298 | gconfig.$(OBJ): gconfig.c $(AK) gconfig.h $(MAKEFILE) | |
299 | $(CC0) -DGS_LIB_DEFAULT=$(QQ)$(GS_LIB_DEFAULT)$(QQ) -DGS_INIT=$(QQ)$(GS_INIT)$(QQ) gconfig.c | |
300 | ||
301 | ###### On Unix, we pre-link all of the library except the back end. | |
302 | ###### On MS-DOS, we have to do the whole thing at once. | |
303 | ||
304 | LIB=gschar.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) \ | |
305 | gsdevice.$(OBJ) gsfile.$(OBJ) gsfont.$(OBJ) \ | |
306 | gsimage.$(OBJ) gsim2out.$(OBJ) \ | |
307 | gsline.$(OBJ) gsmatrix.$(OBJ) gsmisc.$(OBJ) \ | |
308 | gspaint.$(OBJ) gspath.$(OBJ) gspath2.$(OBJ) \ | |
309 | gsstate.$(OBJ) gstdev.$(OBJ) gstype1.$(OBJ) gsutil.$(OBJ) \ | |
310 | gxcache.$(OBJ) gxclist.$(OBJ) gxcolor.$(OBJ) gxcpath.$(OBJ) \ | |
311 | gxdither.$(OBJ) gxdraw.$(OBJ) gxfill.$(OBJ) \ | |
312 | gxht.$(OBJ) gxpath.$(OBJ) gxpath2.$(OBJ) gxstroke.$(OBJ) \ | |
313 | gdevmem1.$(OBJ) gdevmem2.$(OBJ) gdevmem3.$(OBJ) gconfig.$(OBJ) | |
314 | ||
315 | # ------------------------------ Interpreter ------------------------------ # | |
316 | ||
317 | ###### Include files | |
318 | ||
319 | alloc_h=alloc.h | |
320 | astate_h=astate.h | |
321 | ccfont_h=ccfont.h | |
322 | dict_h=dict.h | |
323 | dstack_h=dstack.h | |
324 | errors_h=errors.h | |
325 | estack_h=estack.h | |
326 | file_h=file.h | |
327 | font_h=font.h | |
328 | ghost_h=ghost.h $(gx_h) | |
329 | gp_h=gp.h | |
330 | iutil_h=iutil.h | |
331 | name_h=name.h | |
332 | opdef_h=opdef.h | |
333 | ostack_h=ostack.h | |
334 | overlay_h=overlay.h | |
335 | packed_h=packed.h | |
336 | save_h=save.h | |
337 | scanchar_h=scanchar.h | |
338 | state_h=state.h | |
339 | store_h=store.h | |
340 | stream_h=stream.h | |
341 | # Nested include files | |
342 | oper_h=oper.h $(gsutil_h) $(iutil_h) $(opdef_h) $(ostack_h) | |
343 | # Include files for optional features | |
344 | bnum_h=bnum.h | |
345 | bseq_h=bseq.h | |
346 | btoken_h=btoken.h | |
347 | ||
348 | comp1_h=comp1.h $(ghost_h) $(oper_h) $(gserrors_h) $(gxfixed_h) $(gxop1_h) | |
349 | ||
350 | gdevpccm_h=gdevpccm.h | |
351 | gdevpcl_h=gdevpcl.h | |
352 | gdevprn_h=gdevprn.h $(memory__h) $(string__h) $(gs_h) \ | |
353 | $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) $(gxclist_h) | |
354 | gdevx_h=gdevx.h | |
355 | ||
356 | ###### Utilities | |
357 | ||
358 | GH=$(AK) $(ghost_h) | |
359 | ||
360 | ialloc.$(OBJ): ialloc.c $(AK) $(gs_h) $(alloc_h) $(astate_h) | |
361 | ||
362 | iccfont.$(OBJ): iccfont.c $(GH) \ | |
363 | $(ghost_h) $(alloc_h) $(ccfont_h) $(dict_h) $(dstack_h) $(errors_h) $(name_h) $(save_h) $(store_h) | |
364 | ||
365 | idebug.$(OBJ): idebug.c $(GH) \ | |
366 | $(iutil_h) $(dict_h) $(name_h) $(ostack_h) $(opdef_h) $(packed_h) $(store_h) | |
367 | ||
368 | idict.$(OBJ): idict.c $(GH) $(alloc_h) $(errors_h) $(name_h) $(packed_h) $(save_h) $(store_h) $(iutil_h) $(dict_h) $(dstack_h) | |
369 | ||
370 | iinit.$(OBJ): iinit.c $(GH) gconfig.h $(alloc_h) $(dict_h) $(dstack_h) $(errors_h) $(name_h) $(oper_h) $(store_h) | |
371 | ||
372 | iname.$(OBJ): iname.c $(GH) $(alloc_h) $(errors_h) $(name_h) $(store_h) | |
373 | ||
374 | isave.$(OBJ): isave.c $(GH) $(alloc_h) $(astate_h) $(name_h) $(packed_h) $(save_h) $(store_h) | |
375 | ||
376 | iscan.$(OBJ): iscan.c $(GH) $(alloc_h) $(dict_h) $(dstack_h) $(errors_h) $(iutil_h) \ | |
377 | $(name_h) $(ostack_h) $(packed_h) $(store_h) $(stream_h) $(scanchar_h) | |
378 | ||
379 | iutil.$(OBJ): iutil.c $(GH) \ | |
380 | $(errors_h) $(alloc_h) $(dict_h) $(iutil_h) $(name_h) $(ostack_h) $(opdef_h) $(store_h) \ | |
381 | $(gsmatrix_h) $(gxdevice_h) $(gzcolor_h) | |
382 | ||
383 | sfilter.$(OBJ): sfilter.c $(AK) $(std_h) $(scanchar_h) $(stream_h) \ | |
384 | $(gxfixed_h) $(gstype1_h) | |
385 | ||
386 | stream.$(OBJ): stream.c $(AK) $(std_h) $(stream_h) $(scanchar_h) | |
387 | ||
388 | ###### Operators | |
389 | ||
390 | OP=$(GH) $(errors_h) $(oper_h) | |
391 | ||
392 | ### Non-graphics operators | |
393 | ||
394 | zarith.$(OBJ): zarith.c $(OP) $(store_h) | |
395 | ||
396 | zarray.$(OBJ): zarray.c $(OP) $(alloc_h) $(packed_h) $(store_h) | |
397 | ||
398 | zcontrol.$(OBJ): zcontrol.c $(OP) $(estack_h) $(iutil_h) $(store_h) | |
399 | ||
400 | zdict.$(OBJ): zdict.c $(OP) $(dict_h) $(dstack_h) $(store_h) | |
401 | ||
402 | zfile.$(OBJ): zfile.c $(OP) $(gp_h) \ | |
403 | $(alloc_h) $(estack_h) $(file_h) $(iutil_h) $(save_h) $(stream_h) $(store_h) | |
404 | ||
405 | zfileio.$(OBJ): zfileio.c $(OP) $(gp_h) \ | |
406 | $(estack_h) $(file_h) $(store_h) $(stream_h) \ | |
407 | $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) | |
408 | ||
409 | zfilter.$(OBJ): zfilter.c $(OP) $(alloc_h) $(stream_h) | |
410 | ||
411 | zgeneric.$(OBJ): zgeneric.c $(OP) $(dict_h) $(estack_h) $(name_h) $(packed_h) $(store_h) | |
412 | ||
413 | zmath.$(OBJ): zmath.c $(OP) $(store_h) | |
414 | ||
415 | zmisc.$(OBJ): zmisc.c $(OP) $(gp_h) \ | |
416 | $(alloc_h) $(dict_h) $(dstack_h) $(name_h) $(packed_h) $(store_h) \ | |
417 | $(gstype1_h) $(gxfixed_h) | |
418 | ||
419 | zpacked.$(OBJ): zpacked.c $(OP) \ | |
420 | $(alloc_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(store_h) | |
421 | ||
422 | zprops.$(OBJ): zprops.c $(OP) \ | |
423 | $(alloc_h) $(dict_h) $(name_h) $(store_h) \ | |
424 | $(gsprops_h) $(gsmatrix_h) $(gxdevice_h) | |
425 | ||
426 | zrelbit.$(OBJ): zrelbit.c $(OP) $(store_h) $(dict_h) | |
427 | ||
428 | zstack.$(OBJ): zstack.c $(OP) $(store_h) | |
429 | ||
430 | zstring.$(OBJ): zstring.c $(OP) $(alloc_h) $(iutil_h) $(name_h) $(store_h) $(stream_h) | |
431 | ||
432 | ztype.$(OBJ): ztype.c $(OP) $(dict_h) $(iutil_h) $(name_h) $(stream_h) $(store_h) | |
433 | ||
434 | zvmem.$(OBJ): zvmem.c $(OP) $(alloc_h) $(dict_h) $(dstack_h) $(estack_h) $(save_h) $(state_h) $(store_h) \ | |
435 | $(gsmatrix_h) $(gsstate_h) | |
436 | ||
437 | ###### Graphics operators | |
438 | ||
439 | zchar.$(OBJ): zchar.c $(OP) $(gxmatrix_h) $(gschar_h) $(gstype1_h) $(gxdevice_h) $(gxfixed_h) $(gxfont_h) $(gzpath_h) $(gzstate_h) $(alloc_h) $(dict_h) $(dstack_h) $(font_h) $(estack_h) $(state_h) $(store_h) | |
440 | ||
441 | zcolor.$(OBJ): zcolor.c $(OP) $(alloc_h) $(estack_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gxdevice_h) $(gzcolor_h) $(iutil_h) $(state_h) $(store_h) | |
442 | ||
443 | zdevice.$(OBJ): zdevice.c $(OP) $(alloc_h) $(state_h) $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(store_h) | |
444 | ||
445 | zfont.$(OBJ): zfont.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) $(gxfdir_h) \ | |
446 | $(alloc_h) $(font_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(state_h) $(store_h) | |
447 | ||
448 | zfont1.$(OBJ): zfont1.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \ | |
449 | $(dict_h) $(font_h) $(name_h) $(store_h) | |
450 | ||
451 | zfont2.$(OBJ): zfont2.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \ | |
452 | $(alloc_h) $(dict_h) $(font_h) $(name_h) $(packed_h) $(store_h) | |
453 | ||
454 | zgstate.$(OBJ): zgstate.c $(OP) $(alloc_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h) | |
455 | ||
456 | zht.$(OBJ): zht.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h) | |
457 | ||
458 | zmatrix.$(OBJ): zmatrix.c $(OP) $(gsmatrix_h) $(state_h) $(gscoord_h) $(store_h) | |
459 | ||
460 | zpaint.$(OBJ): zpaint.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gspaint_h) $(state_h) $(store_h) | |
461 | ||
462 | zpath.$(OBJ): zpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h) | |
463 | ||
464 | zpath2.$(OBJ): zpath2.c $(OP) $(alloc_h) $(estack_h) $(gspath_h) $(state_h) $(store_h) | |
465 | ||
466 | ###### Linking | |
467 | ||
468 | INT=ialloc.$(OBJ) idebug.$(OBJ) idict.$(OBJ) iinit.$(OBJ) iname.$(OBJ) \ | |
469 | interp.$(OBJ) isave.$(OBJ) iscan.$(OBJ) iutil.$(OBJ) \ | |
470 | sfilter.$(OBJ) stream.$(OBJ) \ | |
471 | zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ) \ | |
472 | zfile.$(OBJ) zfileio.$(OBJ) zfilter.$(OBJ) zgeneric.$(OBJ) \ | |
473 | zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ) zprops.$(OBJ) zrelbit.$(OBJ) \ | |
474 | zstack.$(OBJ) zstring.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ) \ | |
475 | zchar.$(OBJ) zcolor.$(OBJ) zfont.$(OBJ) zfont1.$(OBJ) zfont2.$(OBJ) \ | |
476 | zdevice.$(OBJ) zgstate.$(OBJ) zht.$(OBJ) zmatrix.$(OBJ) \ | |
477 | zpaint.$(OBJ) zpath.$(OBJ) zpath2.$(OBJ) | |
478 | ||
479 | # -------------------------- Optional features ---------------------------- # | |
480 | ||
481 | ### Additions common to Display PostScript and Level 2 | |
482 | ||
483 | dpsand2_=gsdps1.$(OBJ) ibnum.$(OBJ) ibscan.$(OBJ) \ | |
484 | zbseq.$(OBJ) zdps1.$(OBJ) zupath.$(OBJ) | |
485 | dpsand2.dev: $(dpsand2_) | |
486 | $(SHP)gssetmod dpsand2 $(dpsand2_) | |
487 | $(SHP)gsaddmod dpsand2 -oper zbseq zdps1 zupath | |
488 | $(SHP)gsaddmod dpsand2 -ps gs_dps1 | |
489 | ||
490 | gsdps1.$(OBJ): gsdps1.c $(GXERR) $(gsmatrix_h) $(gspath_h) | |
491 | ||
492 | ibnum.$(OBJ): ibnum.c $(GH) $(errors_h) $(stream_h) $(bnum_h) $(btoken_h) | |
493 | ||
494 | ibscan.$(OBJ): ibscan.c $(GH) $(errors_h) \ | |
495 | $(alloc_h) $(dict_h) $(dstack_h) $(iutil_h) $(name_h) $(ostack_h) $(save_h) $(store_h) $(stream_h) $(bseq_h) $(btoken_h) $(bnum_h) | |
496 | ||
497 | zbseq.$(OBJ): zbseq.c $(OP) $(save_h) $(store_h) $(stream_h) $(file_h) $(name_h) $(bnum_h) $(btoken_h) $(bseq_h) | |
498 | ||
499 | zdps1.$(OBJ): zdps1.c $(OP) $(gsmatrix_h) $(gspath_h) $(gsstate_h) \ | |
500 | $(state_h) $(store_h) $(stream_h) $(bnum_h) | |
501 | ||
502 | zupath.$(OBJ): zupath.c $(OP) \ | |
503 | $(dict_h) $(dstack_h) $(iutil_h) $(state_h) $(store_h) $(stream_h) $(bnum_h) \ | |
504 | $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h) \ | |
505 | $(gxfixed_h) $(gxdevice_h) $(gxpath_h) | |
506 | ||
507 | ### Display PostScript | |
508 | ||
509 | # We should include zcontext, but it isn't in good enough shape yet. | |
510 | dps_= | |
511 | dps.dev: dpsand2.dev $(dps_) | |
512 | $(SHP)gssetmod dps $(dps_) | |
513 | $(SHP)gsaddmod dps -include dpsand2 | |
514 | ||
515 | zcontext.$(OBJ): zcontext.c $(OP) \ | |
516 | $(alloc_h) $(dict_h) $(estack_h) $(state_h) $(store_h) | |
517 | ||
518 | ### Level 2 additions -- currently just things common to DPS and Level 2. | |
519 | # Should also include | |
520 | # $(SHP)gsaddmod level2 -ps gs_lev2 | |
521 | ||
522 | level2_= | |
523 | level2.dev: dpsand2.dev $(level2_) | |
524 | $(SHP)gssetmod level2 $(level2_) | |
525 | $(SHP)gsaddmod level2 -include dpsand2 | |
526 | ||
527 | ### Composite font support | |
528 | ||
529 | gschar0.$(OBJ): gschar0.c $(GXERR) \ | |
530 | $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h) | |
531 | ||
532 | zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \ | |
533 | $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h) | |
534 | ||
535 | compfont_=zfont0.$(OBJ) gschar0.$(OBJ) | |
536 | compfont.dev: $(compfont_) | |
537 | $(SHP)gssetmod compfont $(compfont_) | |
538 | $(SHP)gsaddmod compfont -oper zfont0 | |
539 | ||
540 | ### Filters other than eexec and ASCIIHex | |
541 | ||
542 | sfilter2.$(OBJ): sfilter2.c $(AK) $(std_h) $(scanchar_h) $(stream_h) | |
543 | ||
544 | zfilter2.$(OBJ): zfilter2.c $(OP) $(alloc_h) $(stream_h) | |
545 | ||
546 | filter_=zfilter2.$(OBJ) sfilter2.$(OBJ) | |
547 | filter.dev: $(filter_) | |
548 | $(SHP)gssetmod filter $(filter_) | |
549 | $(SHP)gsaddmod filter -oper zfilter2 | |
550 | ||
551 | ### LZW encoding/decoding | |
552 | ### Not included, because Unisys has been awarded a legal monopoly | |
553 | ### (patent) on the right to implement the freely published algorithms. | |
554 | ||
555 | lzw_=zlzwd.$(OBJ) zlzwe.$(OBJ) slzwd.$(OBJ) slzwe.$(OBJ) | |
556 | lzw.dev: $(lzw_) | |
557 | $(SHP)gssetmod lzw $(lzw_) | |
558 | $(SHP)gsaddmod lzw -oper zlzwd zlzwe | |
559 | ||
560 | slzwd.$(OBJ): slzwd.c $(AK) std.h stream.h | |
561 | ||
562 | slzwe.$(OBJ): slzwe.c $(AK) std.h stream.h | |
563 | ||
564 | zlzwd.$(OBJ): zlzwd.c $(OP) $(alloc_h) $(stream_h) | |
565 | ||
566 | zlzwe.$(OBJ): zlzwe.c $(OP) $(alloc_h) $(stream_h) | |
567 | ||
568 | ### Precompiled fonts. See fonts.doc for more information. | |
569 | ||
570 | CCFONT=$(OP) $(ccfont_h) | |
571 | ||
572 | ccfonts_=ugly.$(OBJ) cour.$(OBJ) | |
573 | ccfonts.dev: $(ccfonts_) iccfont.$(OBJ) | |
574 | $(SHP)gssetmod ccfonts $(ccfonts_) iccfont.$(OBJ) | |
575 | $(SHP)gsaddmod ccfonts -oper font_Ugly font_Courier | |
576 | ||
577 | ugly.$(OBJ): ugly.c $(CCFONT) | |
578 | ||
579 | cour.$(OBJ): cour.c $(CCFONT) | |
580 | ||
581 | psyr.$(OBJ): psyr.c $(CCFONT) | |
582 | ||
583 | pzdr.$(OBJ): pzdr.c $(CCFONT) | |
584 | ||
585 | # ----------------------------- Main program ------------------------------ # | |
586 | ||
587 | # Utilities shared between platforms | |
588 | ||
589 | gsmain.$(OBJ): gsmain.c $(GX) \ | |
590 | $(gp_h) $(gsmatrix_h) $(gxdevice_h) | |
591 | ||
592 | # Interpreter main program | |
593 | ||
594 | interp.$(OBJ): interp.c $(GH) \ | |
595 | $(errors_h) $(estack_h) $(name_h) $(dict_h) $(dstack_h) $(oper_h) $(ostack_h) $(packed_h) $(save_h) $(store_h) $(stream_h) | |
596 | $(CCINT) interp.c | |
597 | ||
598 | gs.$(OBJ): gs.c $(GH) $(alloc_h) $(estack_h) $(ostack_h) $(store_h) $(stream_h) |