home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / printing / ghostscrip / source / specific / mak / unix_cc < prev    next >
Encoding:
Text File  |  1991-10-26  |  28.1 KB  |  869 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/cc/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 default directory/ies for the runtime
  29. # initialization and font files.  Separate multiple directories with a :.
  30. # `pwd` means use the directory in which the 'make' is being done.
  31.  
  32. GS_LIB_DEFAULT=`pwd`:`pwd`/fonts
  33.  
  34. # Define the name of the Ghostscript initialization file.
  35. # (There is no reason to change this.)
  36.  
  37. GS_INIT=gs_init.ps
  38.  
  39. # Choose generic configuration options.
  40.  
  41. # -DDEBUG
  42. #    includes debugging features (-Z switch) in the code.
  43. #      Code runs substantially slower even if no debugging switches
  44. #      are set.
  45. # -DNOPRIVATE
  46. #    makes private (static) procedures and variables public,
  47. #      so they are visible to the debugger and profiler.
  48. #      No execution time or space penalty.
  49.  
  50. GENOPT=
  51.  
  52. # ------ Platform-specific options ------ #
  53.  
  54. # Define the other compilation flags.
  55. # Add -DBSD4_2 for 4.2bsd systems.
  56. # Add -DSYSV for System V.
  57. # XCFLAGS can be set from the command line.
  58.  
  59. CFLAGS=-O $(XCFLAGS)
  60.  
  61. # Define platform flags for ld.
  62. # Most Unix systems accept -X, but some don't.
  63. # Sun OS4.n may need -Bstatic.
  64. # XLDFLAGS can be set from the command line.
  65.  
  66. LDFLAGS=-X $(XLDFLAGS)
  67.  
  68. # Define any extra libraries to link into the executable.
  69. # The default is for X Windows.
  70.  
  71. EXTRALIBS= -lX11
  72.  
  73. # Define the installation commands and target directories for
  74. # executables and files.  Only relevant to `make install'.
  75.  
  76. proginstall = install -m 775
  77. fileinstall = install -m 664
  78. bindir = /usr/local/gnu/bin
  79. libdir = /usr/local/gnu/lib/ghostscript
  80.  
  81. # ------ Devices and features ------ #
  82.  
  83. # Choose the language feature(s) to include.  See ghost.mak for details.
  84.  
  85. FEATURES=
  86.  
  87. # Choose the device(s) to include.  See gdevs.mak for details.
  88.  
  89. DEVICES=x11
  90. DEVICE_DEVS=x11.dev
  91. DEVICE_OBJS=$(x11_)
  92.  
  93. # ---------------------------- End of options --------------------------- #
  94.  
  95. # Define the name of the makefile -- used in dependencies.
  96.  
  97. MAKEFILE=unix-cc.mak
  98.  
  99. # Define the extensions for the object and executable files.
  100.  
  101. OBJ=o
  102. XE=
  103.  
  104. # Define the ANSI-to-K&R dependency.
  105.  
  106. AK=ansi2knr$(XE)
  107.  
  108. # Define the need for uniq.
  109.  
  110. UNIQ=
  111.  
  112. # Define the directory separator and shell quote string.
  113.  
  114. DS=/
  115. Q=\"
  116.  
  117. # Define the compilation rules and flags.
  118.  
  119. CCFLAGS=$(GENOPT) $(CFLAGS)
  120.  
  121. .c.o:
  122.     ./ansi2knr $*.c _temp_.c
  123.     $(CC) $(CCFLAGS) -c _temp_.c
  124.     mv _temp_.o $*.o
  125.  
  126. CCC=./ccgs "$(CC) $(CCFLAGS)" _temp_.c
  127. CC0=$(CCC)
  128. CCINT=$(CCC)
  129.  
  130. # --------------------------- Generic makefile ---------------------------- #
  131.  
  132. # The remainder of the makefile (ghost.mak, gdevs.mak, and unixtail.mak)
  133. # is generic.  tar_gs concatenates all these together.
  134. #    Copyright (C) 1989, 1990, 1991 Aladdin Enterprises.  All rights reserved.
  135. #    Distributed by Free Software Foundation, Inc.
  136. #
  137. # This file is part of Ghostscript.
  138. #
  139. # Ghostscript is distributed in the hope that it will be useful, but
  140. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  141. # to anyone for the consequences of using it or for whether it serves any
  142. # particular purpose or works at all, unless he says so in writing.  Refer
  143. # to the Ghostscript General Public License for full details.
  144. #
  145. # Everyone is granted permission to copy, modify and redistribute
  146. # Ghostscript, but only under the conditions described in the Ghostscript
  147. # General Public License.  A copy of this license is supposed to have been
  148. # given to you along with Ghostscript so you can know your rights and
  149. # responsibilities.  It should be in a file named COPYING.  Among other
  150. # things, the copyright notice and this notice must be preserved on all
  151. # copies.
  152.  
  153. # Generic makefile for Ghostscript.
  154. # The platform-specific makefiles `include' this file.
  155. # They define the following symbols:
  156. #    GS_INIT - the name of the initialization file for Ghostscript,
  157. #        normally gs_init.ps.
  158. #    GS_LIB_DEFAULT - the default directory/ies for searching for the
  159. #        initialization and font files at run time.
  160. #    DEVICES, DEVICE_DEVS, DEVICE_OBJS - the devices to include in the
  161. #        executable.  See gdevs.mak for details.
  162. #    FEATURES - the optional features to include in the executable.
  163. #        (Currently no such features are defined; this is just a
  164. #        place-holder.)
  165. # It is very unlikely that anyone would want to edit the remaining
  166. #   symbols, but we describe them here for completeness:
  167. #    Q - the string that causes the shell to pass a " to a program
  168. #        (" on MS-DOS, \" on Unix).
  169. #    XE - the extension for executable files (e.g., null or .exe).
  170. #    OBJ - the extension for relocatable object files (e.g., o or obj).
  171. #    CCC - the C invocation for normal compilation.
  172. #    CC0 - a C invocation with the fewer possible flags.  Needed because
  173. #        MS-DOS limits the length of command lines to 128 characters.
  174. #    CCINT - the C invocation for compiling the main interpreter module,
  175. #        normally the same as CCC: this is needed because the
  176. #        Borland compiler generates *worse* code for this module
  177. #        (but only this module) when optimization (-O) is turned on.
  178. #    AK - if source files must be converted from ANSI to K&R syntax,
  179. #        this is ansi2knr$(XE); if not, it is null.
  180. #    UNIQ - null on systems that provide the uniq utility,
  181. #        uniq$(XE) on systems where we have to provide our own.
  182. #    DS - the directory separator (/ or \).
  183. # The platform-specific makefiles must also include rules for creating
  184. #   ansi2knr$(XE) and genarch$(XE) from the corresponding .c files,
  185. #   and for making arch.h by executing genarch$(XE).  (This
  186. #   shouldn't really be necessary, but Turbo C and Unix C treat the -o
  187. #   switch slightly differently (Turbo C requires no following space,
  188. #   Unix C requires a following space), and I haven't found a way to capture
  189. #   the difference in a macro; also, Unix requires ./ because . may not be
  190. #   in the search path, whereas MS-DOS always looks in the current
  191. #   directory first.)
  192.  
  193. default: gs$(XE)
  194.  
  195. test: gt$(XE)
  196.  
  197. clean:
  198.     rm -f *.$(OBJ) *.a core gmon.out
  199.     rm -f *.dev gconfig.h gconfig.tr
  200.     rm -f t _temp_* _temp_*.* libc*.tr *.map *.sym
  201.     rm -f ansi2knr$(XE) genarch$(XE) uniq$(XE) arch.h gs$(XE)
  202.  
  203. # Note: Unix uses malloc.h and memory.h;
  204. # Turbo C uses alloc.h, stdlib.h, and mem.h.
  205. # 4.2bsd uses strings.h; other systems use string.h.
  206. # gcc on VMS doesn't have a math.h.
  207. # We handle this by using local include files called
  208. # malloc_.h, math_.h, memory_.h, and string_.h
  209. # that perform appropriate indirection.
  210.  
  211. # Auxiliary programs
  212.  
  213. # genarch may cause a (deliberate) addressing fault,
  214. # so we invoke it with a preceding -.
  215.  
  216. arch.h: genarch$(XE)
  217.     - .$(DS)genarch arch.h
  218.  
  219. # -------------------------------- Library -------------------------------- #
  220.  
  221. gs.h: std.h
  222.     touch gs.h
  223.  
  224. gx.h: gs.h
  225.     touch gx.h
  226.  
  227. GX=$(AK) std.h gx.h
  228. GXERR=$(GX) gserrors.h
  229.  
  230. ###### High-level facilities
  231.  
  232. gschar.$(OBJ): gschar.c $(GXERR) \
  233.   gxfixed.h gxarith.h gxmatrix.h gzdevice.h gxdevmem.h gxfont.h gxchar.h gstype1.h gspath.h gzpath.h gzcolor.h gzstate.h
  234.  
  235. gschar0.$(OBJ): gschar0.c $(GXERR) \
  236.   gxfixed.h gxmatrix.h gzdevice.h gxdevmem.h gxfont.h gxchar.h gzstate.h
  237.  
  238. gscolor.$(OBJ): gscolor.c $(GXERR) \
  239.   gxfixed.h gxmatrix.h gxdevice.h gzstate.h gzcolor.h gzht.h
  240.  
  241. gscoord.$(OBJ): gscoord.c $(GXERR) \
  242.   gxfixed.h gxmatrix.h gzdevice.h gzstate.h gscoord.h
  243.  
  244. gsdevice.$(OBJ): gsdevice.c $(GXERR) \
  245.   gxfixed.h gxmatrix.h gxbitmap.h gxdevmem.h gzstate.h gzdevice.h
  246.  
  247. gsfile.$(OBJ): gsfile.c $(GXERR) \
  248.   gsmatrix.h gxdevice.h gxdevmem.h
  249.  
  250. gsfont.$(OBJ): gsfont.c $(GXERR) \
  251.   gxdevice.h gxfixed.h gxmatrix.h gxfont.h gxfdir.h gzstate.h
  252.  
  253. gsimage.$(OBJ): gsimage.c $(GXERR) \
  254.   arch.h gxfixed.h gxarith.h gxmatrix.h gspaint.h gzcolor.h gzdevice.h gzpath.h gzstate.h gximage.h
  255.  
  256. gsim2out.$(OBJ): gsim2out.c $(GXERR) \
  257.   gsstate.h gsmatrix.h gscoord.h gxfixed.h gxtype1.h
  258.  
  259. gsline.$(OBJ): gsline.c $(GXERR) \
  260.   gxfixed.h gxmatrix.h gzstate.h gzline.h
  261.  
  262. gsmatrix.$(OBJ): gsmatrix.c $(GXERR) \
  263.   gxfixed.h gxarith.h gxmatrix.h
  264.  
  265. gsmisc.$(OBJ): gsmisc.c $(GX)
  266.  
  267. gspaint.$(OBJ): gspaint.c $(GX) \
  268.   gxfixed.h gxmatrix.h gspaint.h gzpath.h gzstate.h gzdevice.h gximage.h
  269.  
  270. gspath.$(OBJ): gspath.c $(GXERR) \
  271.   gxfixed.h gxmatrix.h gxpath.h gzstate.h
  272.  
  273. gspath2.$(OBJ): gspath2.c $(GXERR) \
  274.   gspath.h gxfixed.h gxmatrix.h gzstate.h gzpath.h gzdevice.h
  275.  
  276. gsstate.$(OBJ): gsstate.c $(GXERR) \
  277.   gxfixed.h gxmatrix.h gzstate.h gzcolor.h gzdevice.h gzht.h gzline.h gzpath.h
  278.  
  279. gstdev.$(OBJ): gstdev.c $(GX) \
  280.   gxbitmap.h gxdevice.h gxfixed.h gxmatrix.h
  281.  
  282. gstype1.$(OBJ): gstype1.c $(GXERR) \
  283.   gxarith.h gxfixed.h gxmatrix.h gxchar.h gxdevmem.h gxop1.h gxtype1.h \
  284.   gzstate.h gzdevice.h gzpath.h
  285.  
  286. ###### Low-level facilities
  287.  
  288. ### Nested include files
  289.  
  290. gsstate.h: gscolor.h
  291.     touch gsstate.h
  292.  
  293. gxchar.h: gschar.h
  294.     touch gxchar.h
  295.  
  296. gxfont.h: gsfont.h
  297.     touch gxfont.h
  298.  
  299. gxmatrix.h: gsmatrix.h
  300.     touch gxmatrix.h
  301.  
  302. gxtype1.h: gstype1.h
  303.     touch gxtype1.h
  304.  
  305. gzcolor.h: gscolor.h
  306.     touch gzcolor.h
  307.  
  308. gzdevice.h: gxdevice.h
  309.     touch gzdevice.h
  310.  
  311. gzpath.h: gxpath.h
  312.     touch gzpath.h
  313.  
  314. gzstate.h: gsstate.h
  315.     touch gzstate.h
  316.  
  317. ### Executable code
  318.  
  319. gxcache.$(OBJ): gxcache.c $(GXERR) \
  320.   gxfixed.h gxmatrix.h gspaint.h gzdevice.h gzcolor.h gxdevmem.h gxfont.h gxfdir.h gxchar.h gzstate.h gzpath.h
  321.  
  322. gxclist.$(OBJ): gxclist.c $(GXERR) \
  323.   gsmatrix.h gxbitmap.h gxclist.h gxdevice.h gxdevmem.h
  324.  
  325. gxcolor.$(OBJ): gxcolor.c $(GXERR) \
  326.   gxfixed.h gxmatrix.h gxdevice.h gzcolor.h gzht.h gzstate.h
  327.  
  328. gxdither.$(OBJ): gxdither.c $(GX) \
  329.   gxfixed.h gxmatrix.h gzstate.h gzdevice.h gzcolor.h gzht.h
  330.  
  331. gxdraw.$(OBJ): gxdraw.c $(GX) \
  332.   gxfixed.h gxmatrix.h gxbitmap.h gzcolor.h gzdevice.h gzstate.h
  333.  
  334. gxfill.$(OBJ): gxfill.c $(GXERR) \
  335.   gxfixed.h gxmatrix.h gxdevice.h gzcolor.h gzpath.h gzstate.h
  336.  
  337. gxht.$(OBJ): gxht.c $(GXERR) \
  338.   gxfixed.h gxmatrix.h gxbitmap.h gzstate.h gzcolor.h gzdevice.h gzht.h
  339.  
  340. gxpath.$(OBJ): gxpath.c $(GXERR) \
  341.   gxfixed.h gzpath.h
  342.  
  343. gxpath2.$(OBJ): gxpath2.c $(GXERR) \
  344.   gxfixed.h gxarith.h gzpath.h
  345.  
  346. gxstroke.$(OBJ): gxstroke.c $(GXERR) \
  347.   gxfixed.h gxarith.h gxmatrix.h gzstate.h gzcolor.h gzdevice.h gzline.h gzpath.h
  348.  
  349. ###### The "memory" device
  350.  
  351. gdevmem.$(OBJ): gdevmem.c $(AK) \
  352.   gs.h arch.h gxbitmap.h gsmatrix.h gxdevice.h gxdevmem.h
  353.  
  354. ###### Files dependent on the set of installed devices.
  355. ###### Generating gconfig.h also generates gconfig.tr.
  356.  
  357. gconfig.h gconfig.tr: gdevs.mak $(MAKEFILE) $(UNIQ) $(DEVICE_DEVS)
  358.     .$(DS)gsconfig $(DEVICES) + $(FEATURES)
  359.  
  360. gconfig.$(OBJ): gconfig.c $(AK) gconfig.h $(MAKEFILE)
  361.     $(CC0) -DGS_LIB_DEFAULT=$(Q)$(GS_LIB_DEFAULT)$(Q) -DGS_INIT=$(Q)$(GS_INIT)$(Q) gconfig.c
  362.  
  363. ###### On Unix, we pre-link all of the library except the back end.
  364. ###### On MS-DOS, we have to do the whole thing at once.
  365.  
  366. LIB=gschar.$(OBJ) gschar0.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) \
  367.  gsdevice.$(OBJ) gsfile.$(OBJ) gsfont.$(OBJ) \
  368.  gsimage.$(OBJ) gsim2out.$(OBJ) \
  369.  gsline.$(OBJ) gsmatrix.$(OBJ) gsmisc.$(OBJ) \
  370.  gspaint.$(OBJ) gspath.$(OBJ) gspath2.$(OBJ) \
  371.  gsstate.$(OBJ) gstdev.$(OBJ) gstype1.$(OBJ) \
  372.  gxcache.$(OBJ) gxclist.$(OBJ) gxcolor.$(OBJ) \
  373.  gxdither.$(OBJ) gxdraw.$(OBJ) gxfill.$(OBJ) \
  374.  gxht.$(OBJ) gxpath.$(OBJ) gxpath2.$(OBJ) gxstroke.$(OBJ) \
  375.  gdevmem.$(OBJ) gconfig.$(OBJ)
  376.  
  377. # ------------------------------ Interpreter ------------------------------ #
  378.  
  379. ###### Utilities
  380.  
  381. GH=$(AK) ghost.h
  382.  
  383. ialloc.$(OBJ): ialloc.c $(AK) gs.h alloc.h astate.h
  384.  
  385. idebug.$(OBJ): idebug.c $(GH) \
  386.  iutil.h dict.h name.h ostack.h opdef.h packed.h store.h
  387.  
  388. idict.$(OBJ): idict.c $(GH) alloc.h errors.h name.h save.h store.h dict.h
  389.  
  390. iinit.$(OBJ): iinit.c $(GH) alloc.h dict.h errors.h name.h oper.h store.h
  391.  
  392. iname.$(OBJ): iname.c $(GH) alloc.h errors.h name.h store.h
  393.  
  394. isave.$(OBJ): isave.c $(GH) alloc.h astate.h name.h save.h store.h
  395.  
  396. iscan.$(OBJ): iscan.c $(GH) arch.h alloc.h dict.h errors.h iutil.h \
  397.  name.h ostack.h packed.h store.h stream.h scanchar.h
  398.  
  399. iutil.$(OBJ): iutil.c $(GH) \
  400.  errors.h alloc.h iutil.h name.h ostack.h oper.h store.h \
  401.  gsmatrix.h gxdevice.h gzcolor.h
  402.  
  403. stream.$(OBJ): stream.c $(AK) std.h stream.h scanchar.h gxfixed.h gstype1.h
  404.  
  405. ###### Operators
  406.  
  407. ghost.h: gx.h
  408.     touch ghost.h
  409.  
  410. oper.h: iutil.h opdef.h ostack.h
  411.     touch oper.h
  412.  
  413. OP=$(GH) errors.h oper.h ostack.h
  414.  
  415. ### Non-graphics operators
  416.  
  417. zarith.$(OBJ): zarith.c $(OP) store.h
  418.  
  419. zarray.$(OBJ): zarray.c $(OP) alloc.h packed.h store.h
  420.  
  421. zcontrol.$(OBJ): zcontrol.c $(OP) estack.h iutil.h store.h
  422.  
  423. zdict.$(OBJ): zdict.c $(OP) dict.h store.h
  424.  
  425. zfile.$(OBJ): zfile.c $(OP) gp.h \
  426.   alloc.h estack.h file.h iutil.h save.h stream.h store.h
  427.  
  428. zfileio.$(OBJ): zfileio.c $(OP) \
  429.   estack.h file.h store.h stream.h \
  430.   gsmatrix.h gxdevice.h gxdevmem.h
  431.  
  432. zgeneric.$(OBJ): zgeneric.c $(OP) dict.h estack.h name.h packed.h store.h
  433.  
  434. zmath.$(OBJ): zmath.c $(OP) store.h
  435.  
  436. zmisc.$(OBJ): zmisc.c $(OP) gp.h alloc.h dict.h name.h packed.h store.h \
  437.   gstype1.h gxfixed.h
  438.  
  439. zpacked.$(OBJ): zpacked.c $(OP) \
  440.   arch.h alloc.h dict.h name.h packed.h save.h store.h
  441.  
  442. zrelbit.$(OBJ): zrelbit.c $(OP) store.h dict.h
  443.  
  444. zstack.$(OBJ): zstack.c $(OP) store.h
  445.  
  446. zstring.$(OBJ): zstring.c $(OP) alloc.h iutil.h name.h store.h stream.h
  447.  
  448. ztype.$(OBJ): ztype.c $(OP) dict.h iutil.h name.h stream.h store.h
  449.  
  450. zvmem.$(OBJ): zvmem.c $(OP) alloc.h estack.h save.h state.h store.h \
  451.   gsmatrix.h gsstate.h
  452.  
  453. ###### Graphics operators
  454.  
  455. 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 font.h estack.h state.h store.h
  456.  
  457. zcolor.$(OBJ): zcolor.c $(OP) alloc.h estack.h gsmatrix.h gsstate.h gzcolor.h iutil.h state.h store.h
  458.  
  459. zdevice.$(OBJ): zdevice.c $(OP) alloc.h state.h gsmatrix.h gsstate.h gxdevice.h store.h
  460.  
  461. zfont.$(OBJ): zfont.c $(OP) gsmatrix.h gxdevice.h gxfont.h gxfdir.h \
  462.  alloc.h font.h dict.h name.h packed.h save.h state.h store.h
  463.  
  464. zfont0.$(OBJ): zfont0.c $(OP) gsmatrix.h gxdevice.h gxfont.h \
  465.  alloc.h font.h dict.h name.h state.h store.h
  466.  
  467. zfont2.$(OBJ): zfont2.c $(OP) gsmatrix.h gxdevice.h gschar.h gxfixed.h gxfont.h \
  468.  alloc.h dict.h font.h name.h packed.h store.h
  469.  
  470. zgstate.$(OBJ): zgstate.c $(OP) alloc.h gsmatrix.h gsstate.h state.h store.h
  471.  
  472. zht.$(OBJ): zht.c $(OP) alloc.h estack.h gsmatrix.h gsstate.h state.h store.h
  473.  
  474. zmatrix.$(OBJ): zmatrix.c $(OP) gsmatrix.h state.h gscoord.h store.h
  475.  
  476. zpaint.$(OBJ): zpaint.c $(OP) alloc.h estack.h gsmatrix.h gspaint.h state.h store.h
  477.  
  478. zpath.$(OBJ): zpath.c $(OP) gsmatrix.h gspath.h state.h store.h
  479.  
  480. zpath2.$(OBJ): zpath2.c $(OP) alloc.h estack.h gspath.h state.h store.h
  481.  
  482. ###### Linking
  483.  
  484. INT=ialloc.$(OBJ) idebug.$(OBJ) idict.$(OBJ) iinit.$(OBJ) iname.$(OBJ) \
  485.  interp.$(OBJ) isave.$(OBJ) iscan.$(OBJ) iutil.$(OBJ) stream.$(OBJ) \
  486.  zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ) \
  487.  zfile.$(OBJ) zfileio.$(OBJ) zgeneric.$(OBJ) \
  488.  zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ) zrelbit.$(OBJ) \
  489.  zstack.$(OBJ) zstring.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ) \
  490.  zchar.$(OBJ) zcolor.$(OBJ) zfont.$(OBJ) zfont0.$(OBJ) zfont2.$(OBJ) \
  491.  zdevice.$(OBJ) zgstate.$(OBJ) zht.$(OBJ) zmatrix.$(OBJ) \
  492.  zpaint.$(OBJ) zpath.$(OBJ) zpath2.$(OBJ)
  493.  
  494. # ----------------------------- Main program ------------------------------ #
  495.  
  496. # Utilities shared between platforms
  497.  
  498. gsmain.$(OBJ): gsmain.c $(GX) \
  499.   gp.h gsmatrix.h gxdevice.h
  500.  
  501. # The default font
  502.  
  503. uglyr.gsf: ugly10.bdf bdftops.ps gs$(XE)
  504.     .$(DS)gs -q -dNODISPLAY -- bdftops.ps ugly10.bdf uglyr.gsf
  505.  
  506. # Interpreter main program
  507.  
  508. interp.$(OBJ): interp.c $(GH) \
  509.   errors.h estack.h name.h dict.h oper.h ostack.h packed.h save.h store.h stream.h
  510.     $(CCINT) interp.c
  511.  
  512. gs.$(OBJ): gs.c $(GH) alloc.h estack.h ostack.h store.h stream.h
  513. #    Copyright (C) 1989, 1990, 1991 Aladdin Enterprises.  All rights reserved.
  514. #    Distributed by Free Software Foundation, Inc.
  515. #
  516. # This file is part of Ghostscript.
  517. #
  518. # Ghostscript is distributed in the hope that it will be useful, but
  519. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  520. # to anyone for the consequences of using it or for whether it serves any
  521. # particular purpose or works at all, unless he says so in writing.  Refer
  522. # to the Ghostscript General Public License for full details.
  523. #
  524. # Everyone is granted permission to copy, modify and redistribute
  525. # Ghostscript, but only under the conditions described in the Ghostscript
  526. # General Public License.  A copy of this license is supposed to have been
  527. # given to you along with Ghostscript so you can know your rights and
  528. # responsibilities.  It should be in a file named COPYING.  Among other
  529. # things, the copyright notice and this notice must be preserved on all
  530. # copies.
  531.  
  532. # makefile for Ghostscript device drivers.
  533.  
  534. # -------------------------------- Catalog ------------------------------- #
  535.  
  536. # It is possible to build Ghostscript with an arbitrary collection of
  537. # device drivers, although many drivers are supported only on a subset
  538. # of the target platforms.  The currently available drivers are:
  539.  
  540. # Displays:
  541. #    bgi    Borland Graphics Interface   [MS-DOS only]
  542. #    ega    EGA display   [MS-DOS only]
  543. # +    mdb10    EIZO MDB-10 display (1024 x 768)   [MS-DOS only]
  544. # *    pe    Private Eye display  [MS-DOS only]
  545. # +    sonyfb    Sony Microsystems monochrome display   [Sony only]
  546. #    sunview  SunView window system   [SunOS only]
  547. #    vga    VGA display   [MS-DOS only]
  548. #    x11    X Windows version 11, release >=3   [Unix only]
  549. # Printers:
  550. #    bit    A "bit bucket" device for time benchmarking
  551. # +    bj10e    Canon BubbleJet BJ10e  [MS-DOS only]
  552. # +    deskjet  H-P DeskJet   [MS-DOS & Unix]
  553. #    epson    Epson dot matrix printers   [MS-DOS & Unix]
  554. # +    laserjet  H-P LaserJet   [MS-DOS & Unix]
  555. # +    ljet2p    H-P LaserJet IId/IIp/III* with TIFF compression   [ditto]
  556. # +    ljet3    H-P LaserJet III* with Delta Row compression   [ditto]
  557. # +    nwp533  Sony Microsystems NWP533 laser printer   [Sony only]
  558. # +    paintjet  H-P PaintJet color printer [MS-DOS & Unix]
  559. # *    trufax    TruFax facsimile driver  [Unix only]
  560.  
  561. # User-contributed drivers marked with * require hardware or software
  562. # that is not available to Aladdin Enterprises.  Please contact the
  563. # original contributors, not Aladdin Enterprises, if you have questions.
  564. # Contact information appears in the driver entry below.  Drivers marked
  565. # with a + are maintained by Aladdin Enterprises with the assistance of
  566. # users, since Aladdin Enterprises doesn't have the hardware for these
  567. # either.
  568.  
  569. # If you add drivers, it would be nice if you kept each list
  570. # in alphabetical order.
  571.  
  572. # Each platform-specific makefile must contain lines of the form
  573. #    DEVICES=<dev1> ... <devn>
  574. #    DEVICE_DEVS=<dev1>.dev ... <devn>.dev
  575. #    DEVICE_OBJS=$(<dev1>_) ... $(<devn>_)
  576. # where dev1 ... devn are the devices to be included in the build.
  577. # dev1 will be used as the default device.  Don't forget the _s!
  578. # On MS-DOS platforms, the first two of these lines must appear *before*,
  579. # and the last *after*, the lines
  580. #    (!)include gdevs.mak
  581. #    (!)include ghost.mak
  582. # in the makefile.  On Unix systems, these device definition lines
  583. # may appear anywhere in the makefile.
  584. #
  585. # The executable must be linked with all the files named in DEVICE_OBJS.
  586. # On MS-DOS platforms, this is done by constructing a file called
  587. # gconfig.tr, to get around the limit on the length of a DOS command line.
  588.  
  589. # ---------------------------- End of catalog ---------------------------- #
  590.  
  591. # If you want to add a new device driver, the examples below should be
  592. # enough of a guide to the correct form for the makefile rules.
  593. #
  594. # ****** IMPORTANT NOTE ******
  595. #
  596. # The names of the relocatable (.OBJ) files for MS-DOS drivers
  597. # must be unique in the first *7* characters, because of the way
  598. # the makefile eliminates duplicates.
  599.  
  600. # All device drivers depend on the following
  601. # (note that we include some indirect dependencies explicitly):
  602.  
  603. GDEV=$(AK) gs.h gx.h gsmatrix.h gxbitmap.h gxdevice.h
  604.  
  605. ###### ------------------- MS-DOS display devices ------------------- ######
  606.  
  607. ### All the devices use the same driver, with different parameters.
  608.  
  609. gdevegaa.$(OBJ): gdevegaa.asm
  610.  
  611. ETEST=ega.$(OBJ) trace.$(OBJ) $(ega_)
  612. ega.exe: $(ETEST) libc$(MM).tr
  613.     tlink /m /l $(LIBDIR)\c0$(MM) @ega.tr @libc$(MM).tr
  614.  
  615. ega.$(OBJ): ega.c $(GDEV)
  616.  
  617. PCFB=gdevpcfb.$(OBJ) gdevegaa.$(OBJ)
  618.  
  619. gdevpcfb.$(OBJ): gdevpcfb.c $(GDEV)
  620.  
  621. ### -------------------------- The EGA device -------------------------- ###
  622.  
  623. ega_=$(PCFB)
  624. ega.dev: $(ega_)
  625.     .$(DS)gssetdev ega.dev $(ega_)
  626.  
  627. ### -------------------------- The VGA device -------------------------- ###
  628.  
  629. vga_=$(PCFB)
  630. vga.dev: $(vga_)
  631.     .$(DS)gssetdev vga.dev $(vga_)
  632.  
  633. ### ---------------------- The EIZO MDB-10 device ---------------------- ###
  634.  
  635. mdb10_=$(PCFB)
  636. mdb10.dev: $(mdb10_)
  637.     .$(DS)gssetdev mdb10.dev $(mdb10_)
  638.  
  639. ###### --------- The BGI (Borland Graphics Interface) device -------- ######
  640.  
  641. bgi_=gdevbgi.$(OBJ) egavga.$(OBJ)
  642. bgi.dev: $(bgi_)
  643.     .$(DS)gssetdev bgi.dev $(bgi_)
  644.  
  645. gdevbgi.$(OBJ): gdevbgi.c $(GDEV)
  646.  
  647. egavga.$(OBJ): $(BGIDIR)\egavga.bgi
  648.     $(BGIDIR)\bgiobj $(BGIDIR)\egavga
  649.  
  650. ###### ------------------- The Private Eye display ------------------- ######
  651. ### Note: this driver was contributed by a user:                          ###
  652. ###   please contact narf@media-lab.media.mit.edu if you have questions.  ###
  653.  
  654. pe_=gdevpe.$(OBJ)
  655. pe.dev: $(pe_)
  656.     .$(DS)gssetdev pe.dev $(pe_)
  657.  
  658. gdevpe.$(OBJ): gdevpe.c $(GDEV)
  659.  
  660. ###### --------------- Memory-buffered printer devices --------------- ######
  661.  
  662. PDEVH=$(GDEV) gxdevmem.h gxclist.h gdevprn.h
  663.  
  664. gdevprn.$(OBJ): gdevprn.c $(PDEVH)
  665.  
  666. ### ---------------------- The bit bucket device ----------------------- ###
  667.  
  668. bit_=gdevbit.$(OBJ) gdevprn.$(OBJ)
  669. bit.dev: $(bit_)
  670.     .$(DS)gssetdev bit.dev $(bit_)
  671.  
  672. gdevbit.$(OBJ): gdevbit.c $(PDEVH)
  673.  
  674. ### ----------------- The Canon BubbleJet BJ10e device ----------------- ###
  675.  
  676. bj10e_=gdevbj10.$(OBJ) gdevprn.$(OBJ)
  677. bj10e.dev: $(bj10e_)
  678.     .$(DS)gssetdev bj10e.dev $(bj10e_)
  679.  
  680. gdevbj10.$(OBJ): gdevbj10.c $(PDEVH)
  681.  
  682. ### ----------- The H-P DeskJet and LaserJet printer devices ----------- ###
  683.  
  684. ### These are essentially the same device.
  685.  
  686. HPMONO=gdevdjet.$(OBJ) gdevprn.$(OBJ)
  687.  
  688. gdevdjet.$(OBJ): gdevdjet.c $(PDEVH)
  689.  
  690. deskjet_=$(HPMONO)
  691. deskjet.dev: $(deskjet_)
  692.     .$(DS)gssetdev deskjet.dev $(deskjet_)
  693.  
  694. laserjet_=$(HPMONO)
  695. laserjet.dev: $(laserjet_)
  696.     .$(DS)gssetdev laserjet.dev $(laserjet_)
  697.  
  698. ### Selecting ljet2p provides TIFF (mode 2) compression on LaserJet III,
  699. ### IIIp, IIId, IIIsi, IId, and IIp. 
  700.  
  701. ljet2p_=$(HPMONO)
  702. ljet2p.dev: $(ljet2p_)
  703.     .$(DS)gssetdev ljet2p.dev $(ljet2p_)
  704.  
  705. ### Selecting ljet3 provides Delta Row (mode 3) compression on LaserJet III,
  706. ### IIIp, IIId, IIIsi.
  707.  
  708. ljet3_=$(HPMONO)
  709. ljet3.dev: $(ljet3_)
  710.     .$(DS)gssetdev ljet3.dev $(ljet3_)
  711.  
  712. ### ----------------- The generic Epson printer device ----------------- ###
  713. ### Note that you can set the default density in the command line below. ###
  714.  
  715. epson_=gdevepsn.$(OBJ) gdevprn.$(OBJ)
  716. epson.dev: $(epson_)
  717.     .$(DS)gssetdev epson.dev $(epson_)
  718.  
  719. gdevepsn.$(OBJ): gdevepsn.c $(PDEVH) gdevs.mak
  720.     $(CCC) -DX_DPI=180 -DY_DPI=180 gdevepsn.c
  721.  
  722. ### ------------ The H-P PaintJet color printer device ----------------- ###
  723. ### Note: this driver was contributed by users:                          ###
  724. ###       please contact marc@vlsi.polymtl.ca if you have questions.     ###
  725. ### The files are packaged separately from the rest of the fileset.      ###
  726.  
  727. paintjet_=gdevpjet.$(OBJ) gdevprn.$(OBJ)
  728. paintjet.dev: $(paintjet_)
  729.     .$(DS)gssetdev paintjet.dev $(paintjet_)
  730.  
  731. gdevpjet.$(OBJ): gdevpjet.c $(PDEVH)
  732.  
  733. ###### ------------------ Sony frame buffer device ----------------- ######
  734.  
  735. sonyfb_=gdevsnfb.$(OBJ) gdevprn.$(OBJ)
  736. sonyfb.dev: $(sonyfb_)
  737.     .$(DS)gssetdev sonyfb.dev $(sonyfb_)
  738.  
  739. gdevsnfb.$(OBJ): gdevsnfb.c $(PDEVH)
  740.  
  741. ###### ----------------- Sony NWP533 printer device ----------------- ######
  742.  
  743. nwp533_=gdevn533.$(OBJ) gdevprn.$(OBJ)
  744. nwp533.dev: $(nwp533_)
  745.     .$(DS)gssetdev nwp533.dev $(nwp533_)
  746.  
  747. gdevn533.$(OBJ): gdevn533.c $(PDEVH)
  748.  
  749. ###### --------------------- The SunView device --------------------- ######
  750.  
  751. sunview_=gdevsun.$(OBJ)
  752. sunview.dev: $(sunview_)
  753.     .$(DS)gssetdev sunview.dev $(sunview_)
  754.  
  755. gdevsun.$(OBJ): gdevsun.c $(GDEV) arch.h
  756.  
  757. ### ----------------- The TruFax facsimile device ---------------------- ###
  758. ### Note: this driver was contributed by users:                          ###
  759. ###       please contact nao@bellcore.com if you have questions.         ###
  760. ### Note that the driver requires a file encode_l.o supplied by the      ###
  761. ###   makers of the TruFax product.                                      ###
  762.  
  763. trufax_=gdevtrfx.$(OBJ) gdevprn.$(OBJ) encode_l.$(OBJ)
  764. trufax.dev: $(trufax_)
  765.     .$(DS)gssetdev trufax.dev $(trufax_)
  766.  
  767. gdevtrfx.$(OBJ): gdevtrfx.c $(GDEV)
  768.  
  769. ###### ----------------------- The X11 device ----------------------- ######
  770.  
  771. x11_=gdevx.$(OBJ)
  772. x11.dev: $(x11_)
  773.     .$(DS)gssetdev x11.dev $(x11_)
  774.  
  775. ### Note: if the X11 client header libraries are located in a directory
  776. ### which your compiler automatically searches, you may remove the -I switch
  777. ### from the compilation line below; if not, you may have to edit the line
  778. ### so that it mentions the correct directory.
  779. gdevx.$(OBJ): gdevx.c $(GDEV) gdevx.h
  780.     $(CCC) -I/usr/local/X/include gdevx.c
  781. #    Copyright (C) 1990, 1991 Aladdin Enterprises.  All rights reserved.
  782. #    Distributed by Free Software Foundation, Inc.
  783. #
  784. # This file is part of Ghostscript.
  785. #
  786. # Ghostscript is distributed in the hope that it will be useful, but
  787. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  788. # to anyone for the consequences of using it or for whether it serves any
  789. # particular purpose or works at all, unless he says so in writing.  Refer
  790. # to the Ghostscript General Public License for full details.
  791. #
  792. # Everyone is granted permission to copy, modify and redistribute
  793. # Ghostscript, but only under the conditions described in the Ghostscript
  794. # General Public License.  A copy of this license is supposed to have been
  795. # given to you along with Ghostscript so you can know your rights and
  796. # responsibilities.  It should be in a file named COPYING.  Among other
  797. # things, the copyright notice and this notice must be preserved on all
  798. # copies.
  799.  
  800. # Partial makefile for Ghostscript, common to all Unix configurations.
  801.  
  802. # This is the last part of the makefile for Unix configurations.
  803. # Since Unix make doesn't have an 'include' facility, we concatenate
  804. # the various parts of the makefile together by brute force (in tar_gs).
  805.  
  806. # -------------------------------- Library -------------------------------- #
  807.  
  808. ## The Unix platform
  809.  
  810. PLATUNIX=gp_unix.$(OBJ)
  811.  
  812. gp_unix.$(OBJ): gp_unix.c gp.h
  813.  
  814. # -------------------------- Auxiliary programs --------------------------- #
  815.  
  816. ansi2knr$(XE):
  817.     $(CC) -o ansi2knr$(XE) $(CFLAGS) ansi2knr.c $(EXTRALIBS)
  818.  
  819. genarch$(XE): genarch.c
  820.     $(CC) -o genarch$(XE) $(CFLAGS) genarch.c $(EXTRALIBS)
  821.  
  822. # ----------------------------- Main program ------------------------------ #
  823.  
  824. # (Dummy) tracing package
  825.  
  826. utrace.$(OBJ): utrace.c cframe_.h
  827.  
  828. # Main program
  829.  
  830. ALLUNIX=gsmain.$(OBJ) utrace.$(OBJ) $(LIB) $(PLATUNIX) $(DEVICE_OBJS)
  831.  
  832. # Interpreter main program
  833.  
  834. GSUNIX=gs.$(OBJ) $(INT) $(ALLUNIX)
  835.  
  836. gs: $(GSUNIX)
  837.     $(CC) $(LDFLAGS) -o gs $(GSUNIX) $(EXTRALIBS) -lm
  838.  
  839. # Installation
  840.  
  841. sysps = gs_init.ps gs_fonts.ps gs_statd.ps symbol_e.ps gconfig.ps quit.ps
  842. sysfiles = $(sysps) Fontmap uglyr.gsf
  843. artps = chess.ps cheq.ps golfer.ps escher.ps
  844. utilps = decrypt.ps bdftops.ps pfbtops.ps pstoppm.ps fcutils.ps prfont.ps
  845.  
  846. install:
  847.     $(proginstall) gs $(bindir)
  848.     $(proginstall) gsnd $(bindir)
  849.     $(proginstall) bdftops $(bindir)
  850.     $(proginstall) pfbtops $(bindir)
  851.     $(fileinstall) gs_init.ps $(libdir)
  852.     $(fileinstall) gs_fonts.ps $(libdir)
  853.     $(fileinstall) gs_statd.ps $(libdir)
  854.     $(fileinstall) symbol_e.ps $(libdir)
  855.     $(fileinstall) gconfig.ps $(libdir)
  856.     $(fileinstall) quit.ps $(libdir)
  857.     $(fileinstall) Fontmap $(libdir)
  858.     $(fileinstall) uglyr.gsf $(libdir)
  859.     $(fileinstall) chess.ps $(libdir)
  860.     $(fileinstall) cheq.ps $(libdir)
  861.     $(fileinstall) golfer.ps $(libdir)
  862.     $(fileinstall) escher.ps $(libdir)
  863.     $(fileinstall) decrypt.ps $(libdir)
  864.     $(fileinstall) bdftops.ps $(libdir)
  865.     $(fileinstall) pfbtops.ps $(libdir)
  866.     $(fileinstall) pstoppm.ps $(libdir)
  867.     $(fileinstall) fcutils.ps $(libdir)
  868.     $(fileinstall) prfont.ps $(libdir)
  869.