unixansi.mak 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  1. # Copyright (C) 1997-2002 artofcode LLC. All rights reserved.
  2. #
  3. # This software is provided AS-IS with no warranty, either express or
  4. # implied.
  5. #
  6. # This software is distributed under license and may not be copied,
  7. # modified or distributed except as expressly authorized under the terms
  8. # of the license contained in the file LICENSE in this distribution.
  9. #
  10. # For more information about licensing, please refer to
  11. # http://www.ghostscript.com/licensing/. For information on
  12. # commercial licensing, go to http://www.artifex.com/licensing/ or
  13. # contact Artifex Software, Inc., 101 Lucas Valley Road #110,
  14. # San Rafael, CA 94903, U.S.A., +1(415)492-9861.
  15. #
  16. # $Id: unixansi.mak,v 1.41 2005/08/31 05:52:32 ray Exp $
  17. # makefile for Unix/ANSI C/X11 configuration.
  18. # ------------------------------- Options ------------------------------- #
  19. ####### The following are the only parts of the file you should need to edit.
  20. # Define the directory for the final executable, and the
  21. # source, generated intermediate file, and object directories
  22. # for the graphics library (GL) and the PostScript/PDF interpreter (PS).
  23. BINDIR=./bin
  24. GLSRCDIR=./src
  25. GLGENDIR=./obj
  26. GLOBJDIR=./obj
  27. PSSRCDIR=./src
  28. PSLIBDIR=./lib
  29. PSGENDIR=./obj
  30. PSOBJDIR=./obj
  31. # Do not edit the next group of lines.
  32. #include $(COMMONDIR)/ansidefs.mak
  33. #include $(COMMONDIR)/unixdefs.mak
  34. #include $(COMMONDIR)/generic.mak
  35. include $(GLSRCDIR)/version.mak
  36. DD=$(GLGENDIR)/
  37. GLD=$(GLGENDIR)/
  38. PSD=$(PSGENDIR)/
  39. # ------ Generic options ------ #
  40. # Define the installation commands and target directories for
  41. # executables and files. The commands are only relevant to `make install';
  42. # the directories also define the default search path for the
  43. # initialization files (gs_*.ps) and the fonts.
  44. INSTALL = $(GLSRCDIR)/instcopy -c
  45. INSTALL_PROGRAM = $(INSTALL) -m 755
  46. INSTALL_DATA = $(INSTALL) -m 644
  47. prefix = /usr/local
  48. exec_prefix = $(prefix)
  49. bindir = $(exec_prefix)/bin
  50. scriptdir = $(bindir)
  51. mandir = $(prefix)/man
  52. man1ext = 1
  53. datadir = $(prefix)/share
  54. gsdir = $(datadir)/ghostscript
  55. gsdatadir = $(gsdir)/$(GS_DOT_VERSION)
  56. docdir=$(gsdatadir)/doc
  57. exdir=$(gsdatadir)/examples
  58. GS_DOCDIR=$(docdir)
  59. # Define the default directory/ies for the runtime initialization, resource and
  60. # font files. Separate multiple directories with a :.
  61. GS_LIB_DEFAULT=$(gsdatadir)/lib:$(gsdatadir)/Resource:$(gsdir)/fonts
  62. # Define whether or not searching for initialization files should always
  63. # look in the current directory first. This leads to well-known security
  64. # and confusion problems, but users insist on it.
  65. # NOTE: this also affects searching for files named on the command line:
  66. # see the "File searching" section of Use.htm for full details.
  67. # Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended.
  68. SEARCH_HERE_FIRST=1
  69. # Define the name of the interpreter initialization file.
  70. # (There is no reason to change this.)
  71. GS_INIT=gs_init.ps
  72. # Choose generic configuration options.
  73. # -DDEBUG
  74. # includes debugging features (-Z switch) in the code.
  75. # Code runs substantially slower even if no debugging switches
  76. # are set.
  77. # -DNOPRIVATE
  78. # makes private (static) procedures and variables public,
  79. # so they are visible to the debugger and profiler.
  80. # No execution time or space penalty.
  81. GENOPT=
  82. # Define the name of the executable file.
  83. GS=gs
  84. # Define the name of a pre-built executable that can be invoked at build
  85. # time. Currently, this is only needed for compiled fonts. The usual
  86. # alternatives are:
  87. # - the standard name of Ghostscript on your system (typically `gs'):
  88. BUILD_TIME_GS=gs
  89. # - the name of the executable you are building now. If you choose this
  90. # option, then you must build the executable first without compiled fonts,
  91. # and then again with compiled fonts.
  92. #BUILD_TIME_GS=$(BINDIR)/$(GS) -I$(PSLIBDIR)
  93. # Define the directories for debugging and profiling binaries, relative to
  94. # the standard binaries.
  95. DEBUGRELDIR=../debugobj
  96. PGRELDIR=../pgobj
  97. # Define the directory where the IJG JPEG library sources are stored,
  98. # and the major version of the library that is stored there.
  99. # You may need to change this if the IJG library version changes.
  100. # See jpeg.mak for more information.
  101. JSRCDIR=jpeg
  102. JVERSION=6
  103. # Note: if a shared library is used, it may not contain the
  104. # D_MAX_BLOCKS_IN_MCU patch, and thus may not be able to read
  105. # some older JPEG streams that violate the standard. If the JPEG
  106. # library built from local sources, the patch will be applied.
  107. SHARE_JPEG=0
  108. JPEG_NAME=jpeg
  109. # Define the directory where the PNG library sources are stored,
  110. # and the version of the library that is stored there.
  111. # You may need to change this if the libpng version changes.
  112. # See libpng.mak for more information.
  113. PSRCDIR=libpng
  114. PVERSION=10208
  115. # Choose whether to use a shared version of the PNG library, and if so,
  116. # what its name is.
  117. # See gs.mak and Make.htm for more information.
  118. SHARE_LIBPNG=0
  119. LIBPNG_NAME=png
  120. # Define the directory where the zlib sources are stored.
  121. # See zlib.mak for more information.
  122. ZSRCDIR=zlib
  123. # Choose whether to use a shared version of the zlib library, and if so,
  124. # what its name is (usually libz, but sometimes libgz).
  125. # See gs.mak and Make.htm for more information.
  126. SHARE_ZLIB=0
  127. #ZLIB_NAME=gz
  128. ZLIB_NAME=z
  129. # Choose shared or compiled in libjbig2dec and source location
  130. SHARE_JBIG2=0
  131. JBIG2SRCDIR=jbig2dec
  132. # Define the directory where the icclib source are stored.
  133. # See icclib.mak for more information
  134. ICCSRCDIR=icclib
  135. # Define the directory where the ijs source is stored,
  136. # and the process forking method to use for the server.
  137. # See ijs.mak for more information.
  138. IJSSRCDIR=ijs
  139. IJSEXECTYPE=unix
  140. # Define how to build the library archives. (These are not used in any
  141. # standard configuration.)
  142. AR=ar
  143. ARFLAGS=qc
  144. RANLIB=ranlib
  145. # ------ Platform-specific options ------ #
  146. # Define the name of the C compiler. If the standard compiler for your
  147. # platform is ANSI-compatible, leave this line commented out; if not,
  148. # uncomment the line and insert the proper definition.
  149. #CC=some_C_compiler
  150. # Define the name of the linker for the final link step.
  151. # Normally this is the same as the C compiler.
  152. CCLD=$(CC)
  153. # Define the added flags for standard, debugging, and profiling builds.
  154. CFLAGS_STANDARD=-O
  155. CFLAGS_DEBUG=-g
  156. CFLAGS_PROFILE=-pg -O
  157. # Define the other compilation flags. Add at most one of the following:
  158. # -Aa -w -D_HPUX_SOURCE for the HP 400.
  159. # -DBSD4_2 for 4.2bsd systems.
  160. # -DSYSV for System V or DG/UX.
  161. # -DSVR4 -DSVR4_0 (not -DSYSV) for System V release 4.0.
  162. # -DSVR4 (not -DSYSV) for System V release 4.2 (or later) and Solaris 2.
  163. # XCFLAGS can be set from the command line.
  164. XCFLAGS=
  165. CFLAGS=$(CFLAGS_STANDARD) $(XCFLAGS)
  166. # Define platform flags for ld.
  167. # SunOS and some others want -X; Ultrix wants -x.
  168. # SunOS 4.n may need -Bstatic.
  169. # Solaris 2.6 (and possibly some other versions) with any of the SHARE_
  170. # parameters set to 1 may need
  171. # -R /usr/local/xxx/lib:/usr/local/lib
  172. # giving the full path names of the shared library directories.
  173. # Apollos running DomainOS don't support -X (and -x has no effect).
  174. # XLDFLAGS can be set from the command line.
  175. XLDFLAGS=
  176. LDFLAGS=$(XLDFLAGS)
  177. # Define any extra libraries to link into the executable.
  178. # ISC Unix 2.2 wants -linet.
  179. # SCO Unix needs -lsocket if you aren't including the X11 driver.
  180. # SVR4 may need -lnsl.
  181. # Solaris may need -lnsl -lsocket -lposix4.
  182. # (Libraries required by individual drivers are handled automatically.)
  183. EXTRALIBS=
  184. # Define the standard libraries to search at the end of linking.
  185. # Most platforms require -lpthread for the POSIX threads library;
  186. # on FreeBSD, change -lpthread to -lc_r; BSDI and perhaps some others
  187. # include pthreads in libc and don't require any additional library.
  188. # All reasonable platforms require -lm, but Rhapsody and perhaps one or
  189. # two others fold libm into libc and don't require any additional library.
  190. #STDLIBS=-lpthread -lm
  191. # Since the default build is for nosync, don't include pthread lib
  192. STDLIBS=-lm
  193. # Define the include switch(es) for the X11 header files.
  194. # This can be null if handled in some other way (e.g., the files are
  195. # in /usr/include, or the directory is supplied by an environment variable);
  196. # in particular, SCO Xenix, Unix, and ODT just want
  197. #XINCLUDE=
  198. # Note that x_.h expects to find the header files in $(XINCLUDE)/X11,
  199. # not in $(XINCLUDE).
  200. XINCLUDE=-I/usr/X11R6/include
  201. # Define the directory/ies and library names for the X11 library files.
  202. # XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH
  203. # (dynamic libraries on SVR4) and should not include -L.
  204. # Newer SVR4 systems can use -R in XLIBDIRS rather than setting XLIBDIR.
  205. # Both can be null if these files are in the default linker search path;
  206. # in particular, SCO Xenix, Unix, and ODT just want
  207. #XLIBDIRS=
  208. # Solaris and other SVR4 systems with dynamic linking probably want
  209. #XLIBDIRS=-L/usr/openwin/lib -R/usr/openwin/lib
  210. # X11R6 (on any platform) may need
  211. #XLIBS=Xt SM ICE Xext X11
  212. XLIBDIRS=-L/usr/X11R6/lib
  213. XLIBDIR=
  214. XLIBS=Xt Xext X11
  215. # Define whether this platform has floating point hardware:
  216. # FPU_TYPE=2 means floating point is faster than fixed point.
  217. # (This is the case on some RISCs with multiple instruction dispatch.)
  218. # FPU_TYPE=1 means floating point is at worst only slightly slower
  219. # than fixed point.
  220. # FPU_TYPE=0 means that floating point may be considerably slower.
  221. # FPU_TYPE=-1 means that floating point is always much slower than
  222. # fixed point.
  223. FPU_TYPE=1
  224. # Define the .dev module that implements thread and synchronization
  225. # primitives for this platform. Don't change this unless you really know
  226. # what you're doing.
  227. # If POSIX sync primitives are used, also change the STDLIBS to include
  228. # the pthread library.
  229. #SYNC=posync
  230. # Default is No sync primitives since some platforms don't have it (HP-UX)
  231. SYNC=nosync
  232. # ------ Devices and features ------ #
  233. # Choose the language feature(s) to include. See gs.mak for details.
  234. FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(GLD)pipe.dev $(PSD)fapi.dev
  235. # Choose whether to compile the .ps initialization files into the executable.
  236. # See gs.mak for details.
  237. COMPILE_INITS=0
  238. # Choose whether to store band lists on files or in memory.
  239. # The choices are 'file' or 'memory'.
  240. BAND_LIST_STORAGE=file
  241. # Choose which compression method to use when storing band lists in memory.
  242. # The choices are 'lzw' or 'zlib'.
  243. BAND_LIST_COMPRESSOR=zlib
  244. # Choose the implementation of file I/O: 'stdio', 'fd', or 'both'.
  245. # See gs.mak and sfxfd.c for more details.
  246. FILE_IMPLEMENTATION=stdio
  247. # Choose the implementation of stdio: '' for file I/O and 'c' for callouts
  248. # See gs.mak and ziodevs.c/ziodevsc.c for more details.
  249. STDIO_IMPLEMENTATION=c
  250. # Choose the device(s) to include. See devs.mak for details,
  251. # devs.mak and contrib.mak for the list of available devices.
  252. DEVICE_DEVS=$(DD)x11.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev $(DD)x11gray2.dev $(DD)x11gray4.dev $(DD)x11mono.dev
  253. DEVICE_DEVS1=
  254. DEVICE_DEVS2=
  255. DEVICE_DEVS3=$(DD)deskjet.dev $(DD)djet500.dev $(DD)laserjet.dev $(DD)ljetplus.dev $(DD)ljet2p.dev $(DD)ljet3.dev $(DD)ljet3d.dev $(DD)ljet4.dev $(DD)ljet4d.dev
  256. DEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev $(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev
  257. DEVICE_DEVS5=$(DD)uniprint.dev
  258. DEVICE_DEVS6=$(DD)bj10e.dev $(DD)bj200.dev $(DD)bjc600.dev $(DD)bjc800.dev
  259. DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev
  260. DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
  261. DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev
  262. DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
  263. DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev
  264. DEVICE_DEVS12=$(DD)psmono.dev $(DD)psgray.dev $(DD)psrgb.dev $(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
  265. DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev
  266. DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
  267. DEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)pswrite.dev $(DD)ps2write.dev $(DD)epswrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev
  268. DEVICE_DEVS16=$(DD)bbox.dev
  269. # Overflow from DEVS9
  270. DEVICE_DEVS17=$(DD)pnm.dev $(DD)pnmraw.dev $(DD)ppm.dev $(DD)ppmraw.dev $(DD)pkm.dev $(DD)pkmraw.dev $(DD)pksm.dev $(DD)pksmraw.dev
  271. DEVICE_DEVS18=
  272. DEVICE_DEVS19=
  273. DEVICE_DEVS20=
  274. # ---------------------------- End of options --------------------------- #
  275. # Define the name of the partial makefile that specifies options --
  276. # used in dependencies.
  277. MAKEFILE=$(GLSRCDIR)/unixansi.mak
  278. TOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)/unixhead.mak
  279. # Define the auxilary program dependency.
  280. AK=
  281. # Define the compilation rules and flags.
  282. # If you system has a 64 bit type you should pass it through
  283. # CCFLAGS to improve support for multiple colorants. e.g.:
  284. # -DGX_COLOR_INDEX_TYPE='unsigned long long'
  285. # or use the autoconf build, which sets this automatically.
  286. # If you do not define a 64 bit type, there may be some warnings
  287. # about oversize shifts. It's a bug if these are not harmless.
  288. CCFLAGS=$(GENOPT) $(CFLAGS)
  289. CC_=$(CC) $(CCFLAGS)
  290. CCAUX=$(CC)
  291. CC_NO_WARN=$(CC_)
  292. # ---------------- End of platform-specific section ---------------- #
  293. include $(GLSRCDIR)/unixhead.mak
  294. include $(GLSRCDIR)/gs.mak
  295. include $(GLSRCDIR)/lib.mak
  296. include $(PSSRCDIR)/int.mak
  297. include $(PSSRCDIR)/cfonts.mak
  298. include $(GLSRCDIR)/jpeg.mak
  299. # zlib.mak must precede libpng.mak
  300. include $(GLSRCDIR)/zlib.mak
  301. include $(GLSRCDIR)/libpng.mak
  302. include $(GLSRCDIR)/jbig2.mak
  303. include $(GLSRCDIR)/icclib.mak
  304. include $(GLSRCDIR)/ijs.mak
  305. include $(GLSRCDIR)/devs.mak
  306. include $(GLSRCDIR)/contrib.mak
  307. include $(GLSRCDIR)/unix-aux.mak
  308. include $(GLSRCDIR)/unixlink.mak
  309. include $(GLSRCDIR)/unix-end.mak
  310. include $(GLSRCDIR)/unixinst.mak
  311. # platform-specific clean-up
  312. # this makefile is intended to be hand edited so we don't distribute
  313. # the (presumedly modified) version in the top level directory
  314. distclean : clean config-clean
  315. -$(RM) Makefile
  316. maintainer-clean : distclean
  317. # nothing special to do