home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / g / gs252src.zip / GS252 / UNIX-ANS.MAK < prev    next >
Makefile  |  1992-09-21  |  55KB  |  1,624 lines

  1. #    Copyright (C) 1989, 1990, 1991 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. # makefile for Ghostscript, Unix/ANSI C/X11 configuration.
  21.  
  22. # ------------------------------- Options ------------------------------- #
  23.  
  24. ####### The following are the only parts of the file you should need to edit.
  25.  
  26. # ------ Generic options ------ #
  27.  
  28. # Define the installation commands and target directories for
  29. # executables and files.  Only relevant to `make install'.
  30.  
  31. INSTALL = install -c
  32. INSTALL_PROGRAM = $(INSTALL) -m 775
  33. INSTALL_DATA = $(INSTALL) -m 664
  34.  
  35. prefix = /usr/local
  36. exec_prefix = $(prefix)
  37. bindir = $(exec_prefix)/bin
  38. datadir = $(prefix)/lib
  39. gsdatadir = $(datadir)/ghostscript
  40.  
  41. # Define the default directory/ies for the runtime
  42. # initialization and font files.  Separate multiple directories with a :.
  43.  
  44. GS_LIB_DEFAULT=$(gsdatadir):$(gsdatadir)/fonts
  45.  
  46. # Define the name of the Ghostscript initialization file.
  47. # (There is no reason to change this.)
  48.  
  49. GS_INIT=gs_init.ps
  50.  
  51. # Choose generic configuration options.
  52.  
  53. # -DDEBUG
  54. #    includes debugging features (-Z switch) in the code.
  55. #      Code runs substantially slower even if no debugging switches
  56. #      are set.
  57. # -DNOPRIVATE
  58. #    makes private (static) procedures and variables public,
  59. #      so they are visible to the debugger and profiler.
  60. #      No execution time or space penalty.
  61.  
  62. GENOPT=
  63.  
  64. # ------ Platform-specific options ------ #
  65.  
  66. # Define the name of the C compiler.  If the standard compiler for your
  67. # platform is ANSI-compatible, leave this line commented out; if not,
  68. # uncomment the line and insert the proper definition.
  69.  
  70. #CC=some_C_compiler
  71.  
  72. # Define the other compilation flags.
  73. # Add -DBSD4_2 for 4.2bsd systems.
  74. # Add -DSYSV for System V or DG/UX.
  75. # Add -DSVR4 (not -DSYSV) for System V release 4.
  76. # The HP 400 seems to want -Aa -w -D_HPUX_SOURCE.
  77. # XCFLAGS can be set from the command line.
  78.  
  79. CFLAGS=-O $(XCFLAGS)
  80.  
  81. # Define platform flags for ld.
  82. # SunOS and some others want -X; Ultrix wants -x.
  83. # SunOS 4.n may need -Bstatic.
  84. # Apollos running DomainOS don't support -X (and -x has no effect).
  85. # XLDFLAGS can be set from the command line.
  86.  
  87. LDFLAGS=$(XLDFLAGS)
  88.  
  89. # Define any extra libraries to link into the executable.
  90. # (Libraries required by individual drivers are handled automatically.)
  91.  
  92. EXTRALIBS=
  93.  
  94. # Define the include switch(es) for the X11 header files.
  95. # This can be null if handled in some other way (e.g., the files are
  96. # in /usr/include, or the directory is supplied by an environment variable).
  97. # Note that x_.h expects to find the header files in $(XINCLUDE)/X11,
  98. # not in $(XINCLUDE).
  99.  
  100. XINCLUDE=-I/usr/local/X/include
  101.  
  102. # Define the directory/ies for the X11 library files.
  103. # This can be null if these files are in the default linker search path.
  104.  
  105. XLIBDIRS=-L/usr/local/X/lib
  106.  
  107. # ------ Devices and features ------ #
  108.  
  109. # Choose the language feature(s) to include.  See gs.mak for details.
  110.  
  111. FEATURE_DEVS=filter.dev
  112.  
  113. # Choose the device(s) to include.  See devs.mak for details.
  114.  
  115. DEVICE_DEVS=x11.dev
  116.  
  117. # ---------------------------- End of options --------------------------- #
  118.  
  119. # Define the name of the makefile -- used in dependencies.
  120.  
  121. MAKEFILE=unix-ansi.mak
  122.  
  123. # Define the ANSI-to-K&R dependency (none for ANSI compilers).
  124.  
  125. AK=
  126.  
  127. # Define the compilation rules and flags.
  128.  
  129. CCC=$(CC) $(CCFLAGS) -c
  130.  
  131. # --------------------------- Generic makefile ---------------------------- #
  132.  
  133. # The remainder of the makefile (unixhead.mak, gs.mak, devs.mak, unixtail.mak)
  134. # is generic.  tar_cat concatenates all these together.
  135. #    Copyright (C) 1990, 1991 Aladdin Enterprises.  All rights reserved.
  136. #    Distributed by Free Software Foundation, Inc.
  137. #
  138. # This file is part of Ghostscript.
  139. #
  140. # Ghostscript is distributed in the hope that it will be useful, but
  141. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  142. # to anyone for the consequences of using it or for whether it serves any
  143. # particular purpose or works at all, unless he says so in writing.  Refer
  144. # to the Ghostscript General Public License for full details.
  145. #
  146. # Everyone is granted permission to copy, modify and redistribute
  147. # Ghostscript, but only under the conditions described in the Ghostscript
  148. # General Public License.  A copy of this license is supposed to have been
  149. # given to you along with Ghostscript so you can know your rights and
  150. # responsibilities.  It should be in a file named COPYING.  Among other
  151. # things, the copyright notice and this notice must be preserved on all
  152. # copies.
  153.  
  154. # Partial makefile for Ghostscript, common to all Unix configurations.
  155.  
  156. # This part of the makefile gets inserted after the compiler-specific part
  157. # (xxx-head.mak) and before gs.mak and devs.mak.
  158.  
  159. # ----------------------------- Generic stuff ----------------------------- #
  160.  
  161. # Define the platform name.  For a "stock" System V platform,
  162. # use sysv_ instead of unix_.
  163.  
  164. PLATFORM=unix_
  165.  
  166. # Define the extensions for the object and executable files.
  167.  
  168. OBJ=o
  169. XE=
  170.  
  171. # Define the need for uniq.
  172.  
  173. UNIQ=
  174.  
  175. # Define the current directory prefix, shell quote string, and shell names.
  176.  
  177. EXP=./
  178. QQ=\"
  179. SHELL=/bin/sh
  180. SH=$(SHELL)
  181. SHP=$(SH) $(EXP)
  182.  
  183. # Define the compilation rules and flags.
  184.  
  185. CCFLAGS=$(GENOPT) $(CFLAGS)
  186.  
  187. .c.o: $(AK)
  188.     $(CCC) $*.c
  189.  
  190. CC0=$(CCC)
  191. CCCF=$(CCC)
  192. CCD=$(CCC)
  193. CCINT=$(CCC)
  194. #    Copyright (C) 1989, 1992 Aladdin Enterprises.  All rights reserved.
  195. #    Distributed by Free Software Foundation, Inc.
  196. #
  197. # This file is part of Ghostscript.
  198. #
  199. # Ghostscript is distributed in the hope that it will be useful, but
  200. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  201. # to anyone for the consequences of using it or for whether it serves any
  202. # particular purpose or works at all, unless he says so in writing.  Refer
  203. # to the Ghostscript General Public License for full details.
  204. #
  205. # Everyone is granted permission to copy, modify and redistribute
  206. # Ghostscript, but only under the conditions described in the Ghostscript
  207. # General Public License.  A copy of this license is supposed to have been
  208. # given to you along with Ghostscript so you can know your rights and
  209. # responsibilities.  It should be in a file named COPYING.  Among other
  210. # things, the copyright notice and this notice must be preserved on all
  211. # copies.
  212.  
  213. # Generic makefile for Ghostscript.
  214. # The platform-specific makefiles `include' this file.
  215. # They define the following symbols:
  216. #    GS_INIT - the name of the initialization file for Ghostscript,
  217. #        normally gs_init.ps.
  218. #    GS_LIB_DEFAULT - the default directory/ies for searching for the
  219. #        initialization and font files at run time.
  220. #    DEVICE_DEVS - the devices to include in the executable.
  221. #        See devs.mak for details.
  222. #    DEVICE_DEVS2...DEVICE_DEVS5 - additional devices, if the definition of
  223. #        DEVICE_DEVS doesn't fit on one line.
  224. #        See devs.mak for details.
  225. #    FEATURE_DEVS - the optional features to include in the
  226. #        executable.  Current features are:
  227. #            dps - (partial) support for Display PostScript extensions:
  228. #            see language.doc for details.
  229. #            level2 - (partial) support for PostScript Level 2
  230. #            extensions: see language.doc for details.
  231. #            compfont - support for composite (type 0) fonts.
  232. #            *** NOT IMPLEMENTED YET. ***
  233. #            filter - support for Level 2 filters (other than eexec,
  234. #            ASCIIHexEncode/Decode, NullEncode, PFBDecode,
  235. #            and SubFileDecode, which are always included).
  236. #            ccfonts - precompile fonts into C, and link them
  237. #            with the executable.  In the standard makefiles,
  238. #            this is only implemented for a very few fonts:
  239. #            see fonts.doc for details.
  240. # It is very unlikely that anyone would want to edit the remaining
  241. #   symbols, but we describe them here for completeness:
  242. #    PLATFORM - a "device" name for the platform, so that platforms can
  243. #        add various kinds of resources like devices and features.
  244. #    QQ - a " preceded by whatever escape characters are needed to
  245. #        persuade the shell to pass a " to a program (" on MS-DOS,
  246. #        \" on Unix).
  247. #    XE - the extension for executable files (e.g., null or .exe).
  248. #    OBJ - the extension for relocatable object files (e.g., o or obj).
  249. #    BEGINFILES - the list of files that `make begin' should delete.
  250. #    CCBEGIN - the compilation command for `make begin', normally
  251. #        $(CCC) *.c.
  252. #    CCC - the C invocation for normal compilation.
  253. #    CCD - the C invocation for files that store into frame buffers or
  254. #        device registers.  Needed because some optimizing compilers
  255. #        will eliminate necessary stores.
  256. #    CC0 - a C invocation with the fewest possible flags.  Needed because
  257. #        MS-DOS limits the length of command lines to 128 characters.
  258. #    CCCF - the C invocation for compiled fonts.  Needed because MS-DOS
  259. #        requires using the 'huge' memory model for these.
  260. #    CCINT - the C invocation for compiling the main interpreter module,
  261. #        normally the same as CCC: this is needed because the
  262. #        Borland compiler generates *worse* code for this module
  263. #        (but only this module) when optimization (-O) is turned on.
  264. #    AK - if source files must be converted from ANSI to K&R syntax,
  265. #        this is ansi2knr$(XE); if not, it is null.
  266. #        If a particular platform requires other utility programs
  267. #        to be built, AK must include them too.
  268. #    UNIQ - null on systems that provide the uniq utility,
  269. #        uniq$(XE) on systems where we have to provide our own.
  270. #    SHP - the prefix for invoking a shell script in the current directory
  271. #        (null for MS-DOS, $(SH) ./ for Unix).
  272. #    EXPP, EXP - the prefix for invoking an executable program in the
  273. #        current directory (null for MS-DOS, ./ for Unix).
  274. #    SH - the shell for scripts (null on MS-DOS, sh on Unix).
  275. # The platform-specific makefiles must also include rules for creating
  276. #   ansi2knr$(XE) and genarch$(XE) from the corresponding .c files,
  277. #   and for making arch.h by executing genarch$(XE).  (This
  278. #   shouldn't really be necessary, but Turbo C and Unix C treat the -o
  279. #   switch slightly differently (Turbo C requires no following space,
  280. #   Unix C requires a following space), and I haven't found a way to capture
  281. #   the difference in a macro; also, Unix requires ./ because . may not be
  282. #   in the search path, whereas MS-DOS always looks in the current
  283. #   directory first.)
  284.  
  285. all default: gs$(XE)
  286.  
  287. mostlyclean realclean distclean clean:
  288.     rm -f *.$(OBJ) *.a core gmon.out
  289.     rm -f *.dev *.d_* arch.h gconfig*.h obj*.tr lib*.tr
  290.     rm -f t _temp_* _temp_*.* *.map *.sym
  291.     rm -f ansi2knr$(XE) echogs$(XE) genarch$(XE) uniq$(XE)
  292.     rm -f gs$(XE) $(BEGINFILES)
  293.  
  294. # A rule to do a quick and dirty compilation attempt when first installing
  295. # Ghostscript.  Many of the compilations will fail: follow this with 'make'.
  296.  
  297. begin:
  298.     rm -f arch.h genarch$(XE) $(BEGINFILES)
  299.     make arch.h
  300.     - $(CCBEGIN)
  301.     rm -f gconfig.$(OBJ) gdev*.$(OBJ) gp_*.$(OBJ) gsmisc.$(OBJ)
  302.     rm -f iccfont.$(OBJ) iinit.$(OBJ) interp.$(OBJ)
  303.  
  304. # Auxiliary programs
  305.  
  306. arch.h: genarch$(XE)
  307.     $(EXPP) $(EXP)genarch arch.h
  308.  
  309. # -------------------------------- Library -------------------------------- #
  310.  
  311. # Define the inter-dependencies of the .h files.
  312. # Since not all versions of `make' defer expansion of macros,
  313. # we must list these in bottom-to-top order.
  314.  
  315. # Generic files
  316.  
  317. arch_h=arch.h
  318. std_h=std.h $(arch_h)
  319.  
  320. # Platform interfaces
  321.  
  322. gp_h=gp.h
  323. gpcheck_h=gpcheck.h
  324.  
  325. # C library interfaces
  326.  
  327. # Because of variations in the "standard" header files between systems,
  328. # we define local include files named *_.h to substitute for <*.h>.
  329.  
  330. vmsmath_h=vmsmath.h
  331.  
  332. dos__h=dos_.h
  333. malloc__h=malloc_.h $(std_h)
  334. math__h=math_.h $(std_h) $(vmsmath_h)
  335. memory__h=memory_.h $(std_h)
  336. stat__h=stat_.h $(std_h)
  337. stdio__h=stdio_.h $(std_h)
  338. string__h=string_.h $(std_h)
  339. time__h=time_.h $(std_h)
  340.  
  341. # Miscellaneous
  342.  
  343. gdebug_h=gdebug.h
  344. gs_h=gs.h $(stdio__h)
  345. gx_h=gx.h $(gs_h) $(gdebug_h)
  346. gserrors_h=gserrors.h
  347.  
  348. GX=$(AK) $(gx_h)
  349. GXERR=$(GX) $(gserrors_h)
  350.  
  351. ###### Low-level facilities and utilities
  352.  
  353. ### Include files
  354.  
  355. gschar_h=gschar.h
  356. gscie_h=gscie.h
  357. gscolor_h=gscolor.h
  358. gscolor2_h=gscolor2.h
  359. gscoord_h=gscoord.h
  360. gscrypt1_h=gscrypt1.h
  361. gscspace_h=gscspace.h
  362. gsfont_h=gsfont.h
  363. gsmatrix_h=gsmatrix.h
  364. gspaint_h=gspaint.h
  365. gspath_h=gspath.h
  366. gsprops_h=gsprops.h
  367. gsstate_h=gsstate.h $(gscolor_h)
  368. gstype1_h=gstype1.h
  369. gsuid_h=gsuid.h
  370. gsutil_h=gsutil.h
  371.  
  372. gxarith_h=gxarith.h
  373. gxbitmap_h=gxbitmap.h
  374. gxcache_h=gxcache.h
  375. gxchar_h=gxchar.h $(gschar_h)
  376. gxclist_h=gxclist.h
  377. gxcpath_h=gxcpath.h
  378. gxdevice_h=gxdevice.h $(gsmatrix_h) $(gxbitmap_h)
  379. gxdevmem_h=gxdevmem.h
  380. gxfdir_h=gxfdir.h
  381. gxfixed_h=gxfixed.h
  382. gxfont_h=gxfont.h $(gsfont_h)
  383. gximage_h=gximage.h
  384. gxlum_h=gxlum.h
  385. gxmatrix_h=gxmatrix.h $(gsmatrix_h)
  386. gxop1_h=gxop1.h
  387. gxpath_h=gxpath.h
  388. gxtype1_h=gxtype1.h $(gscrypt1_h) $(gstype1_h)
  389.  
  390. gzcolor_h=gzcolor.h $(gscolor_h)
  391. gzdevice_h=gzdevice.h $(gxdevice_h)
  392. gzht_h=gzht.h
  393. gzline_h=gzline.h
  394. gzpath_h=gzpath.h $(gxpath_h)
  395. gzstate_h=gzstate.h $(gsstate_h)
  396.  
  397. ### Executable code
  398.  
  399. gsutil.$(OBJ): gsutil.c $(AK) \
  400.   $(std_h) $(gsprops_h) $(gsutil_h)
  401.  
  402. gxcache.$(OBJ): gxcache.c $(GXERR) $(gpcheck_h) \
  403.   $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzdevice_h) $(gzcolor_h) \
  404.   $(gxcpath_h) $(gxdevmem_h) $(gxfont_h) $(gxfdir_h) $(gxchar_h) \
  405.   $(gxcache_h) $(gzstate_h) $(gzpath_h)
  406.  
  407. gxclist.$(OBJ): gxclist.c $(GXERR) \
  408.   $(gsmatrix_h) $(gxbitmap_h) $(gxclist_h) $(gxdevice_h) $(gxdevmem_h)
  409.  
  410. gxcolor.$(OBJ): gxcolor.c $(GXERR) \
  411.   $(gscspace_h) $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gxlum_h) \
  412.   $(gzcolor_h) $(gzht_h) $(gzstate_h)
  413.  
  414. gxcpath.$(OBJ): gxcpath.c $(GXERR) \
  415.   $(gxdevice_h) $(gxfixed_h) $(gzcolor_h) $(gzpath_h) $(gxcpath_h)
  416.  
  417. gxdither.$(OBJ): gxdither.c $(GX) \
  418.   $(gxfixed_h) $(gxlum_h) $(gxmatrix_h) $(gzstate_h) $(gzdevice_h) $(gzcolor_h) $(gzht_h)
  419.  
  420. gxdraw.$(OBJ): gxdraw.c $(GX) $(gpcheck_h) \
  421.   $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzcolor_h) $(gzdevice_h) $(gzstate_h)
  422.  
  423. gxfill.$(OBJ): gxfill.c $(GXERR) \
  424.   $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzcolor_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h)
  425.  
  426. gxhint1.$(OBJ): gxhint1.c $(GXERR) \
  427.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxdevmem_h) $(gxchar_h) $(gxfont_h) $(gxtype1_h) $(gxop1_h) \
  428.   $(gzdevice_h) $(gzstate_h)
  429.  
  430. gxht.$(OBJ): gxht.c $(GXERR) \
  431.   $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h)
  432.  
  433. gxpath.$(OBJ): gxpath.c $(GXERR) \
  434.   $(gxfixed_h) $(gzpath_h)
  435.  
  436. gxpath2.$(OBJ): gxpath2.c $(GXERR) \
  437.   $(gxfixed_h) $(gxarith_h) $(gzpath_h)
  438.  
  439. gxpcopy.$(OBJ): gxpcopy.c $(GXERR) \
  440.   $(gxfixed_h) $(gxarith_h) $(gzpath_h)
  441.  
  442. gxstroke.$(OBJ): gxstroke.c $(GXERR) $(gpcheck_h) \
  443.   $(gscoord_h) $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) \
  444.   $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzline_h) $(gzpath_h)
  445.  
  446. ###### High-level facilities
  447.  
  448. gschar.$(OBJ): gschar.c $(GXERR) \
  449.   $(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)
  450.  
  451. gscolor.$(OBJ): gscolor.c $(GXERR) \
  452.   $(gscspace_h) \
  453.   $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzstate_h) $(gzcolor_h) $(gzht_h)
  454.  
  455. gscoord.$(OBJ): gscoord.c $(GXERR) \
  456.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gzstate_h) $(gscoord_h)
  457.  
  458. gsdevice.$(OBJ): gsdevice.c $(GXERR) \
  459.   $(gxarith_h) $(gsprops_h) $(gsutil_h) $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gxdevmem_h) $(gzstate_h) $(gzdevice_h)
  460.  
  461. gsfile.$(OBJ): gsfile.c $(GXERR) \
  462.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  463.  
  464. gsfont.$(OBJ): gsfont.c $(GXERR) \
  465.   $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfdir_h) \
  466.   $(gzstate_h)
  467.  
  468. gsimage.$(OBJ): gsimage.c $(GXERR) $(gpcheck_h) \
  469.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gspaint_h) \
  470.   $(gzcolor_h) $(gzdevice_h) $(gzpath_h) $(gzstate_h) \
  471.   $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  472.  
  473. gsimage2.$(OBJ): gsimage2.c $(GXERR) $(gpcheck_h) \
  474.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gspaint_h) \
  475.   $(gzcolor_h) $(gzdevice_h) $(gzpath_h) $(gzstate_h) \
  476.   $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  477.  
  478. gsimpath.$(OBJ): gsimpath.c $(GXERR) \
  479.   $(gsmatrix_h) $(gsstate_h) $(gspath_h)
  480.  
  481. gsline.$(OBJ): gsline.c $(GXERR) \
  482.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzline_h)
  483.  
  484. gsmatrix.$(OBJ): gsmatrix.c $(GXERR) \
  485.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h)
  486.  
  487. gsmisc.$(OBJ): gsmisc.c $(GX) $(MAKEFILE)
  488.     $(CCC) -DUSE_ASM=0$(USE_ASM) gsmisc.c
  489.  
  490. gspaint.$(OBJ): gspaint.c $(GXERR) $(gpcheck_h) \
  491.   $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzpath_h) $(gzstate_h) $(gzdevice_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  492.  
  493. gspath.$(OBJ): gspath.c $(GXERR) \
  494.   $(gxfixed_h) $(gxmatrix_h) $(gxpath_h) $(gzstate_h)
  495.  
  496. gspath2.$(OBJ): gspath2.c $(GXERR) \
  497.   $(gspath_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzpath_h) $(gzdevice_h)
  498.  
  499. gsstate.$(OBJ): gsstate.c $(GXERR) \
  500.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h) $(gzline_h) $(gzpath_h)
  501.  
  502. gstdev.$(OBJ): gstdev.c $(GXERR) \
  503.   $(gxbitmap_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h)
  504.  
  505. gstype1.$(OBJ): gstype1.c $(GXERR) \
  506.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h) $(gxdevmem_h) $(gxop1_h) $(gxtype1_h) \
  507.   $(gzstate_h) $(gzdevice_h) $(gzpath_h)
  508.  
  509. ###### The internal devices
  510.  
  511. gdevmem_h=gdevmem.h
  512.  
  513. gdevmem1.$(OBJ): gdevmem1.c $(AK) \
  514.   $(gx_h) $(gserrors_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  515.  
  516. gdevmem2.$(OBJ): gdevmem2.c $(AK) \
  517.   $(gx_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  518.  
  519. gdevmem3.$(OBJ): gdevmem3.c $(AK) \
  520.   $(gx_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  521.  
  522. ###### Files dependent on the installed devices, features, and platform.
  523. # Generating gconfig.h also generates obj*.tr and lib.tr.
  524.  
  525. gconfig.h obj.tr objw.tr lib.tr: \
  526.   devs.mak $(MAKEFILE) echogs$(XE) $(UNIQ) \
  527.   $(DEVICE_DEVS) $(DEVICE_DEVS2) $(DEVICE_DEVS3) $(DEVICE_DEVS4) $(DEVICE_DEVS5)\
  528.   $(FEATURE_DEVS) $(PLATFORM).dev
  529.     $(SHP)gsconfig $(DEVICE_DEVS) +
  530.     $(SHP)gsconfig + $(DEVICE_DEVS2) +
  531.     $(SHP)gsconfig + $(DEVICE_DEVS3) +
  532.     $(SHP)gsconfig + $(DEVICE_DEVS4) +
  533.     $(SHP)gsconfig + $(DEVICE_DEVS5) +
  534.     $(SHP)gsconfig + $(FEATURE_DEVS) $(PLATFORM).dev
  535.  
  536. gconfig.$(OBJ): gconfig.c $(AK) gconfig.h $(MAKEFILE)
  537.     $(CC0) -DGS_LIB_DEFAULT=$(QQ)$(GS_LIB_DEFAULT)$(QQ) -DGS_INIT=$(QQ)$(GS_INIT)$(QQ) gconfig.c
  538.  
  539. ###### On Unix, we pre-link all of the library except the back end.
  540. ###### On MS-DOS, we have to do the whole thing at once.
  541.  
  542. LIB=gschar.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) \
  543.  gsdevice.$(OBJ) gsfile.$(OBJ) gsfont.$(OBJ) gsimage.$(OBJ) gsimage2.$(OBJ) \
  544.  gsimpath.$(OBJ) gsline.$(OBJ) gsmatrix.$(OBJ) gsmisc.$(OBJ) \
  545.  gspaint.$(OBJ) gspath.$(OBJ) gspath2.$(OBJ) \
  546.  gsstate.$(OBJ) gstdev.$(OBJ) gstype1.$(OBJ) gsutil.$(OBJ) \
  547.  gxcache.$(OBJ) gxclist.$(OBJ) gxcolor.$(OBJ) gxcpath.$(OBJ) \
  548.  gxdither.$(OBJ) gxdraw.$(OBJ) gxfill.$(OBJ) gxhint1.$(OBJ) gxht.$(OBJ) \
  549.  gxpath.$(OBJ) gxpath2.$(OBJ) gxpcopy.$(OBJ) gxstroke.$(OBJ) \
  550.  gdevmem1.$(OBJ) gdevmem2.$(OBJ) gdevmem3.$(OBJ) gconfig.$(OBJ)
  551.  
  552. # ------------------------------ Interpreter ------------------------------ #
  553.  
  554. ###### Include files
  555.  
  556. alloc_h=alloc.h
  557. astate_h=astate.h
  558. ccfont_h=ccfont.h
  559. dict_h=dict.h
  560. dparam_h=dparam.h
  561. dstack_h=dstack.h
  562. errors_h=errors.h
  563. estack_h=estack.h
  564. files_h=files.h
  565. font_h=font.h
  566. ghost_h=ghost.h $(gx_h) $(iref_h)
  567. iref_h=iref.h
  568. iutil_h=iutil.h
  569. main_h=main.h
  570. name_h=name.h
  571. opdef_h=opdef.h
  572. ostack_h=ostack.h
  573. overlay_h=overlay.h
  574. packed_h=packed.h
  575. save_h=save.h
  576. scanchar_h=scanchar.h
  577. scf_h=scf.h
  578. state_h=state.h
  579. store_h=store.h
  580. stream_h=stream.h
  581. # Nested include files
  582. bfont_h=bfont.h $(font_h)
  583. oper_h=oper.h $(gsutil_h) $(iutil_h) $(opdef_h) $(ostack_h)
  584. # Include files for optional features
  585. bnum_h=bnum.h
  586. bseq_h=bseq.h
  587. btoken_h=btoken.h
  588.  
  589. comp1_h=comp1.h $(ghost_h) $(oper_h) $(gserrors_h) $(gxfixed_h) $(gxop1_h)
  590.  
  591. gdevprn_h=gdevprn.h $(memory__h) $(string__h) $(gx_h) \
  592.   $(gserrors_h) $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) $(gxclist_h)
  593.  
  594. ###### Utilities
  595.  
  596. GH=$(AK) $(ghost_h)
  597.  
  598. ialloc.$(OBJ): ialloc.c $(AK) $(gs_h) $(gdebug_h) $(alloc_h) $(astate_h)
  599.  
  600. iccfont.$(OBJ): iccfont.c $(GH) gconfigf.h \
  601.  $(ghost_h) $(alloc_h) $(ccfont_h) $(dict_h) $(dstack_h) $(errors_h) $(iutil_h) $(name_h) $(oper_h) $(save_h) $(store_h)
  602.  
  603. idebug.$(OBJ): idebug.c $(GH) \
  604.  $(iutil_h) $(dict_h) $(name_h) $(ostack_h) $(opdef_h) $(packed_h) $(store_h)
  605.  
  606. idict.$(OBJ): idict.c $(GH) \
  607.   $(alloc_h) $(errors_h) $(name_h) $(packed_h) $(save_h) $(store_h) $(iutil_h) $(dict_h) $(dstack_h)
  608.  
  609. idparam.$(OBJ): idparam.c $(GH) \
  610.   $(gsmatrix_h) $(dict_h) $(dparam_h) $(errors_h) $(iutil_h)
  611.  
  612. iinit.$(OBJ): iinit.c $(GH) gconfig.h \
  613.   $(alloc_h) $(dict_h) $(dstack_h) $(errors_h) $(name_h) $(oper_h) $(store_h)
  614.  
  615. iname.$(OBJ): iname.c $(GH) $(alloc_h) $(errors_h) $(name_h) $(store_h)
  616.  
  617. isave.$(OBJ): isave.c $(GH) $(alloc_h) $(astate_h) $(name_h) $(packed_h) $(save_h) $(store_h)
  618.  
  619. iscan.$(OBJ): iscan.c $(GH) $(alloc_h) $(dict_h) $(dstack_h) $(errors_h) $(iutil_h) \
  620.  $(name_h) $(ostack_h) $(packed_h) $(store_h) $(stream_h) $(scanchar_h)
  621.  
  622. iutil.$(OBJ): iutil.c $(GH) \
  623.  $(errors_h) $(alloc_h) $(dict_h) $(iutil_h) $(name_h) $(ostack_h) $(opdef_h) $(packed_h) $(store_h) \
  624.  $(gsmatrix_h) $(gxdevice_h) $(gzcolor_h)
  625.  
  626. sfilter.$(OBJ): sfilter.c $(AK) $(stdio__h) $(scanchar_h) $(stream_h) \
  627.  $(gscrypt1_h)
  628.  
  629. stream.$(OBJ): stream.c $(AK) $(stdio__h) $(stream_h) $(scanchar_h)
  630.  
  631. ###### Operators
  632.  
  633. OP=$(GH) $(errors_h) $(oper_h)
  634.  
  635. ### Non-graphics operators
  636.  
  637. zarith.$(OBJ): zarith.c $(OP) $(store_h)
  638.  
  639. zarray.$(OBJ): zarray.c $(OP) $(alloc_h) $(packed_h) $(store_h)
  640.  
  641. zcontrol.$(OBJ): zcontrol.c $(OP) $(estack_h) $(iutil_h) $(store_h)
  642.  
  643. zdict.$(OBJ): zdict.c $(OP) $(dict_h) $(dstack_h) $(name_h) $(store_h)
  644.  
  645. zfile.$(OBJ): zfile.c $(OP) $(gp_h) \
  646.   $(alloc_h) $(estack_h) $(files_h) $(iutil_h) $(save_h) $(stream_h) $(store_h)
  647.  
  648. zfileio.$(OBJ): zfileio.c $(OP) $(gp_h) \
  649.   $(estack_h) $(files_h) $(store_h) $(stream_h) \
  650.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  651.  
  652. zfilter.$(OBJ): zfilter.c $(OP) $(alloc_h) $(stream_h)
  653.  
  654. zgeneric.$(OBJ): zgeneric.c $(OP) $(dict_h) $(estack_h) $(name_h) $(packed_h) $(store_h)
  655.  
  656. zmath.$(OBJ): zmath.c $(OP) $(store_h)
  657.  
  658. zmisc.$(OBJ): zmisc.c $(OP) $(gp_h) \
  659.   $(alloc_h) $(dict_h) $(dstack_h) $(name_h) $(packed_h) $(store_h) \
  660.   $(gscrypt1_h)
  661.  
  662. zpacked.$(OBJ): zpacked.c $(OP) \
  663.   $(alloc_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(store_h)
  664.  
  665. zprops.$(OBJ): zprops.c $(OP) \
  666.   $(alloc_h) $(dict_h) $(name_h) $(state_h) $(store_h) \
  667.   $(gsprops_h) $(gsmatrix_h) $(gxdevice_h) $(gsstate_h)
  668.  
  669. zrelbit.$(OBJ): zrelbit.c $(OP) $(store_h) $(dict_h)
  670.  
  671. zstack.$(OBJ): zstack.c $(OP) $(store_h)
  672.  
  673. zstring.$(OBJ): zstring.c $(OP) $(alloc_h) $(iutil_h) $(name_h) $(store_h) $(stream_h)
  674.  
  675. ztype.$(OBJ): ztype.c $(OP) $(dict_h) $(iutil_h) $(name_h) $(stream_h) $(store_h)
  676.  
  677. zvmem.$(OBJ): zvmem.c $(OP) $(alloc_h) $(dict_h) $(dstack_h) $(estack_h) $(save_h) $(state_h) $(store_h) \
  678.   $(gsmatrix_h) $(gsstate_h)
  679.  
  680. ###### Graphics operators
  681.  
  682. zchar.$(OBJ): zchar.c $(OP) $(gxfixed_h) $(gxmatrix_h) \
  683.  $(gschar_h) $(gxtype1_h) $(gxdevice_h) $(gxfont_h) $(gzpath_h) $(gzstate_h) \
  684.  $(alloc_h) $(dict_h) $(dstack_h) $(font_h) $(estack_h) $(state_h) $(store_h)
  685.  
  686. 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)
  687.  
  688. zdevice.$(OBJ): zdevice.c $(OP) $(alloc_h) $(state_h) $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(store_h)
  689.  
  690. zfont.$(OBJ): zfont.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) $(gxfdir_h) \
  691.  $(alloc_h) $(bfont_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(state_h) $(store_h)
  692.  
  693. zfont1.$(OBJ): zfont1.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
  694.  $(bfont_h) $(dict_h) $(dparam_h) $(name_h) $(store_h)
  695.  
  696. zfont2.$(OBJ): zfont2.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
  697.  $(alloc_h) $(bfont_h) $(dict_h) $(dparam_h) $(name_h) $(packed_h) $(store_h)
  698.  
  699. zgstate.$(OBJ): zgstate.c $(OP) $(alloc_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
  700.  
  701. zht.$(OBJ): zht.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
  702.  
  703. zmatrix.$(OBJ): zmatrix.c $(OP) $(gsmatrix_h) $(state_h) $(gscoord_h) $(store_h)
  704.  
  705. zpaint.$(OBJ): zpaint.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gspaint_h) $(state_h) $(store_h) $(stream_h)
  706.  
  707. zpath.$(OBJ): zpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h)
  708.  
  709. zpath2.$(OBJ): zpath2.c $(OP) $(alloc_h) $(estack_h) $(gspath_h) $(state_h) $(store_h)
  710.  
  711. ###### Linking
  712.  
  713. INT=ialloc.$(OBJ) idebug.$(OBJ) idict.$(OBJ) idparam.$(OBJ) \
  714.  iinit.$(OBJ) iname.$(OBJ) \
  715.  interp.$(OBJ) isave.$(OBJ) iscan.$(OBJ) iutil.$(OBJ) \
  716.  sfilter.$(OBJ) stream.$(OBJ) \
  717.  zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ) \
  718.  zfile.$(OBJ) zfileio.$(OBJ) zfilter.$(OBJ) zgeneric.$(OBJ) \
  719.  zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ) zprops.$(OBJ) zrelbit.$(OBJ) \
  720.  zstack.$(OBJ) zstring.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ) \
  721.  zchar.$(OBJ) zcolor.$(OBJ) zfont.$(OBJ) zfont1.$(OBJ) zfont2.$(OBJ) \
  722.  zdevice.$(OBJ) zgstate.$(OBJ) zht.$(OBJ) zmatrix.$(OBJ) \
  723.  zpaint.$(OBJ) zpath.$(OBJ) zpath2.$(OBJ)
  724.  
  725. # -------------------------- Optional features ---------------------------- #
  726.  
  727. ### Additions common to Display PostScript and Level 2
  728.  
  729. dpsand2_=gsdps1.$(OBJ) ibnum.$(OBJ) ibscan.$(OBJ) \
  730.  zbseq.$(OBJ) zdps1.$(OBJ) zupath.$(OBJ)
  731. dpsand2.dev: $(dpsand2_)
  732.     $(SHP)gssetmod dpsand2 $(dpsand2_)
  733.     $(SHP)gsaddmod dpsand2 -oper zbseq zdps1 zupath
  734.     $(SHP)gsaddmod dpsand2 -ps gs_dps1
  735.  
  736. gsdps1.$(OBJ): gsdps1.c $(GXERR) $(gsmatrix_h) $(gspath_h)
  737.  
  738. ibnum.$(OBJ): ibnum.c $(GH) $(errors_h) $(stream_h) $(bnum_h) $(btoken_h)
  739.  
  740. ibscan.$(OBJ): ibscan.c $(GH) $(errors_h) \
  741.  $(alloc_h) $(dict_h) $(dstack_h) $(iutil_h) $(name_h) $(ostack_h) $(save_h) $(store_h) $(stream_h) $(bseq_h) $(btoken_h) $(bnum_h)
  742.  
  743. zbseq.$(OBJ): zbseq.c $(OP) $(save_h) $(store_h) $(stream_h) $(files_h) $(name_h) $(bnum_h) $(btoken_h) $(bseq_h)
  744.  
  745. zdps1.$(OBJ): zdps1.c $(OP) $(gsmatrix_h) $(gspath_h) $(gsstate_h) \
  746.  $(alloc_h) $(state_h) $(store_h) $(stream_h) $(bnum_h)
  747.  
  748. zupath.$(OBJ): zupath.c $(OP) \
  749.  $(dict_h) $(dstack_h) $(iutil_h) $(state_h) $(store_h) $(stream_h) $(bnum_h) \
  750.  $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h) \
  751.  $(gxfixed_h) $(gxdevice_h) $(gxpath_h)
  752.  
  753. ### Display PostScript
  754. # We should include zcontext, but it isn't in good enough shape yet:
  755. #    $(SHP)gsaddmod dps -oper zcontext
  756.  
  757. dps_=
  758. dps.dev: dpsand2.dev $(dps_)
  759.     $(SHP)gssetmod dps $(dps_)
  760.     $(SHP)gsaddmod dps -include dpsand2
  761.  
  762. zcontext.$(OBJ): zcontext.c $(OP) \
  763.  $(alloc_h) $(dict_h) $(dstack_h) $(estack_h) $(state_h) $(store_h)
  764.  
  765. ### Level 2 additions
  766. # We should include gscie and zcie, but they aren't anywhere near ready.
  767.  
  768. level2_=gscolor2.$(OBJ) zcolor2.$(OBJ) zht2.$(OBJ) zimage2.$(OBJ)
  769. level2.dev: dpsand2.dev $(level2_)
  770.     $(SHP)gssetmod level2 $(level2_)
  771.     $(SHP)gsaddmod level2 -include dpsand2
  772.     $(SHP)gsaddmod level2 -oper zcolor2 zimage2
  773.     $(SHP)gsaddmod level2 -ps gs_lev2
  774.  
  775. gscie.$(OBJ): gscie.c $(std_h) \
  776.   $(gscspace_h) $(gscie_h)
  777.  
  778. gscolor2.$(OBJ): gscolor2.c $(GXERR) \
  779.   $(gscolor2_h) $(gscspace_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) \
  780.   $(gzcolor_h) $(gzstate_h)
  781.  
  782. zcie.$(OBJ): zcie.c $(OP) $(gscspace_h) $(gscie_h) \
  783.   $(dict_h) $(dparam_h) $(state_h)
  784.  
  785. zcolor2.$(OBJ): zcolor2.c $(OP) \
  786.   $(gscolor_h) $(gscolor2_h) $(gscspace_h) $(gsmatrix_h) \
  787.   $(dict_h) $(dparam_h) $(name_h) $(state_h) $(store_h)
  788.  
  789. zht2.$(OBJ): zht2.c $(OP) \
  790.   $(dict_h) $(dparam_h) $(name_h) $(state_h) $(store_h)
  791.  
  792. zimage2.$(OBJ): zimage2.c $(OP) \
  793.   $(gscolor_h) $(gscolor2_h) $(gscspace_h) $(gsmatrix_h) \
  794.   $(dict_h) $(dparam_h) $(state_h)
  795.  
  796. ### Composite font support
  797.  
  798. gschar0.$(OBJ): gschar0.c $(GXERR) \
  799.   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h)
  800.  
  801. zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  802.  $(alloc_h) $(bfont_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  803.  
  804. compfont_=zfont0.$(OBJ) gschar0.$(OBJ)
  805. compfont.dev: $(compfont_)
  806.     $(SHP)gssetmod compfont $(compfont_)
  807.     $(SHP)gsaddmod compfont -oper zfont0
  808.  
  809. ### Filters other than the ones in sfilter.c
  810.  
  811. scftab.$(OBJ): scftab.c $(AK) $(std_h) $(scf_h)
  812.  
  813. scfdtab.$(OBJ): scfdtab.c $(AK) $(std_h) $(scf_h)
  814.  
  815. scfd.$(OBJ): scfd.c $(AK) $(stdio__h) $(gdebug_h) $(scf_h) $(stream_h)
  816.  
  817. scfe.$(OBJ): scfe.c $(AK) $(stdio__h) $(gdebug_h) $(scf_h) $(stream_h)
  818.  
  819. sfilter2.$(OBJ): sfilter2.c $(AK) $(stdio__h) $(scanchar_h) $(stream_h)
  820.  
  821. slzwd.$(OBJ): slzwd.c $(AK) $(stdio__h) $(gdebug_h) $(stream_h)
  822.  
  823. slzwe.$(OBJ): slzwe.c $(AK) $(stdio__h) $(gdebug_h) $(stream_h)
  824.  
  825. zfilter2.$(OBJ): zfilter2.c $(OP) $(alloc_h) $(dict_h) $(dparam_h) $(stream_h)
  826.  
  827. # Because of size limits on the DOS command line,
  828. # we have to break this up into two parts.
  829. filter_1=zfilter2.$(OBJ) sfilter2.$(OBJ)
  830. filter_2=scfd.$(OBJ) scfe.$(OBJ) scfdtab.$(OBJ) scftab.$(OBJ) slzwd.$(OBJ) slzwe.$(OBJ)
  831. filter.dev: $(filter_1) $(filter_2)
  832.     $(SHP)gssetmod filter $(filter_1)
  833.     $(SHP)gsaddmod filter -obj $(filter_2)
  834.     $(SHP)gsaddmod filter -oper zfilter2
  835.  
  836. ### Precompiled fonts.  See fonts.doc for more information.
  837.  
  838. CCFONT=$(OP) $(ccfont_h)
  839.  
  840. ccfonts_=ugly.$(OBJ)
  841. ccfonts.dev: $(ccfonts_) iccfont.$(OBJ)
  842.     $(SHP)gssetmod ccfonts $(ccfonts_) iccfont.$(OBJ)
  843.     $(SHP)gsaddmod ccfonts -oper ccfonts
  844.  
  845. gconfigf.h: $(MAKEFILE)
  846.     $(SHP)gssetmod ccfonts_
  847.     $(SHP)gsaddmod ccfonts_ -font Ugly
  848.     rm -f gconfigf.h
  849.     mv ccfonts_.d_f gconfigf.h
  850.  
  851. ugly.$(OBJ): ugly.c $(CCFONT)
  852.     $(CCCF) ugly.c
  853.  
  854. ncrr.$(OBJ): ncrr.c $(CCFONT)
  855.     $(CCCF) ncrr.c
  856.  
  857. psyr.$(OBJ): psyr.c $(CCFONT)
  858.     $(CCCF) psyr.c
  859.  
  860. ptmr.$(OBJ): ptmr.c $(CCFONT)
  861.     $(CCCF) ptmr.c
  862.  
  863. pzdr.$(OBJ): pzdr.c $(CCFONT)
  864.     $(CCCF) pzdr.c
  865.  
  866. # ----------------------------- Main program ------------------------------ #
  867.  
  868. # Interpreter main program
  869.  
  870. gs.$(OBJ): gs.c $(GH) $(gxdevice_h) $(gxdevmem_h) \
  871.   $(alloc_h) $(errors_h) $(estack_h) $(main_h) $(ostack_h) $(store_h) $(stream_h)
  872.  
  873. gsmain.$(OBJ): gsmain.c $(GH) \
  874.   $(gp_h) $(gsmatrix_h) $(gxdevice_h) $(gserrors_h) \
  875.   $(estack_h) $(main_h) $(ostack_h) $(store_h)
  876.  
  877. interp.$(OBJ): interp.c $(GH) \
  878.   $(errors_h) $(estack_h) $(name_h) $(dict_h) $(dstack_h) $(oper_h) $(ostack_h) $(packed_h) $(save_h) $(store_h) $(stream_h)
  879.     $(CCINT) interp.c
  880. #    Copyright (C) 1989, 1992 Aladdin Enterprises.  All rights reserved.
  881. #    Distributed by Free Software Foundation, Inc.
  882. #
  883. # This file is part of Ghostscript.
  884. #
  885. # Ghostscript is distributed in the hope that it will be useful, but
  886. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  887. # to anyone for the consequences of using it or for whether it serves any
  888. # particular purpose or works at all, unless he says so in writing.  Refer
  889. # to the Ghostscript General Public License for full details.
  890. #
  891. # Everyone is granted permission to copy, modify and redistribute
  892. # Ghostscript, but only under the conditions described in the Ghostscript
  893. # General Public License.  A copy of this license is supposed to have been
  894. # given to you along with Ghostscript so you can know your rights and
  895. # responsibilities.  It should be in a file named COPYING.  Among other
  896. # things, the copyright notice and this notice must be preserved on all
  897. # copies.
  898.  
  899. # makefile for Ghostscript device drivers.
  900.  
  901. # -------------------------------- Catalog ------------------------------- #
  902.  
  903. # It is possible to build Ghostscript with an arbitrary collection of
  904. # device drivers, although some drivers are supported only on a subset
  905. # of the target platforms.  The currently available drivers are:
  906.  
  907. # Displays:
  908. #   MS-DOS EGA and VGA:
  909. #    ega    EGA (640x350, 16-color)
  910. #    vga    VGA (640x480, 16-color)
  911. #   MS-DOS SuperVGA:
  912. # +    atiw    ATI Wonder SuperVGA, 256-color modes
  913. # *    mdb10    EIZO MDB-10 (1024 x 768)
  914. #    s3vga    SuperVGA with S3 86C911 chip (e.g., Diamond Stealth board)
  915. #    tseng    SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes
  916. #    tseng16  Tseng Labs SuperVGA in 800x600, 16-color mode (256K memory)
  917. # +    tvga    Trident SuperVGA, 256-color modes
  918. # +    tvga16    Trident SuperVGA in 800x600, 16-color mode (256K memory)
  919. #   ****** NOTE: The vesa device does not work with the Watcom (32-bit MS-DOS)
  920. #   ****** compiler or executable.
  921. #    vesa    SuperVGA with VESA standard API driver
  922. #   MS-DOS other:
  923. #    bgi    Borland Graphics Interface (CGA and Hercules)
  924. #    mswin    Microsoft Windows 3.0, 3.1
  925. # *    pe    Private Eye
  926. #   Unix and VMS:
  927. # *    att3b1    AT&T 3b1/Unixpc monochrome display   [3b1 only]
  928. # *    sonyfb    Sony Microsystems monochrome display   [Sony only]
  929. # *    sunview  SunView window system   [SunOS only]
  930. #    x11    X Windows version 11, release >=3   [Unix and VMS only]
  931. # Printers:
  932. #    bj10e    Canon BubbleJet BJ10e
  933. # *    cdeskjet  H-P DeskJet 500C with 1 bit/pixel color
  934. # *    cdjcolor  H-P DeskJet 500C with 24 bit/pixel color and
  935. #        high-quality color (Floyd-Steinberg) dithering
  936. # *    cdjmono  H-P DeskJet 500C printing black only
  937. # +    deskjet  H-P DeskJet and DeskJet Plus
  938. # *    dfaxhigh  DigiBoard, Inc.'s DigiFAX software format (high resolution)
  939. # *    dfaxlow  DigiFAX low (normal) resolution
  940. #    djet500  H-P DeskJet 500
  941. # *    djet500c  H-P DeskJet 500C
  942. #    epson    Epson-compatible dot matrix printers (9- or 24-pin)
  943. # +    eps9high  Epson-compatible 9-pin, interleaved lines
  944. #        (triple resolution)
  945. # *    epsonc    Epson LQ-2550 and Fujitsu 3400/2400/1200 color printers
  946. # +    laserjet  H-P LaserJet
  947. # *    la50    DEC LA50 printer
  948. # *    la75    DEC LA75 printer
  949. # *    lbp8    Canon LBP-8II laser printer
  950. # *    ln03    DEC LN03 printer
  951. # *    lj250    DEC LJ250 Companion color printer
  952. # +    ljet2p    H-P LaserJet IId/IIp/III* with TIFF compression
  953. # +    ljet3    H-P LaserJet III* with Delta Row compression
  954. # +    ljetplus  H-P LaserJet Plus
  955. # *    necp6    NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
  956. # *    nwp533  Sony Microsystems NWP533 laser printer   [Sony only]
  957. #    paintjet  H-P PaintJet color printer
  958. # *    pjetxl    H-P PaintJet XL color printer
  959. # *    r4081    Ricoh 4081 laser printer
  960. # *    tek4696  Tektronix 4695/4696 inkjet plotter
  961. # *    trufax    TruFax facsimile driver  [Unix only]
  962. # File formats and others:
  963. #    bit    A plain "bit bucket" device
  964. #    gifmono    Monochrome GIF file format
  965. #    gif8    8-bit color GIF file format
  966. #    pcxmono    Monochrome PCX file format
  967. #    pcx16    Older color PCX file format (EGA/VGA, 16-color)
  968. #    pcx256    Newer color PCX file format (256-color)
  969. #    pbm    Portable Bitmap (plain format)
  970. #    pbmraw    Portable Bitmap (raw format)
  971. #    pgm    Portable Graymap (plain format)
  972. #    pgmraw    Portable Graymap (raw format)
  973. #    ppm    Portable Pixmap (plain format)
  974. #    ppmraw    Portable Pixmap (raw format)
  975.  
  976. # User-contributed drivers marked with * require hardware or software
  977. # that is not available to Aladdin Enterprises.  Please contact the
  978. # original contributors, not Aladdin Enterprises, if you have questions.
  979. # Contact information appears in the driver entry below.
  980. #
  981. # Drivers marked with a + are maintained by Aladdin Enterprises with
  982. # the assistance of users, since Aladdin Enterprises doesn't have access to
  983. # the hardware for these either.
  984.  
  985. # If you add drivers, it would be nice if you kept each list
  986. # in alphabetical order.
  987.  
  988. # Each platform-specific makefile contains a line of the form
  989. #    DEVICE_DEVS=<dev1>.dev ... <devn>.dev
  990. # where dev1 ... devn are the devices to be included in the build.
  991. # You may edit this line to select any desired set of devices.
  992. # dev1 will be used as the default device (unless overridden from
  993. # the command line with -sDEVICE=xxx, of course.)  If you can't fit all the
  994. # devices on a single line, you may add lines defining
  995. #    DEVICE_DEVS2=<dev21>.dev ... <dev2n>.dev
  996. #    DEVICE_DEVS3=<dev31>.dev ... <dev3n>.dev
  997. # etc. up to DEVICE_DEVS5.
  998. # Don't use continuation lines, since this may break the MS-DOS command
  999. # processor.
  1000.  
  1001. # ---------------------------- End of catalog ---------------------------- #
  1002.  
  1003. # If you want to add a new device driver, the examples below should be
  1004. # enough of a guide to the correct form for the makefile rules.
  1005.  
  1006. # All device drivers depend on the following:
  1007. GDEV=$(AK) echogs$(XE) $(gserrors_h) $(gx_h) $(gxdevice_h)
  1008.  
  1009. # Define the header files for device drivers.  Every header file used by
  1010. # more than one device driver must be listed here.
  1011. gdevpccm_h=gdevpccm.h
  1012. gdevpcfb_h=gdevpcfb.h
  1013. gdevpcl_h=gdevpcl.h
  1014. gdevsvga_h=gdevsvga.h
  1015. gdevx_h=gdevx.h
  1016.  
  1017. ###### ------------------- MS-DOS display devices ------------------- ######
  1018.  
  1019. # There are really only two drivers: an EGA/VGA driver (4 bit-planes,
  1020. # plane-addressed) and a SuperVGA driver (8 bit-planes, byte addressed).
  1021.  
  1022. ### ----------------------- EGA and VGA displays ----------------------- ###
  1023.  
  1024. gdevegaa.$(OBJ): gdevegaa.asm
  1025.  
  1026. ETEST=ega.$(OBJ) $(ega_) gdevpcfb.$(OBJ) gdevegaa.$(OBJ)
  1027. ega.exe: $(ETEST) libc$(MM).tr
  1028.     $(COMPDIR)\tlink /v $(LIBDIR)\c0$(MM) @ega.tr @libc$(MM).tr
  1029.  
  1030. ega.$(OBJ): ega.c $(GDEV)
  1031.     $(CCC) -v ega.c
  1032.  
  1033. # The shared MS-DOS makefile defines PCFBASM as either gdevegaa.$(OBJ)
  1034. # or an empty string.
  1035.  
  1036. EGAVGA=gdevpcfb.$(OBJ) $(PCFBASM)
  1037.  
  1038. gdevpcfb.$(OBJ): gdevpcfb.c $(GDEV) $(MAKEFILE) $(dos__h) $(gdevpcfb_h)
  1039.     $(CCD) -DUSE_ASM=0$(USE_ASM) gdevpcfb.c
  1040.  
  1041. # The EGA/VGA family includes: EGA, VGA, and MDB-10, and the
  1042. # Tseng ET3000/4000 and Trident SuperVGA in 16-color mode.
  1043.  
  1044. ega.dev: $(EGAVGA)
  1045.     $(SHP)gssetdev ega $(EGAVGA)
  1046.  
  1047. vga.dev: $(EGAVGA)
  1048.     $(SHP)gssetdev vga $(EGAVGA)
  1049.  
  1050. mdb10.dev: $(EGAVGA)
  1051.     $(SHP)gssetdev mdb10 $(EGAVGA)
  1052.  
  1053. tseng16.dev: $(EGAVGA)
  1054.     $(SHP)gssetdev tseng16 $(EGAVGA)
  1055.  
  1056. tvga16.dev: $(EGAVGA)
  1057.     $(SHP)gssetdev tvga16 $(EGAVGA)
  1058.  
  1059. ### ------------------------- SuperVGA displays ------------------------ ###
  1060.  
  1061. SVGA=gdevsvga.$(OBJ) $(PCFBASM)
  1062.  
  1063. gdevsvga.$(OBJ): gdevsvga.c $(GDEV) $(MAKEFILE) $(dos__h) $(gdevpcfb_h) $(gdevsvga_h)
  1064.     $(CCD) -DUSE_ASM=0$(USE_ASM) gdevsvga.c
  1065.  
  1066. # The SuperVGA family includes: ATI Wonder, S3, Trident, Tseng ET3000/4000,
  1067. # and VESA.
  1068.  
  1069. atiw.dev: $(SVGA)
  1070.     $(SHP)gssetdev atiw $(SVGA)
  1071.  
  1072. tseng.dev: $(SVGA)
  1073.     $(SHP)gssetdev tseng $(SVGA)
  1074.  
  1075. tvga.dev: $(SVGA)
  1076.     $(SHP)gssetdev tvga $(SVGA)
  1077.  
  1078. vesa.dev: $(SVGA)
  1079.     $(SHP)gssetdev vesa $(SVGA)
  1080.  
  1081. # The S3 driver doesn't share much code with the others.
  1082.  
  1083. s3vga_=$(SVGA) gdevs3ga.$(OBJ)
  1084. s3vga.dev: $(s3vga_)
  1085.     $(SHP)gssetdev s3vga $(s3vga_)
  1086.  
  1087. gdevs3ga.$(OBJ): gdevsvga.c $(GDEV) $(MAKEFILE) $(gdevpcfb_h) $(gdevsvga_h)
  1088.     $(CCD) gdevs3ga.c
  1089.  
  1090. ### ------------ The BGI (Borland Graphics Interface) device ----------- ###
  1091.  
  1092. # We should use an implicit rule for running bgiobj,
  1093. # but a bug in Borland's `make' utility makes this not work.
  1094.  
  1095. cga.$(OBJ): $(BGIDIR)\cga.bgi
  1096.     $(BGIDIR)\bgiobj $(BGIDIR)\$&
  1097.  
  1098. egavga.$(OBJ): $(BGIDIR)\egavga.bgi
  1099.     $(BGIDIR)\bgiobj $(BGIDIR)\$&
  1100.  
  1101. herc.$(OBJ): $(BGIDIR)\herc.bgi
  1102.     $(BGIDIR)\bgiobj $(BGIDIR)\$&
  1103.  
  1104. # Include egavga.$(OBJ) for debugging only.
  1105. bgi_=gdevbgi.$(OBJ) cga.$(OBJ) herc.$(OBJ)
  1106. bgi.dev: $(bgi_)
  1107.     $(SHP)gssetdev bgi $(bgi_)
  1108.     $(SHP)gsaddmod bgi -lib $(LIBDIR)\graphics
  1109.  
  1110. gdevbgi.$(OBJ): gdevbgi.c $(GDEV) $(MAKEFILE)
  1111.     $(CCC) -DBGI_LIB=$(QQ)$(BGIDIR)$(QQ) gdevbgi.c
  1112.  
  1113. ###### ------------------- The Private Eye display ------------------- ######
  1114. ### Note: this driver was contributed by a user:                          ###
  1115. ###   please contact narf@media-lab.media.mit.edu if you have questions.  ###
  1116.  
  1117. pe_=gdevpe.$(OBJ)
  1118. pe.dev: $(pe_)
  1119.     $(SHP)gssetdev pe $(pe_)
  1120.  
  1121. gdevpe.$(OBJ): gdevpe.c $(GDEV)
  1122.  
  1123. ###### ----------------- The MS-Windows 3.n display ------------------ ######
  1124.  
  1125. mswin_=gdevmswn.$(OBJ)
  1126. mswin.dev: $(mswin_)
  1127.     $(SHP)gssetdev mswin $(mswin_)
  1128.  
  1129. gdevmswn.$(OBJ): gdevmswn.c $(GDEV) $(gp_h) $(gpcheck_h)
  1130.  
  1131. ###### ----------- The AT&T 3b1 Unixpc monochrome display ------------ ######
  1132.  
  1133. att3b1_=gdev3b1.$(OBJ)
  1134. att3b1.dev: $(att3b1_)
  1135.     $(SHP)gssetdev att3b1 $(att3b1_)
  1136.  
  1137. gdev3b1.$(OBJ): gdev3b1.c
  1138.  
  1139. ###### --------------- Memory-buffered printer devices --------------- ######
  1140.  
  1141. PDEVH=$(GDEV) $(gdevprn_h)
  1142.  
  1143. gdevprn.$(OBJ): gdevprn.c $(PDEVH) $(gp_h) $(gsprops_h)
  1144.  
  1145. ### ----------------- The Canon BubbleJet BJ10e device ----------------- ###
  1146.  
  1147. bj10e_=gdevbj10.$(OBJ) gdevprn.$(OBJ)
  1148. bj10e.dev: $(bj10e_)
  1149.     $(SHP)gssetdev bj10e $(bj10e_)
  1150.  
  1151. gdevbj10.$(OBJ): gdevbj10.c $(PDEVH)
  1152.  
  1153. ### -------------------------- The DigiFAX device ----------------------- ###
  1154. ###    This driver outputs images in a format suitable for use with       ###
  1155. ###    DigiBoard, Inc.'s DigiFAX software.  Use -sDEVICE=dfaxhigh for     ###
  1156. ###    high resolution output, -sDEVICE=dfaxlow for normal output.        ###
  1157. ### Note: this driver was contributed by a user: please contact           ###
  1158. ###       Rick Richardson (rick@digibd.com) if you have questions.        ###
  1159.  
  1160. digifax_=gdevdfax.$(OBJ) gdevprn.$(OBJ)
  1161. dfaxhigh.dev: $(digifax_)
  1162.     $(SHP)gssetdev dfaxhigh $(digifax_)
  1163.  
  1164. dfaxlow.dev: $(digifax_)
  1165.     $(SHP)gssetdev dfaxlow $(digifax_)
  1166.  
  1167. gdevdfax.$(OBJ): gdevdfax.c $(GDEV) $(gdevprn_h) gdevdfg3.h
  1168.  
  1169. ### ----------- The H-P DeskJet and LaserJet printer devices ----------- ###
  1170.  
  1171. ### These are essentially the same device.
  1172. ### You can make A4 paper the default: see below.
  1173. ### NOTE: printing at full resolution (300 DPI) requires a printer
  1174. ###   with at least 1.5 Mb of memory.  150 DPI only requires .5 Mb.
  1175.  
  1176. HPPCL=gdevprn.$(OBJ) gdevpcl.$(OBJ)
  1177. HPMONO=gdevdjet.$(OBJ) $(HPPCL)
  1178.  
  1179. gdevpcl.$(OBJ): gdevpcl.c $(PDEVH) $(gdevpcl_h)
  1180.  
  1181. # To make A4 paper the default, change the second line below this to
  1182. #    $(CCC) -DA4 gdevdjet.c
  1183. gdevdjet.$(OBJ): gdevdjet.c $(PDEVH) $(gdevpcl_h)
  1184.     $(CCC) gdevdjet.c
  1185.  
  1186. deskjet.dev: $(HPMONO)
  1187.     $(SHP)gssetdev deskjet $(HPMONO)
  1188.  
  1189. djet500.dev: $(HPMONO)
  1190.     $(SHP)gssetdev djet500 $(HPMONO)
  1191.  
  1192. laserjet.dev: $(HPMONO)
  1193.     $(SHP)gssetdev laserjet $(HPMONO)
  1194.  
  1195. ljetplus.dev: $(HPMONO)
  1196.     $(SHP)gssetdev ljetplus $(HPMONO)
  1197.  
  1198. ### Selecting ljet2p provides TIFF (mode 2) compression on LaserJet III,
  1199. ### IIIp, IIId, IIIsi, IId, and IIp. 
  1200.  
  1201. ljet2p.dev: $(HPMONO)
  1202.     $(SHP)gssetdev ljet2p $(HPMONO)
  1203.  
  1204. ### Selecting ljet3 provides Delta Row (mode 3) compression on LaserJet III,
  1205. ### IIIp, IIId, IIIsi.
  1206.  
  1207. ljet3.dev: $(HPMONO)
  1208.     $(SHP)gssetdev ljet3 $(HPMONO)
  1209.  
  1210. ### ------------ The H-P DeskJet 500C color printer device -------------- ###
  1211. ### Note: there are two different 500C drivers, both contributed by users.###
  1212. ###   If you have questions about the djet500c driver,                    ###
  1213. ###       please contact AKayser@et.tudelft.nl.                           ###
  1214. ###   If you have questions about the cdeskjet/cdjcolor/cdjmono drivers,  ###
  1215. ###       please contact g.cameron@biomed.abdn.ac.uk.                     ###
  1216.  
  1217. cdeskjet_=gdevcdj.$(OBJ) $(HPPCL)
  1218.  
  1219. cdeskjet.dev: $(cdeskjet_)
  1220.     $(SHP)gssetdev cdeskjet $(cdeskjet_)
  1221.  
  1222. cdjcolor.dev: $(cdeskjet_)
  1223.     $(SHP)gssetdev cdjcolor $(cdeskjet_)
  1224.  
  1225. cdjmono.dev: $(cdeskjet_)
  1226.     $(SHP)gssetdev cdjmono $(cdeskjet_)
  1227.  
  1228. # To make A4 paper the default, change the second line below this to
  1229. #    $(CCC) -DA4 gdevdjet.c
  1230. gdevcdj.$(OBJ): gdevcdj.c $(PDEVH) $(gdevpcl_h)
  1231.     $(CCC) gdevcdj.c
  1232.  
  1233. djet500c_=gdevdjtc.$(OBJ) $(HPPCL)
  1234. djet500c.dev: $(djet500c_)
  1235.     $(SHP)gssetdev djet500c $(djet500c_)
  1236.  
  1237. gdevdjtc.$(OBJ): gdevdjtc.c $(PDEVH) $(gdevpcl_h)
  1238.  
  1239. ### ----------------- The generic Epson printer device ----------------- ###
  1240.  
  1241. epson_=gdevepsn.$(OBJ) gdevprn.$(OBJ)
  1242.  
  1243. epson.dev: $(epson_)
  1244.     $(SHP)gssetdev epson $(epson_)
  1245.  
  1246. eps9high.dev: $(epson_)
  1247.     $(SHP)gssetdev eps9high $(epson_)
  1248.  
  1249. gdevepsn.$(OBJ): gdevepsn.c $(PDEVH) devs.mak
  1250.  
  1251. ### -------------- The Epson LQ-2550 color printer device -------------- ###
  1252. ### Note: this driver was contributed by users: please contact           ###
  1253. ###       Dave St. Clair (dave@exlog.com) if you have questions.         ###
  1254.  
  1255. epsonc_=gdevepsc.$(OBJ) gdevprn.$(OBJ)
  1256. epsonc.dev: $(epsonc_)
  1257.     $(SHP)gssetdev epsonc $(epsonc_)
  1258.  
  1259. gdevepsc.$(OBJ): gdevepsc.c $(PDEVH) devs.mak
  1260.  
  1261. ### ------------ The H-P PaintJet color printer device ----------------- ###
  1262. ### Note: this driver also supports the DEC LJ250 color printer, which   ###
  1263. ###       has a PaintJet-compatible mode, and the PaintJet XL.           ###
  1264. ### If you have questions about the XL, please contact Rob Reiss         ###
  1265. ###       (rob@moray.berkeley.edu).                                      ###
  1266.  
  1267. PJET=gdevpjet.$(OBJ) $(HPPCL)
  1268.  
  1269. gdevpjet.$(OBJ): gdevpjet.c $(PDEVH) $(gdevpcl_h)
  1270.  
  1271. lj250.dev: $(PJET)
  1272.     $(SHP)gssetdev lj250 $(PJET)
  1273.  
  1274. paintjet.dev: $(PJET)
  1275.     $(SHP)gssetdev paintjet $(PJET)
  1276.  
  1277. pjetxl.dev: $(PJET)
  1278.     $(SHP)gssetdev pjetxl $(PJET)
  1279.  
  1280. ### ----------------- The Canon LBP-8II printer device ----------------- ###
  1281. ### Note: this driver was contributed by users: please contact           ###
  1282. ###       Tom Quinn (trq@prg.oxford.ac.uk) if you have questions.        ###
  1283. ### Note that the standard paper size for this driver is the European    ###
  1284. ###   A4 size, not the American 8.5" x 11" size.                         ###
  1285.  
  1286. lbp8_=gdevlbp8.$(OBJ) gdevprn.$(OBJ)
  1287. lbp8.dev: $(lbp8_)
  1288.     $(SHP)gssetdev lbp8 $(lbp8_)
  1289.  
  1290. gdevlbp8.$(OBJ): gdevlbp8.c $(PDEVH)
  1291.  
  1292. ### -------------- The DEC LN03/LA50/LA75 printer devices -------------- ###
  1293. ### Note: this driver was contributed by users: please contact           ###
  1294. ###       Ulrich Mueller (ulm@vsnhd1.cern.ch) if you have questions.     ###
  1295. ### A more general sixel driver is available from                        ###
  1296. ###       Ian MacPhedran (macphed@dvinci.USask.CA).                      ###
  1297.  
  1298. ln03_=gdevln03.$(OBJ) gdevprn.$(OBJ)
  1299. ln03.dev: $(ln03_)
  1300.     $(SHP)gssetdev ln03 $(ln03_)
  1301.  
  1302. la50.dev: $(ln03_)
  1303.     $(SHP)gssetdev la50 $(ln03_)
  1304.  
  1305. la75.dev: $(ln03_)
  1306.     $(SHP)gssetdev la75 $(ln03_)
  1307.  
  1308. gdevln03.$(OBJ): gdevln03.c $(PDEVH)
  1309.  
  1310. ### --------------------- The NEC P6 family devices -------------------- ###
  1311.  
  1312. necp6_=gdevnp6.$(OBJ) gdevprn.$(OBJ)
  1313. necp6.dev: $(necp6_)
  1314.     $(SHP)gssetdev necp6 $(necp6_)
  1315.  
  1316. gdevnp6.$(OBJ): gdevnp6.c $(PDEVH)
  1317.  
  1318. ### ------------- The Ricoh 4081 laser printer device ------------------ ###
  1319. ### Note: this driver was contributed by users:                          ###
  1320. ###       please contact kdw@oasis.icl.co.uk if you have questions.      ###
  1321.  
  1322. r4081_=gdev4081.$(OBJ) gdevprn.$(OBJ)
  1323. r4081.dev: $(r4081_)
  1324.     $(SHP)gssetdev r4081 $(r4081_)
  1325.  
  1326. gdev4081.$(OBJ): gdev4081.c $(PDEVH)
  1327.  
  1328. ###### ------------------------ Sony devices ------------------------ ######
  1329. ### Note: these drivers were contributed by users: please contact        ###
  1330. ###       Mike Smolenski (mike@intertech.com) if you have questions.     ###
  1331.  
  1332. ### ------------------- Sony NeWS frame buffer device ------------------ ###
  1333.  
  1334. sonyfb_=gdevsnfb.$(OBJ) gdevprn.$(OBJ)
  1335. sonyfb.dev: $(sonyfb_)
  1336.     $(SHP)gssetdev sonyfb $(sonyfb_)
  1337.  
  1338. gdevsnfb.$(OBJ): gdevsnfb.c $(PDEVH)
  1339.  
  1340. ### -------------------- Sony NWP533 printer device -------------------- ###
  1341.  
  1342. nwp533_=gdevn533.$(OBJ) gdevprn.$(OBJ)
  1343. nwp533.dev: $(nwp533_)
  1344.     $(SHP)gssetdev nwp533 $(nwp533_)
  1345.  
  1346. gdevn533.$(OBJ): gdevn533.c $(PDEVH)
  1347.  
  1348. ###### --------------------- The SunView device --------------------- ######
  1349. ### Note: this driver is maintained by a user: if you have questions,    ###
  1350. ###       please contact Andreas Stolcke (stolcke@icsi.berkeley.edu).    ###
  1351.  
  1352. sunview_=gdevsun.$(OBJ)
  1353. sunview.dev: $(sunview_)
  1354.     $(SHP)gssetdev sunview $(sunview_)
  1355.     $(SHP)gsaddmod sunview -lib suntool sunwindow pixrect
  1356.  
  1357. gdevsun.$(OBJ): gdevsun.c $(GDEV) $(arch_h)
  1358.  
  1359. ### -------------------- Tektronix ink-jet printers -------------------- ###
  1360. ### Note: this driver was contributed by a user: please contact          ###
  1361. ###       Karsten Spang (spang@nbivax.nbi.dk) if you have questions.     ###
  1362.  
  1363. tek4696_=gdevtknk.$(OBJ) gdevprn.$(OBJ)
  1364. tek4696.dev: $(tek4696_)
  1365.     $(SHP)gssetdev tek4696 $(tek4696_)
  1366.  
  1367. gdevtknk.$(OBJ): gdevtknk.c $(PDEVH)
  1368.  
  1369. ### ----------------- The TruFax facsimile device ---------------------- ###
  1370. ### Note: this driver was contributed by users: please contact           ###
  1371. ###       Neil Ostroff (nao@maestro.bellcore.com) if you have questions. ###
  1372. ### Note that the driver requires a file encode_l.o supplied by the      ###
  1373. ###   makers of the TruFax product.                                      ###
  1374.  
  1375. trufax_=gdevtrfx.$(OBJ) gdevprn.$(OBJ) encode_l.$(OBJ)
  1376. trufax.dev: $(trufax_)
  1377.     $(SHP)gssetdev trufax $(trufax_)
  1378.  
  1379. gdevtrfx.$(OBJ): gdevtrfx.c $(GDEV)
  1380.  
  1381. ###### ----------------------- The X11 device ----------------------- ######
  1382.  
  1383. # Aladdin Enterprises does not support Ghostview.  For more information
  1384. # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
  1385.  
  1386. x11_=gdevx.$(OBJ) gdevxini.$(OBJ)
  1387. x11.dev: $(x11_)
  1388.     $(SHP)gssetdev x11 $(x11_)
  1389.     $(SHP)gsaddmod x11 -lib X11
  1390.  
  1391. # See the main makefile for the definition of XINCLUDE.
  1392. GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
  1393. gdevx.$(OBJ): gdevx.c $(GDEVX) $(gserrors_h) $(gsprops_h) $(gsutil_h)
  1394.     $(CCC) $(XINCLUDE) gdevx.c
  1395.  
  1396. gdevxini.$(OBJ): gdevxini.c $(GDEVX)
  1397.     $(CCC) $(XINCLUDE) gdevxini.c
  1398.  
  1399. ### ---------------------- The bit bucket device ----------------------- ###
  1400.  
  1401. bit_=gdevbit.$(OBJ) gdevprn.$(OBJ)
  1402. bit.dev: $(bit_)
  1403.     $(SHP)gssetdev bit $(bit_)
  1404.  
  1405. gdevbit.$(OBJ): gdevbit.c $(PDEVH)
  1406.  
  1407. ###### ----------------------- PC file formats ---------------------- ######
  1408.  
  1409. gdevpccm.$(OBJ): gdevpccm.c $(AK) \
  1410.   $(gs_h) $(gsmatrix_h) $(gxdevice_h) $(gdevpccm_h)
  1411.  
  1412. ### ------------------------- GIF file formats ------------------------- ###
  1413.  
  1414. GIF=gdevgif.$(OBJ) gdevpccm.$(OBJ) gdevprn.$(OBJ)
  1415.  
  1416. gdevgif.$(OBJ): gdevgif.c $(PDEVH) $(gdevpccm_h)
  1417.  
  1418. gifmono.dev: $(GIF)
  1419.     $(SHP)gssetdev gifmono $(GIF)
  1420.  
  1421. gif8.dev: $(GIF)
  1422.     $(SHP)gssetdev gif8 $(GIF)
  1423.  
  1424. ### ------------------------- PCX file formats ------------------------- ###
  1425.  
  1426. PCX=gdevpcx.$(OBJ) gdevpccm.$(OBJ) gdevprn.$(OBJ)
  1427.  
  1428. gdevpcx.$(OBJ): gdevpcx.c $(PDEVH) $(gdevpccm_h)
  1429.  
  1430. pcxmono.dev: $(PCX)
  1431.     $(SHP)gssetdev pcxmono $(PCX)
  1432.  
  1433. pcx16.dev: $(PCX)
  1434.     $(SHP)gssetdev pcx16 $(PCX)
  1435.  
  1436. pcx256.dev: $(PCX)
  1437.     $(SHP)gssetdev pcx256 $(PCX)
  1438.  
  1439. ###### ------------------- Portable Bitmap devices ------------------ ######
  1440. ### For more information, see the pbm(5), pgm(5), and ppm(5) man pages.  ###
  1441.  
  1442. PXM=gdevpbm.$(OBJ) gdevprn.$(OBJ)
  1443.  
  1444. gdevpbm.$(OBJ): gdevpbm.c $(PDEVH) $(gxlum_h)
  1445.  
  1446. ### Portable Bitmap (PBM, plain or raw format, magic numbers "P1" or "P4")
  1447.  
  1448. pbm.dev: $(PXM)
  1449.     $(SHP)gssetdev pbm $(PXM)
  1450.  
  1451. pbmraw.dev: $(PXM)
  1452.     $(SHP)gssetdev pbmraw $(PXM)
  1453.  
  1454. ### Portable Graymap (PGM, plain or raw format, magic numbers "P2" or "P5")
  1455.  
  1456. pgm.dev: $(PXM)
  1457.     $(SHP)gssetdev pgm $(PXM)
  1458.  
  1459. pgmraw.dev: $(PXM)
  1460.     $(SHP)gssetdev pgmraw $(PXM)
  1461.  
  1462. ### Portable Pixmap (PPM, plain or raw format, magic numbers "P3" or "P6")
  1463.  
  1464. ppm.dev: $(PXM)
  1465.     $(SHP)gssetdev ppm $(PXM)
  1466.  
  1467. ppmraw.dev: $(PXM)
  1468.     $(SHP)gssetdev ppmraw $(PXM)
  1469. #    Copyright (C) 1990, 1992 Aladdin Enterprises.  All rights reserved.
  1470. #    Distributed by Free Software Foundation, Inc.
  1471. #
  1472. # This file is part of Ghostscript.
  1473. #
  1474. # Ghostscript is distributed in the hope that it will be useful, but
  1475. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  1476. # to anyone for the consequences of using it or for whether it serves any
  1477. # particular purpose or works at all, unless he says so in writing.  Refer
  1478. # to the Ghostscript General Public License for full details.
  1479. #
  1480. # Everyone is granted permission to copy, modify and redistribute
  1481. # Ghostscript, but only under the conditions described in the Ghostscript
  1482. # General Public License.  A copy of this license is supposed to have been
  1483. # given to you along with Ghostscript so you can know your rights and
  1484. # responsibilities.  It should be in a file named COPYING.  Among other
  1485. # things, the copyright notice and this notice must be preserved on all
  1486. # copies.
  1487.  
  1488. # Partial makefile for Ghostscript, common to all Unix configurations.
  1489.  
  1490. # This is the last part of the makefile for Unix configurations.
  1491. # Since Unix make doesn't have an 'include' facility, we concatenate
  1492. # the various parts of the makefile together by brute force (in tar_cat).
  1493.  
  1494. # The following prevents GNU make from constructing argument lists that
  1495. # include all environment variables, which can easily be longer than
  1496. # brain-damaged system V allows.
  1497.  
  1498. .NOEXPORT:
  1499.  
  1500. # -------------------------------- Library -------------------------------- #
  1501.  
  1502. ## The Unix platforms
  1503.  
  1504. # We have to include a test for the existence of sys/time.h,
  1505. # because some System V platforms don't have it.
  1506.  
  1507. # All reasonable Unix platforms.
  1508. unix__=gp_unix.$(OBJ)
  1509. unix_.dev: $(unix__)
  1510.     $(SHP)gssetmod unix_ $(unix__)
  1511.  
  1512. gp_unix.$(OBJ): gp_unix.c $(AK) $(memory__h) $(string__h) $(gx_h) $(gp_h) \
  1513.  $(stat__h) $(time__h)
  1514.     if ( test -f /usr/include/sys/time.h ) then $(CCC) gp_unix.c;\
  1515.     else $(CCC) -DNOSYSTIME gp_unix.c; fi
  1516.  
  1517. # Brain-damaged System V platforms.
  1518. sysv__=gp_unix.$(OBJ) gp_sysv.$(OBJ)
  1519. sysv_.dev: $(sysv__)
  1520.     $(SHP)gssetmod sysv_ $(sysv__)
  1521.  
  1522. gp_sysv.$(OBJ): gp_sysv.c $(time__h) $(AK)
  1523.     if ( test -f /usr/include/sys/time.h ) then $(CCC) gp_sysv.c;\
  1524.     else $(CCC) -DNOSYSTIME gp_sysv.c; fi
  1525.  
  1526. # -------------------------- Auxiliary programs --------------------------- #
  1527.  
  1528. ansi2knr$(XE): ansi2knr.c $(stdio__h) $(string__h) $(malloc__h)
  1529.     $(CC) -o ansi2knr$(XE) $(CFLAGS) ansi2knr.c
  1530.  
  1531. echogs$(XE): echogs.c
  1532.     $(CC) -o echogs$(XE) $(CFLAGS) echogs.c
  1533.  
  1534. # On the RS/6000 (at least), compiling genarch.c with gcc with -O
  1535. # produces a buggy executable.
  1536. genarch$(XE): genarch.c
  1537.     $(CC) -o genarch$(XE) genarch.c
  1538.  
  1539. # ----------------------------- Main program ------------------------------ #
  1540.  
  1541. BEGINFILES=
  1542. CCBEGIN=$(CCC) *.c
  1543.  
  1544. # Main program
  1545.  
  1546. ALLUNIX=gsmain.$(OBJ) $(LIB)
  1547.  
  1548. # Interpreter main program
  1549.  
  1550. GSUNIX=gs.$(OBJ) $(INT) $(ALLUNIX)
  1551.  
  1552. # The second call on echogs writes a \.  This is the only
  1553. # way to do it that works with all flavors of shell!
  1554. gs: $(GSUNIX) obj.tr lib.tr echogs
  1555.     ./echogs -n - $(CC) $(LDFLAGS) $(XLIBDIRS) -o gs $(GSUNIX) >_temp_
  1556.     ./echogs -x 205c >>_temp_
  1557.     cat obj.tr >>_temp_
  1558.     cat lib.tr >>_temp_
  1559.     echo $(EXTRALIBS) -lm >>_temp_
  1560.     $(SH) <_temp_
  1561.  
  1562. # Installation
  1563.  
  1564. TAGS:
  1565.     etags -t *.c *.h
  1566.  
  1567. docdir=$(gsdatadir)/doc
  1568. exdir=$(gsdatadir)/examples
  1569. sysdir=$(gsdatadir)/system
  1570.  
  1571. install: gs
  1572.     -mkdir $(bindir)
  1573.     $(INSTALL_PROGRAM) gs $(bindir)
  1574.     $(INSTALL_PROGRAM) gsbj $(bindir)
  1575.     $(INSTALL_PROGRAM) gsdj $(bindir)
  1576.     $(INSTALL_PROGRAM) gslj $(bindir)
  1577.     $(INSTALL_PROGRAM) gslp $(bindir)
  1578.     $(INSTALL_PROGRAM) gsnd $(bindir)
  1579.     $(INSTALL_PROGRAM) bdftops $(bindir)
  1580.     $(INSTALL_PROGRAM) font2c $(bindir)
  1581.     -mkdir $(gsdatadir)
  1582.     $(INSTALL_DATA) README $(gsdatadir)
  1583.     $(INSTALL_DATA) gslp.ps $(gsdatadir)
  1584.     $(INSTALL_DATA) gs_init.ps $(gsdatadir)
  1585.     $(INSTALL_DATA) gs_2asc.ps $(gsdatadir)
  1586.     $(INSTALL_DATA) gs_dps1.ps $(gsdatadir)
  1587.     $(INSTALL_DATA) gs_fonts.ps $(gsdatadir)
  1588.     $(INSTALL_DATA) gs_lev2.ps $(gsdatadir)
  1589.     $(INSTALL_DATA) gs_statd.ps $(gsdatadir)
  1590.     $(INSTALL_DATA) sym__enc.ps $(gsdatadir)
  1591.     $(INSTALL_DATA) quit.ps $(gsdatadir)
  1592.     $(INSTALL_DATA) Fontmap $(gsdatadir)
  1593.     $(INSTALL_DATA) uglyr.gsf $(gsdatadir)
  1594.     $(INSTALL_DATA) bdftops.ps $(gsdatadir)
  1595.     $(INSTALL_DATA) decrypt.ps $(gsdatadir)
  1596.     $(INSTALL_DATA) font2c.ps $(gsdatadir)
  1597.     $(INSTALL_DATA) impath.ps $(gsdatadir)
  1598.     $(INSTALL_DATA) landscap.ps $(gsdatadir)
  1599.     $(INSTALL_DATA) prfont.ps $(gsdatadir)
  1600.     $(INSTALL_DATA) pstoppm.ps $(gsdatadir)
  1601.     $(INSTALL_DATA) type1ops.ps $(gsdatadir)
  1602.     $(INSTALL_DATA) wrfont.ps $(gsdatadir)
  1603.     -mkdir $(docdir)
  1604.     $(INSTALL_DATA) NEWS $(docdir)
  1605.     $(INSTALL_DATA) history.doc $(docdir)
  1606.     $(INSTALL_DATA) drivers.doc $(docdir)
  1607.     $(INSTALL_DATA) fonts.doc $(docdir)
  1608.     $(INSTALL_DATA) hershey.doc $(docdir)
  1609.     $(INSTALL_DATA) humor.doc $(docdir)
  1610.     $(INSTALL_DATA) language.doc $(docdir)
  1611.     $(INSTALL_DATA) lib.doc $(docdir)
  1612.     $(INSTALL_DATA) make.doc $(docdir)
  1613.     $(INSTALL_DATA) psfiles.doc $(docdir)
  1614.     $(INSTALL_DATA) readme.doc $(docdir)
  1615.     $(INSTALL_DATA) use.doc $(docdir)
  1616.     -mkdir $(exdir)
  1617.     $(INSTALL_DATA) chess.ps $(exdir)
  1618.     $(INSTALL_DATA) cheq.ps $(exdir)
  1619.     $(INSTALL_DATA) colorcir.ps $(exdir)
  1620.     $(INSTALL_DATA) golfer.ps $(exdir)
  1621.     $(INSTALL_DATA) escher.ps $(exdir)
  1622.     $(INSTALL_DATA) snowflak.ps $(exdir)
  1623.     $(INSTALL_DATA) tiger.ps $(exdir)
  1624.