1# Copyright (C) 1997-2002 artofcode LLC. All rights reserved. 2# 3# This program is free software; you can redistribute it and/or modify it 4# under the terms of the GNU General Public License as published by the 5# Free Software Foundation; either version 2 of the License, or (at your 6# option) any later version. 7# 8# This program is distributed in the hope that it will be useful, but 9# WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 11# Public License for more details. 12# 13# You should have received a copy of the GNU General Public License along 14# with this program; if not, write to the Free Software Foundation, Inc., 15# 59 Temple Place, Suite 330, Boston, MA, 02111-1307. 16 17# $Id: Makefile.in,v 1.1.4.13.2.4 2003/04/29 18:33:31 giles Exp $ 18# makefile template for/from the autoconf build. 19# @configure_input@ 20 21# ------------------------------- Options ------------------------------- # 22 23####### The following are the only parts of the file you should need to edit. 24 25# Define the directory for the final executable, and the 26# source, generated intermediate file, and object directories 27# for the graphics library (GL) and the PostScript/PDF interpreter (PS). 28 29BINDIR=./bin 30GLSRCDIR=./src 31GLGENDIR=./obj 32GLOBJDIR=./obj 33PSSRCDIR=./src 34PSLIBDIR=./lib 35PSGENDIR=./obj 36PSOBJDIR=./obj 37 38# Do not edit the next group of lines. 39 40include $(GLSRCDIR)/version.mak 41DD=$(GLGENDIR)/ 42GLD=$(GLGENDIR)/ 43PSD=$(PSGENDIR)/ 44 45# ------ Generic options ------ # 46 47# Define the installation commands and target directories for 48# executables and files. The commands are only relevant to `make install'; 49# the directories also define the default search path for the 50# initialization files (gs_*.ps) and the fonts. 51 52INSTALL = $(GLSRCDIR)/instcopy -c 53INSTALL_PROGRAM = ${BSD_INSTALL_PROGRAM} 54INSTALL_SCRIPT = ${BSD_INSTALL_SCRIPT} 55INSTALL_DATA = ${BSD_INSTALL_DATA} 56INSTALL_SHARED = @INSTALL_SHARED@ 57 58prefix = @prefix@ 59exec_prefix = @exec_prefix@ 60bindir = @bindir@ 61scriptdir = $(bindir) 62libdir = @libdir@ 63mandir = @mandir@ 64man1ext = 1 65datadir = @datadir@ 66gsdir = $(datadir)/ghostscript 67gsdatadir = $(gsdir)/$(GS_DOT_VERSION) 68gssharedir = @libdir@/ghostscript/$(GS_DOT_VERSION) 69gsincludedir = @includedir@/ghostscript/ 70 71docdir=$(gsdatadir)/doc 72exdir=$(gsdatadir)/examples 73GS_DOCDIR=$(docdir) 74 75# Define the default directory/ies for the runtime 76# initialization and font files. Separate multiple directories with a :. 77 78GS_LIB_DEFAULT=$(gsdatadir)/lib:$(gsdir)/fonts 79 80# Define whether or not searching for initialization files should always 81# look in the current directory first. This leads to well-known security 82# and confusion problems, but users insist on it. 83# NOTE: this also affects searching for files named on the command line: 84# see the "File searching" section of Use.htm for full details. 85# Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended. 86 87SEARCH_HERE_FIRST=1 88 89# Define the name of the interpreter initialization file. 90# (There is no reason to change this.) 91 92GS_INIT=gs_init.ps 93 94# Choose generic configuration options. 95 96# -DDEBUG 97# includes debugging features (-Z switch) in the code. 98# Code runs substantially slower even if no debugging switches 99# are set. 100# -DNOPRIVATE 101# makes private (static) procedures and variables public, 102# so they are visible to the debugger and profiler. 103# No execution time or space penalty. 104 105GENOPT= 106 107# Choose capability options. 108 109# -DHAVE_MKSTEMP 110# uses mkstemp instead of mktemp 111# This gets rid of several security warnings that look 112# ominous. Enable this if you wish to get rid of them. 113 114CAPOPT= @HAVE_MKSTEMP@ 115 116# Define the name of the executable file. 117 118GS=@GS@@EXEEXT@ 119 120# Define the name of a pre-built executable that can be invoked at build 121# time. Currently, this is only needed for compiled fonts. The usual 122# alternatives are: 123# - the standard name of Ghostscript on your system (typically `gs'): 124BUILD_TIME_GS=gs 125# - the name of the executable you are building now. If you choose this 126# option, then you must build the executable first without compiled fonts, 127# and then again with compiled fonts. 128#BUILD_TIME_GS=$(BINDIR)/$(GS) -I$(PSLIBDIR) 129 130# Define the directories for debugging and profiling binaries, relative to 131# the standard binaries. 132 133DEBUGRELDIR=../debugobj 134PGRELDIR=../pgobj 135 136# Define the directory where the IJG JPEG library sources are stored, 137# and the major version of the library that is stored there. 138# You may need to change this if the IJG library version changes. 139# See jpeg.mak for more information. 140 141JSRCDIR=@LIBJPEGDIR@ 142JVERSION=6 143 144# Note: if a shared library is used, it may not contain the 145# D_MAX_BLOCKS_IN_MCU patch, and thus may not be able to read 146# some older JPEG streams that violate the standard. If the JPEG 147# library built from local sources, the patch will be applied. 148 149SHARE_JPEG=1 150JPEG_NAME=jpeg 151 152# Define the directory where the PNG library sources are stored, 153# and the version of the library that is stored there. 154# You may need to change this if the libpng version changes. 155# See libpng.mak for more information. 156 157SHARE_LIBPNG=1 158PSRCDIR=@LIBPNGDIR@ 159LIBPNG_NAME=png 160 161# Define the directory where the zlib sources are stored. 162# See zlib.mak for more information. 163 164SHARE_ZLIB=1 165ZSRCDIR=@ZLIBDIR@ 166#ZLIB_NAME=gz 167ZLIB_NAME=z 168 169# Define the directory where the icclib source are stored. 170# See icclib.mak for more information 171 172ICCSRCDIR=icclib 173 174# Define the directory where the ijs source is stored, 175# and the process forking method to use for the server. 176# See ijs.mak for more information. 177 178IJSSRCDIR=@IJSDIR@ 179IJSEXECTYPE=unix 180 181# Define library names for the Gimp-Print (stp) driver 182 183STPLIB=@STPLIB@ 184 185# Define how to build the library archives. (These are not used in any 186# standard configuration.) 187 188AR=ar 189ARFLAGS=qc 190RANLIB=@RANLIB@ 191 192# ------ Platform-specific options ------ # 193 194# Define the name of the C compiler. 195 196CC=@CC@ 197 198# Define the name of the linker for the final link step. 199# Normally this is the same as the C compiler. 200 201CCLD=$(CC) 202 203# Define the general cc flags, warnings and such. 204GCFLAGS=@CPPFLAGS@ @GCFLAGS@ @CFLAGS@ 205 206# Define the added flags for standard, debugging, profiling 207# and shared object builds. 208 209CFLAGS_STANDARD?=@OPT_CFLAGS@ 210CFLAGS_DEBUG=-g -O 211CFLAGS_PROFILE=-pg @OPT_CFLAGS@ 212CFLAGS_SO=@DYNAMIC_CFLAGS@ 213 214# Define the other compilation flags. Add at most one of the following: 215# -DBSD4_2 for 4.2bsd systems. 216# -DSYSV for System V or DG/UX. 217# -DSYSV -D__SVR3 for SCO ODT, ISC Unix 2.2 or before, 218# or any System III Unix, or System V release 3-or-older Unix. 219# -DSVR4 -DSVR4_0 (not -DSYSV) for System V release 4.0. 220# -DSVR4 (not -DSYSV) for System V release 4.2 (or later) and Solaris 2. 221# XCFLAGS can be set from the command line. 222# We don't include -ansi, because this gets in the way of the platform- 223# specific stuff that <math.h> typically needs; nevertheless, we expect 224# gcc to accept ANSI-style function prototypes and function definitions. 225XCFLAGS=@DYNAMIC_FLAGS@ 226 227# defines from autoconf; note that we don't use these at present. 228ACDEFS=@DEFS@ 229 230CFLAGS=$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS) 231 232# Define platform flags for ld. 233# SunOS 4.n may need -Bstatic. 234# Solaris 2.6 (and possibly some other versions) with any of the SHARE_ 235# parameters set to 1 may need 236# -R /usr/local/xxx/lib:/usr/local/lib 237# giving the full path names of the shared library directories. 238# XLDFLAGS can be set from the command line. 239 240LDFLAGS=@LDFLAGS@ 241XLDFLAGS=$(LDFLAGS) 242 243# Define any extra libraries to link into the executable. 244# ISC Unix 2.2 wants -linet. 245# SCO Unix needs -lsocket if you aren't including the X11 driver. 246# SVR4 may need -lnsl. 247# Solaris may need -lnsl -lsocket -lposix4. 248# (Libraries required by individual drivers are handled automatically.) 249 250EXTRALIBS=@LIBS@ @DYNAMIC_LIBS@ 251 252# Define the standard libraries to search at the end of linking. 253# Most platforms require -lpthread for the POSIX threads library; 254# on FreeBSD, change -lpthread to -lc_r; BSDI and perhaps some others 255# include pthreads in libc and don't require any additional library. 256# All reasonable platforms require -lm, but Rhapsody and perhaps one or 257# two others fold libm into libc and don't require any additional library. 258 259STDLIBS=@PTHREAD_LIBS@ -lm 260 261# Define the include switch(es) for the X11 header files. 262# This can be null if handled in some other way (e.g., the files are 263# in /usr/include, or the directory is supplied by an environment variable) 264 265XINCLUDE=@X_CFLAGS@ 266 267# Define the directory/ies and library names for the X11 library files. 268# XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH 269# (dynamic libraries on SVR4) and should not include -L. 270# Newer SVR4 systems can use -R in XLIBDIRS rather than setting XLIBDIR. 271# Both can be null if these files are in the default linker search path. 272 273# Solaris and other SVR4 systems with dynamic linking probably want 274#XLIBDIRS=-L/usr/openwin/lib -R/usr/openwin/lib 275# X11R6 (on any platform) may need 276#XLIBS=Xt SM ICE Xext X11 277 278# We use the autoconf macro AC_PATH_XTRA which defines X_LIBS with 279# the -L (or whatever). It also defines X_EXTRA_LIBS which 280# should be slotted into XLIBS below and X_PRE_LIBS which should go 281# before -lX11. We do not handle these and should, but they are empty 282# on most modern platforms. 283XLIBDIRS=@X_LDFLAGS@ 284XLIBDIR= 285#XLIBS=Xt Xext X11 286XLIBS=@X_LIBS@ 287 288# Define whether this platform has floating point hardware: 289# FPU_TYPE=2 means floating point is faster than fixed point. 290# (This is the case on some RISCs with multiple instruction dispatch.) 291# FPU_TYPE=1 means floating point is at worst only slightly slower 292# than fixed point. 293# FPU_TYPE=0 means that floating point may be considerably slower. 294# FPU_TYPE=-1 means that floating point is always much slower than 295# fixed point. 296 297FPU_TYPE=1 298 299# Don't bother with DOS asm implementations 300USE_ASM=0 301 302# Define the .dev module that implements thread and synchronization 303# primitives for this platform. 304 305# If POSIX sync primitives are used, also change the STDLIBS to include 306# the pthread library. Otherwise use SYNC=nosync 307#SYNC=posync 308#SYNC=nosync 309SYNC=@SYNC@ 310 311# programs we use 312RM=rm -f 313 314# ------ Dynamic loader options ------- # 315SOC_CFLAGS = @SOC_CFLAGS@ 316SOC_LIBS = @SOC_LIBS@ 317SOC_LOADER = @SOC_LOADER@ 318 319# ------ Devices and features ------ # 320 321# Choose the language feature(s) to include. See gs.mak for details. 322 323FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(GLD)pipe.dev 324#FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev 325#FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)rasterop.dev $(GLD)pipe.dev 326# The following is strictly for testing. 327FEATURE_DEVS_ALL=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)rasterop.dev $(PSD)double.dev $(PSD)trapping.dev $(PSD)stocht.dev $(GLD)pipe.dev 328#FEATURE_DEVS=$(FEATURE_DEVS_ALL) 329 330# Choose whether to compile the .ps initialization files into the executable. 331# See gs.mak for details. 332 333COMPILE_INITS=@COMPILE_INITS@ 334 335# Choose whether to store band lists on files or in memory. 336# The choices are 'file' or 'memory'. 337 338BAND_LIST_STORAGE=file 339 340# Choose which compression method to use when storing band lists in memory. 341# The choices are 'lzw' or 'zlib'. lzw is not recommended, because the 342# LZW-compatible code in Ghostscript doesn't actually compress its input. 343 344BAND_LIST_COMPRESSOR=zlib 345 346# Choose the implementation of file I/O: 'stdio', 'fd', or 'both'. 347# See gs.mak and sfxfd.c for more details. 348 349FILE_IMPLEMENTATION=stdio 350 351# Choose the implementation of stdio: '' for file I/O and 'c' for callouts 352# See gs.mak and ziodevs.c/ziodevsc.c for more details. 353 354STDIO_IMPLEMENTATION=c 355 356# Override the default device. This is set to 'display' by 357# unix-dll.mak when building a shared object. 358DISPLAY_DEV= 359 360# Define the name table capacity size of 2^(16+n). 361# Setting this to a non-zero value will slow down the interpreter. 362 363EXTEND_NAMES=0 364 365# Choose the device(s) to include. See devs.mak for details, 366# devs.mak and contrib.mak for the list of available devices. 367 368#DEVICE_DEVS=$(DISPLAY_DEV) $(DD)x11.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev $(DD)x11gray2.dev $(DD)x11gray4.dev $(DD)x11mono.dev 369DEVICE_DEVS=$(DISPLAY_DEV) @X11DEVS@ 370 371DEVICE_DEVS1=$(DD)bmpmono.dev $(DD)bmpgray.dev $(DD)bmpsep1.dev $(DD)bmpsep8.dev $(DD)bmp16.dev $(DD)bmp256.dev $(DD)bmp16m.dev $(DD)bmp32b.dev 372DEVICE_DEVS2= 373DEVICE_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 $(DD)lj5mono.dev $(DD)lj5gray.dev 374DEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev $(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev 375DEVICE_DEVS5=$(DD)uniprint.dev @IJSDEVS@ @STPDEVS@ 376DEVICE_DEVS6=$(DD)bj10e.dev $(DD)bj200.dev $(DD)bjc600.dev $(DD)bjc800.dev 377DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev 378DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev 379DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev $(DD)pnm.dev $(DD)pnmraw.dev $(DD)ppm.dev $(DD)ppmraw.dev $(DD)pkm.dev $(DD)pkmraw.dev $(DD)pksm.dev $(DD)pksmraw.dev 380DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev 381DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev 382DEVICE_DEVS12=$(DD)psmono.dev $(DD)psgray.dev $(DD)psrgb.dev $(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev 383#DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev 384DEVICE_DEVS13=@PNGDEVS@ 385DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev 386DEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)pswrite.dev $(DD)epswrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev 387 388DEVICE_DEVS16=$(DD)bbox.dev 389DEVICE_DEVS17= 390DEVICE_DEVS18= 391DEVICE_DEVS19= 392DEVICE_DEVS20=$(DD)cljet5.dev $(DD)cljet5c.dev 393 394# Shared library target to build. 395GS_SHARED_OBJS=@DYNAMIC_DEVS@ 396 397# ---------------------------- End of options --------------------------- # 398 399# Define the name of the partial makefile that specifies options -- 400# used in dependencies. 401 402MAKEFILE=Makefile 403TOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)/unixhead.mak 404 405# Define the auxiliary program dependency. We don't use this. 406AK= 407 408# Define the compilation rules and flags. 409 410CCFLAGS=$(GENOPT) $(CAPOPT) $(CFLAGS) 411CC_=$(CC) $(CCFLAGS) 412CCAUX=$(CC) 413CC_LEAF=$(CC_) 414# note gcc can't use -fomit-frame-pointer with -pg. 415CC_LEAF_PG=$(CC_) 416# These are the specific warnings we have to turn off to compile those 417# specific few files that need this. We may turn off others in the future. 418CC_NO_WARN=$(CC_) 419CC_SHARED=$(CC_) @DYNAMIC_LDFLAGS@ 420 421# ---------------- End of platform-specific section ---------------- # 422 423include $(GLSRCDIR)/drivers.mak 424include $(GLSRCDIR)/unixhead.mak 425include $(GLSRCDIR)/gs.mak 426include $(GLSRCDIR)/lib.mak 427include $(PSSRCDIR)/int.mak 428include $(PSSRCDIR)/cfonts.mak 429include $(GLSRCDIR)/jpeg.mak 430# zlib.mak must precede libpng.mak 431include $(GLSRCDIR)/zlib.mak 432include $(GLSRCDIR)/libpng.mak 433include $(GLSRCDIR)/icclib.mak 434include $(GLSRCDIR)/ijs.mak 435include $(GLSRCDIR)/devs.mak 436include $(GLSRCDIR)/contrib.mak 437include $(GLSRCDIR)/gnudevs.mak 438include $(GLSRCDIR)/unix-aux.mak 439include $(GLSRCDIR)/unixlink.mak 440include $(GLSRCDIR)/unix-dll.mak 441include $(GLSRCDIR)/unix-end.mak 442include $(GLSRCDIR)/unixinst.mak 443 444# Clean up after the autotools scripts 445# configure.ac and Makefile.in are symlinks from a subdir 446# (created by autogen.sh) and so are safe to remove 447distclean: clean config-clean 448 -$(RM) -r $(BINDIR) $(GLOBJDIR) $(PSOBJDIR) 449 -$(RM) -r autom4te.cache 450 -$(RM) config.log config.status 451 -$(RM) Makefile 452 453maintainer-clean: distclean 454 -$(RM) configure.ac 455 -$(RM) configure 456 -$(RM) Makefile.in 457 458check: default 459 $(NO_OP) 460