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)/unixhead.mak
424include $(GLSRCDIR)/gs.mak
425include $(GLSRCDIR)/lib.mak
426include $(PSSRCDIR)/int.mak
427include $(PSSRCDIR)/cfonts.mak
428include $(GLSRCDIR)/jpeg.mak
429# zlib.mak must precede libpng.mak
430include $(GLSRCDIR)/zlib.mak
431include $(GLSRCDIR)/libpng.mak
432include $(GLSRCDIR)/icclib.mak
433include $(GLSRCDIR)/ijs.mak
434include $(GLSRCDIR)/devs.mak
435include $(GLSRCDIR)/contrib.mak
436include $(GLSRCDIR)/gnudevs.mak
437include $(GLSRCDIR)/unix-aux.mak
438include $(GLSRCDIR)/unixlink.mak
439include $(GLSRCDIR)/unix-dll.mak
440include $(GLSRCDIR)/unix-end.mak
441include $(GLSRCDIR)/unixinst.mak
442
443# Clean up after the autotools scripts
444# configure.ac and Makefile.in are symlinks from a subdir
445# (created by autogen.sh) and so are safe to remove
446distclean: clean config-clean
447	-$(RM) -r $(BINDIR) $(GLOBJDIR) $(PSOBJDIR)
448	-$(RM) -r autom4te.cache
449	-$(RM) config.log config.status
450	-$(RM) Makefile
451
452maintainer-clean: distclean
453	-$(RM) configure.ac
454	-$(RM) configure
455	-$(RM) Makefile.in
456
457check: default
458	$(NO_OP)
459