xref: /plan9/sys/src/cmd/gs/src/unix-gcc.mak (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
17dd7cddfSDavid du Colombier#    Copyright (C) 1997, 2000 Aladdin Enterprises.  All rights reserved.
27dd7cddfSDavid du Colombier#
3*593dc095SDavid du Colombier# This software is provided AS-IS with no warranty, either express or
4*593dc095SDavid du Colombier# implied.
57dd7cddfSDavid du Colombier#
6*593dc095SDavid du Colombier# This software is distributed under license and may not be copied,
7*593dc095SDavid du Colombier# modified or distributed except as expressly authorized under the terms
8*593dc095SDavid du Colombier# of the license contained in the file LICENSE in this distribution.
97dd7cddfSDavid du Colombier#
10*593dc095SDavid du Colombier# For more information about licensing, please refer to
11*593dc095SDavid du Colombier# http://www.ghostscript.com/licensing/. For information on
12*593dc095SDavid du Colombier# commercial licensing, go to http://www.artifex.com/licensing/ or
13*593dc095SDavid du Colombier# contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14*593dc095SDavid du Colombier# San Rafael, CA  94903, U.S.A., +1(415)492-9861.
157dd7cddfSDavid du Colombier
16*593dc095SDavid du Colombier# $Id: unix-gcc.mak,v 1.50 2005/08/31 05:52:32 ray Exp $
177dd7cddfSDavid du Colombier# makefile for Unix/gcc/X11 configuration.
187dd7cddfSDavid du Colombier
197dd7cddfSDavid du Colombier# ------------------------------- Options ------------------------------- #
207dd7cddfSDavid du Colombier
217dd7cddfSDavid du Colombier####### The following are the only parts of the file you should need to edit.
227dd7cddfSDavid du Colombier
237dd7cddfSDavid du Colombier# Define the directory for the final executable, and the
247dd7cddfSDavid du Colombier# source, generated intermediate file, and object directories
257dd7cddfSDavid du Colombier# for the graphics library (GL) and the PostScript/PDF interpreter (PS).
267dd7cddfSDavid du Colombier
277dd7cddfSDavid du ColombierBINDIR=./bin
287dd7cddfSDavid du ColombierGLSRCDIR=./src
297dd7cddfSDavid du ColombierGLGENDIR=./obj
307dd7cddfSDavid du ColombierGLOBJDIR=./obj
317dd7cddfSDavid du ColombierPSSRCDIR=./src
327dd7cddfSDavid du ColombierPSLIBDIR=./lib
337dd7cddfSDavid du ColombierPSGENDIR=./obj
347dd7cddfSDavid du ColombierPSOBJDIR=./obj
357dd7cddfSDavid du Colombier
367dd7cddfSDavid du Colombier# Do not edit the next group of lines.
377dd7cddfSDavid du Colombier
387dd7cddfSDavid du Colombier#include $(COMMONDIR)/gccdefs.mak
397dd7cddfSDavid du Colombier#include $(COMMONDIR)/unixdefs.mak
407dd7cddfSDavid du Colombier#include $(COMMONDIR)/generic.mak
417dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/version.mak
427dd7cddfSDavid du ColombierDD=$(GLGENDIR)/
437dd7cddfSDavid du ColombierGLD=$(GLGENDIR)/
447dd7cddfSDavid du ColombierPSD=$(PSGENDIR)/
457dd7cddfSDavid du Colombier
467dd7cddfSDavid du Colombier# ------ Generic options ------ #
477dd7cddfSDavid du Colombier
487dd7cddfSDavid du Colombier# Define the installation commands and target directories for
497dd7cddfSDavid du Colombier# executables and files.  The commands are only relevant to `make install';
507dd7cddfSDavid du Colombier# the directories also define the default search path for the
517dd7cddfSDavid du Colombier# initialization files (gs_*.ps) and the fonts.
527dd7cddfSDavid du Colombier
537dd7cddfSDavid du ColombierINSTALL = $(GLSRCDIR)/instcopy -c
547dd7cddfSDavid du ColombierINSTALL_PROGRAM = $(INSTALL) -m 755
557dd7cddfSDavid du ColombierINSTALL_DATA = $(INSTALL) -m 644
567dd7cddfSDavid du Colombier
577dd7cddfSDavid du Colombierprefix = /usr/local
587dd7cddfSDavid du Colombierexec_prefix = $(prefix)
597dd7cddfSDavid du Colombierbindir = $(exec_prefix)/bin
607dd7cddfSDavid du Colombierscriptdir = $(bindir)
613ff48bf5SDavid du Colombierlibdir = $(exec_prefix)/lib
627dd7cddfSDavid du Colombiermandir = $(prefix)/man
637dd7cddfSDavid du Colombierman1ext = 1
647dd7cddfSDavid du Colombierdatadir = $(prefix)/share
657dd7cddfSDavid du Colombiergsdir = $(datadir)/ghostscript
667dd7cddfSDavid du Colombiergsdatadir = $(gsdir)/$(GS_DOT_VERSION)
677dd7cddfSDavid du Colombier
687dd7cddfSDavid du Colombierdocdir=$(gsdatadir)/doc
697dd7cddfSDavid du Colombierexdir=$(gsdatadir)/examples
707dd7cddfSDavid du ColombierGS_DOCDIR=$(docdir)
717dd7cddfSDavid du Colombier
727dd7cddfSDavid du Colombier# Define the default directory/ies for the runtime
73*593dc095SDavid du Colombier# initialization, resource and font files.  Separate multiple directories with a :.
747dd7cddfSDavid du Colombier
75*593dc095SDavid du ColombierGS_LIB_DEFAULT=$(gsdatadir)/lib:$(gsdatadir)/Resource:$(gsdir)/fonts
767dd7cddfSDavid du Colombier
777dd7cddfSDavid du Colombier# Define whether or not searching for initialization files should always
787dd7cddfSDavid du Colombier# look in the current directory first.  This leads to well-known security
797dd7cddfSDavid du Colombier# and confusion problems, but users insist on it.
807dd7cddfSDavid du Colombier# NOTE: this also affects searching for files named on the command line:
817dd7cddfSDavid du Colombier# see the "File searching" section of Use.htm for full details.
827dd7cddfSDavid du Colombier# Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended.
837dd7cddfSDavid du Colombier
847dd7cddfSDavid du ColombierSEARCH_HERE_FIRST=1
857dd7cddfSDavid du Colombier
867dd7cddfSDavid du Colombier# Define the name of the interpreter initialization file.
877dd7cddfSDavid du Colombier# (There is no reason to change this.)
887dd7cddfSDavid du Colombier
897dd7cddfSDavid du ColombierGS_INIT=gs_init.ps
907dd7cddfSDavid du Colombier
917dd7cddfSDavid du Colombier# Choose generic configuration options.
927dd7cddfSDavid du Colombier
937dd7cddfSDavid du Colombier# -DDEBUG
947dd7cddfSDavid du Colombier#	includes debugging features (-Z switch) in the code.
957dd7cddfSDavid du Colombier#	  Code runs substantially slower even if no debugging switches
967dd7cddfSDavid du Colombier#	  are set.
977dd7cddfSDavid du Colombier# -DNOPRIVATE
987dd7cddfSDavid du Colombier#	makes private (static) procedures and variables public,
997dd7cddfSDavid du Colombier#	  so they are visible to the debugger and profiler.
1007dd7cddfSDavid du Colombier#	  No execution time or space penalty.
1017dd7cddfSDavid du Colombier
1027dd7cddfSDavid du ColombierGENOPT=
1037dd7cddfSDavid du Colombier
1043ff48bf5SDavid du Colombier# Choose capability options.
1053ff48bf5SDavid du Colombier
1063ff48bf5SDavid du Colombier# -DHAVE_MKSTEMP
1073ff48bf5SDavid du Colombier#	uses mkstemp instead of mktemp
1083ff48bf5SDavid du Colombier#		This gets rid of several security warnings that look
1093ff48bf5SDavid du Colombier#		ominous.  Enable this if you wish to get rid of them.
1103ff48bf5SDavid du Colombier
1113ff48bf5SDavid du ColombierCAPOPT= -DHAVE_MKSTEMP
1123ff48bf5SDavid du Colombier
1137dd7cddfSDavid du Colombier# Define the name of the executable file.
1147dd7cddfSDavid du Colombier
1157dd7cddfSDavid du ColombierGS=gs
1167dd7cddfSDavid du Colombier
1177dd7cddfSDavid du Colombier# Define the name of a pre-built executable that can be invoked at build
1187dd7cddfSDavid du Colombier# time.  Currently, this is only needed for compiled fonts.  The usual
1197dd7cddfSDavid du Colombier# alternatives are:
1207dd7cddfSDavid du Colombier#   - the standard name of Ghostscript on your system (typically `gs'):
1217dd7cddfSDavid du ColombierBUILD_TIME_GS=gs
1227dd7cddfSDavid du Colombier#   - the name of the executable you are building now.  If you choose this
1237dd7cddfSDavid du Colombier# option, then you must build the executable first without compiled fonts,
1247dd7cddfSDavid du Colombier# and then again with compiled fonts.
1257dd7cddfSDavid du Colombier#BUILD_TIME_GS=$(BINDIR)/$(GS) -I$(PSLIBDIR)
1267dd7cddfSDavid du Colombier
1277dd7cddfSDavid du Colombier# Define the directories for debugging and profiling binaries, relative to
1287dd7cddfSDavid du Colombier# the standard binaries.
1297dd7cddfSDavid du Colombier
1307dd7cddfSDavid du ColombierDEBUGRELDIR=../debugobj
1317dd7cddfSDavid du ColombierPGRELDIR=../pgobj
1327dd7cddfSDavid du Colombier
1337dd7cddfSDavid du Colombier# Define the directory where the IJG JPEG library sources are stored,
1347dd7cddfSDavid du Colombier# and the major version of the library that is stored there.
1357dd7cddfSDavid du Colombier# You may need to change this if the IJG library version changes.
1367dd7cddfSDavid du Colombier# See jpeg.mak for more information.
1377dd7cddfSDavid du Colombier
1387dd7cddfSDavid du ColombierJSRCDIR=jpeg
1397dd7cddfSDavid du ColombierJVERSION=6
1407dd7cddfSDavid du Colombier
141*593dc095SDavid du Colombier# Note: if a shared library is used, it may not contain the
142*593dc095SDavid du Colombier# D_MAX_BLOCKS_IN_MCU patch, and thus may not be able to read
143*593dc095SDavid du Colombier# some older JPEG streams that violate the standard. If the JPEG
144*593dc095SDavid du Colombier# library built from local sources, the patch will be applied.
1457dd7cddfSDavid du Colombier
1467dd7cddfSDavid du ColombierSHARE_JPEG=0
1477dd7cddfSDavid du ColombierJPEG_NAME=jpeg
1487dd7cddfSDavid du Colombier
1497dd7cddfSDavid du Colombier# Define the directory where the PNG library sources are stored,
1507dd7cddfSDavid du Colombier# and the version of the library that is stored there.
1517dd7cddfSDavid du Colombier# You may need to change this if the libpng version changes.
1527dd7cddfSDavid du Colombier# See libpng.mak for more information.
1537dd7cddfSDavid du Colombier
1547dd7cddfSDavid du ColombierPSRCDIR=libpng
155*593dc095SDavid du ColombierPVERSION=10208
1567dd7cddfSDavid du Colombier
1577dd7cddfSDavid du Colombier# Choose whether to use a shared version of the PNG library, and if so,
1587dd7cddfSDavid du Colombier# what its name is.
1597dd7cddfSDavid du Colombier# See gs.mak and Make.htm for more information.
1607dd7cddfSDavid du Colombier
1617dd7cddfSDavid du ColombierSHARE_LIBPNG=0
1627dd7cddfSDavid du ColombierLIBPNG_NAME=png
1637dd7cddfSDavid du Colombier
1647dd7cddfSDavid du Colombier# Define the directory where the zlib sources are stored.
1657dd7cddfSDavid du Colombier# See zlib.mak for more information.
1667dd7cddfSDavid du Colombier
1677dd7cddfSDavid du ColombierZSRCDIR=zlib
1687dd7cddfSDavid du Colombier
1697dd7cddfSDavid du Colombier# Choose whether to use a shared version of the zlib library, and if so,
1707dd7cddfSDavid du Colombier# what its name is (usually libz, but sometimes libgz).
1717dd7cddfSDavid du Colombier# See gs.mak and Make.htm for more information.
1727dd7cddfSDavid du Colombier
1737dd7cddfSDavid du ColombierSHARE_ZLIB=0
1747dd7cddfSDavid du Colombier#ZLIB_NAME=gz
1757dd7cddfSDavid du ColombierZLIB_NAME=z
1767dd7cddfSDavid du Colombier
177*593dc095SDavid du Colombier# Choose shared or compiled in libjbig2dec and source location
178*593dc095SDavid du ColombierSHARE_JBIG2=0
179*593dc095SDavid du ColombierJBIG2SRCDIR=jbig2dec
180*593dc095SDavid du Colombier
1813ff48bf5SDavid du Colombier# Define the directory where the icclib source are stored.
1823ff48bf5SDavid du Colombier# See icclib.mak for more information
1833ff48bf5SDavid du Colombier
1843ff48bf5SDavid du ColombierICCSRCDIR=icclib
1853ff48bf5SDavid du Colombier
1863ff48bf5SDavid du Colombier# Define the directory where the ijs source is stored,
1873ff48bf5SDavid du Colombier# and the process forking method to use for the server.
1883ff48bf5SDavid du Colombier# See ijs.mak for more information.
1893ff48bf5SDavid du Colombier
1903ff48bf5SDavid du ColombierIJSSRCDIR=ijs
1913ff48bf5SDavid du ColombierIJSEXECTYPE=unix
1923ff48bf5SDavid du Colombier
1937dd7cddfSDavid du Colombier# Define how to build the library archives.  (These are not used in any
1947dd7cddfSDavid du Colombier# standard configuration.)
1957dd7cddfSDavid du Colombier
1967dd7cddfSDavid du ColombierAR=ar
1977dd7cddfSDavid du ColombierARFLAGS=qc
1987dd7cddfSDavid du ColombierRANLIB=ranlib
1997dd7cddfSDavid du Colombier
2007dd7cddfSDavid du Colombier# ------ Platform-specific options ------ #
2017dd7cddfSDavid du Colombier
2027dd7cddfSDavid du Colombier# Define the name of the C compiler.
2037dd7cddfSDavid du Colombier
2047dd7cddfSDavid du ColombierCC=gcc
2057dd7cddfSDavid du Colombier
2067dd7cddfSDavid du Colombier# Define the name of the linker for the final link step.
2077dd7cddfSDavid du Colombier# Normally this is the same as the C compiler.
2087dd7cddfSDavid du Colombier
2097dd7cddfSDavid du ColombierCCLD=$(CC)
2107dd7cddfSDavid du Colombier
2117dd7cddfSDavid du Colombier# Define the default gcc flags.
2127dd7cddfSDavid du Colombier# Note that depending whether or not we are running a version of gcc with
2137dd7cddfSDavid du Colombier# the 2.7.0-2.7.2 optimizer bug, either "-Dconst=" or
2147dd7cddfSDavid du Colombier# "-Wcast-qual -Wwrite-strings" is automatically included.
2157dd7cddfSDavid du Colombier
216*593dc095SDavid du ColombierGCFLAGS=-Wall -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -fno-builtin -fno-common
2177dd7cddfSDavid du Colombier
2183ff48bf5SDavid du Colombier# Define the added flags for standard, debugging, profiling
2193ff48bf5SDavid du Colombier# and shared object builds.
2207dd7cddfSDavid du Colombier
2217dd7cddfSDavid du ColombierCFLAGS_STANDARD=-O2
222*593dc095SDavid du ColombierCFLAGS_DEBUG=-g -O0
2237dd7cddfSDavid du ColombierCFLAGS_PROFILE=-pg -O2
2243ff48bf5SDavid du ColombierCFLAGS_SO=-fPIC
2257dd7cddfSDavid du Colombier
2267dd7cddfSDavid du Colombier# Define the other compilation flags.  Add at most one of the following:
2277dd7cddfSDavid du Colombier#	-DBSD4_2 for 4.2bsd systems.
2287dd7cddfSDavid du Colombier#	-DSYSV for System V or DG/UX.
2297dd7cddfSDavid du Colombier# 	-DSYSV -D__SVR3 for SCO ODT, ISC Unix 2.2 or before,
2307dd7cddfSDavid du Colombier#	   or any System III Unix, or System V release 3-or-older Unix.
2317dd7cddfSDavid du Colombier#	-DSVR4 -DSVR4_0 (not -DSYSV) for System V release 4.0.
2327dd7cddfSDavid du Colombier#	-DSVR4 (not -DSYSV) for System V release 4.2 (or later) and Solaris 2.
2337dd7cddfSDavid du Colombier# XCFLAGS can be set from the command line.
2347dd7cddfSDavid du Colombier# We don't include -ansi, because this gets in the way of the platform-
2357dd7cddfSDavid du Colombier#   specific stuff that <math.h> typically needs; nevertheless, we expect
2367dd7cddfSDavid du Colombier#   gcc to accept ANSI-style function prototypes and function definitions.
2377dd7cddfSDavid du ColombierXCFLAGS=
2387dd7cddfSDavid du Colombier
2397dd7cddfSDavid du ColombierCFLAGS=$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)
2407dd7cddfSDavid du Colombier
2417dd7cddfSDavid du Colombier# Define platform flags for ld.
2427dd7cddfSDavid du Colombier# SunOS 4.n may need -Bstatic.
2437dd7cddfSDavid du Colombier# Solaris 2.6 (and possibly some other versions) with any of the SHARE_
2447dd7cddfSDavid du Colombier# parameters set to 1 may need
2457dd7cddfSDavid du Colombier#	-R /usr/local/xxx/lib:/usr/local/lib
2467dd7cddfSDavid du Colombier# giving the full path names of the shared library directories.
2477dd7cddfSDavid du Colombier# XLDFLAGS can be set from the command line.
2487dd7cddfSDavid du ColombierXLDFLAGS=
2497dd7cddfSDavid du Colombier
250*593dc095SDavid du ColombierLDFLAGS=$(XLDFLAGS)
2517dd7cddfSDavid du Colombier
2527dd7cddfSDavid du Colombier# Define any extra libraries to link into the executable.
2537dd7cddfSDavid du Colombier# ISC Unix 2.2 wants -linet.
2547dd7cddfSDavid du Colombier# SCO Unix needs -lsocket if you aren't including the X11 driver.
2557dd7cddfSDavid du Colombier# SVR4 may need -lnsl.
2567dd7cddfSDavid du Colombier# Solaris may need -lnsl -lsocket -lposix4.
2577dd7cddfSDavid du Colombier# (Libraries required by individual drivers are handled automatically.)
2587dd7cddfSDavid du Colombier
2597dd7cddfSDavid du ColombierEXTRALIBS=
2607dd7cddfSDavid du Colombier
2617dd7cddfSDavid du Colombier# Define the standard libraries to search at the end of linking.
2627dd7cddfSDavid du Colombier# Most platforms require -lpthread for the POSIX threads library;
2637dd7cddfSDavid du Colombier# on FreeBSD, change -lpthread to -lc_r; BSDI and perhaps some others
2647dd7cddfSDavid du Colombier# include pthreads in libc and don't require any additional library.
2657dd7cddfSDavid du Colombier# All reasonable platforms require -lm, but Rhapsody and perhaps one or
2667dd7cddfSDavid du Colombier# two others fold libm into libc and don't require any additional library.
2677dd7cddfSDavid du Colombier
2683ff48bf5SDavid du Colombier#STDLIBS=-lpthread -lm
2693ff48bf5SDavid du Colombier
2703ff48bf5SDavid du Colombier# Since the default build is for nosync, don't include pthread lib
2713ff48bf5SDavid du ColombierSTDLIBS=-lm
2727dd7cddfSDavid du Colombier
2737dd7cddfSDavid du Colombier# Define the include switch(es) for the X11 header files.
2747dd7cddfSDavid du Colombier# This can be null if handled in some other way (e.g., the files are
2757dd7cddfSDavid du Colombier# in /usr/include, or the directory is supplied by an environment variable);
2767dd7cddfSDavid du Colombier# in particular, SCO Xenix, Unix, and ODT just want
2777dd7cddfSDavid du Colombier#XINCLUDE=
2787dd7cddfSDavid du Colombier# Note that x_.h expects to find the header files in $(XINCLUDE)/X11,
2797dd7cddfSDavid du Colombier# not in $(XINCLUDE).
2807dd7cddfSDavid du Colombier
2813ff48bf5SDavid du ColombierXINCLUDE=-I/usr/X11R6/include
2827dd7cddfSDavid du Colombier
2837dd7cddfSDavid du Colombier# Define the directory/ies and library names for the X11 library files.
2847dd7cddfSDavid du Colombier# XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH
2857dd7cddfSDavid du Colombier# (dynamic libraries on SVR4) and should not include -L.
2867dd7cddfSDavid du Colombier# Newer SVR4 systems can use -R in XLIBDIRS rather than setting XLIBDIR.
2877dd7cddfSDavid du Colombier# Both can be null if these files are in the default linker search path;
2887dd7cddfSDavid du Colombier# in particular, SCO Xenix, Unix, and ODT just want
2897dd7cddfSDavid du Colombier#XLIBDIRS=
2907dd7cddfSDavid du Colombier# Solaris and other SVR4 systems with dynamic linking probably want
2917dd7cddfSDavid du Colombier#XLIBDIRS=-L/usr/openwin/lib -R/usr/openwin/lib
2927dd7cddfSDavid du Colombier# X11R6 (on any platform) may need
2937dd7cddfSDavid du Colombier#XLIBS=Xt SM ICE Xext X11
2947dd7cddfSDavid du Colombier
2957dd7cddfSDavid du Colombier#XLIBDIRS=-L/usr/local/X/lib
2963ff48bf5SDavid du ColombierXLIBDIRS=-L/usr/X11R6/lib
2977dd7cddfSDavid du ColombierXLIBDIR=
2987dd7cddfSDavid du ColombierXLIBS=Xt Xext X11
2997dd7cddfSDavid du Colombier
3007dd7cddfSDavid du Colombier# Define whether this platform has floating point hardware:
3017dd7cddfSDavid du Colombier#	FPU_TYPE=2 means floating point is faster than fixed point.
3027dd7cddfSDavid du Colombier# (This is the case on some RISCs with multiple instruction dispatch.)
3037dd7cddfSDavid du Colombier#	FPU_TYPE=1 means floating point is at worst only slightly slower
3047dd7cddfSDavid du Colombier# than fixed point.
3057dd7cddfSDavid du Colombier#	FPU_TYPE=0 means that floating point may be considerably slower.
3067dd7cddfSDavid du Colombier#	FPU_TYPE=-1 means that floating point is always much slower than
3077dd7cddfSDavid du Colombier# fixed point.
3087dd7cddfSDavid du Colombier
3097dd7cddfSDavid du ColombierFPU_TYPE=1
3107dd7cddfSDavid du Colombier
3117dd7cddfSDavid du Colombier# Define the .dev module that implements thread and synchronization
3127dd7cddfSDavid du Colombier# primitives for this platform.
3137dd7cddfSDavid du Colombier
3143ff48bf5SDavid du Colombier# If POSIX sync primitives are used, also change the STDLIBS to include
3153ff48bf5SDavid du Colombier# the pthread library.
3163ff48bf5SDavid du Colombier#SYNC=posync
3173ff48bf5SDavid du Colombier
3183ff48bf5SDavid du Colombier# Default is No sync primitives since some platforms don't have it (HP-UX)
3193ff48bf5SDavid du ColombierSYNC=nosync
3207dd7cddfSDavid du Colombier
3217dd7cddfSDavid du Colombier# ------ Devices and features ------ #
3227dd7cddfSDavid du Colombier
3237dd7cddfSDavid du Colombier# Choose the language feature(s) to include.  See gs.mak for details.
3247dd7cddfSDavid du Colombier
325*593dc095SDavid du ColombierFEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(GLD)pipe.dev $(PSD)fapi.dev
3267dd7cddfSDavid du Colombier#FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev
3277dd7cddfSDavid du Colombier#FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)rasterop.dev $(GLD)pipe.dev
3287dd7cddfSDavid du Colombier# The following is strictly for testing.
3297dd7cddfSDavid du ColombierFEATURE_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
3307dd7cddfSDavid du Colombier#FEATURE_DEVS=$(FEATURE_DEVS_ALL)
3317dd7cddfSDavid du Colombier
3327dd7cddfSDavid du Colombier# Choose whether to compile the .ps initialization files into the executable.
3337dd7cddfSDavid du Colombier# See gs.mak for details.
3347dd7cddfSDavid du Colombier
3357dd7cddfSDavid du ColombierCOMPILE_INITS=0
3367dd7cddfSDavid du Colombier
3377dd7cddfSDavid du Colombier# Choose whether to store band lists on files or in memory.
3387dd7cddfSDavid du Colombier# The choices are 'file' or 'memory'.
3397dd7cddfSDavid du Colombier
3407dd7cddfSDavid du ColombierBAND_LIST_STORAGE=file
3417dd7cddfSDavid du Colombier
3427dd7cddfSDavid du Colombier# Choose which compression method to use when storing band lists in memory.
343*593dc095SDavid du Colombier# The choices are 'lzw' or 'zlib'.
3447dd7cddfSDavid du Colombier
3457dd7cddfSDavid du ColombierBAND_LIST_COMPRESSOR=zlib
3467dd7cddfSDavid du Colombier
3477dd7cddfSDavid du Colombier# Choose the implementation of file I/O: 'stdio', 'fd', or 'both'.
3487dd7cddfSDavid du Colombier# See gs.mak and sfxfd.c for more details.
3497dd7cddfSDavid du Colombier
3507dd7cddfSDavid du ColombierFILE_IMPLEMENTATION=stdio
3517dd7cddfSDavid du Colombier
3523ff48bf5SDavid du Colombier# Choose the implementation of stdio: '' for file I/O and 'c' for callouts
3533ff48bf5SDavid du Colombier# See gs.mak and ziodevs.c/ziodevsc.c for more details.
3543ff48bf5SDavid du Colombier
3553ff48bf5SDavid du ColombierSTDIO_IMPLEMENTATION=c
3563ff48bf5SDavid du Colombier
3573ff48bf5SDavid du Colombier# Override the default device.  This is set to 'display' by
3583ff48bf5SDavid du Colombier# unix-dll.mak when building a shared object.
3593ff48bf5SDavid du ColombierDISPLAY_DEV=
3603ff48bf5SDavid du Colombier
3617dd7cddfSDavid du Colombier# Define the name table capacity size of 2^(16+n).
3627dd7cddfSDavid du Colombier# Setting this to a non-zero value will slow down the interpreter.
3637dd7cddfSDavid du Colombier
3647dd7cddfSDavid du ColombierEXTEND_NAMES=0
3657dd7cddfSDavid du Colombier
3667dd7cddfSDavid du Colombier# Choose the device(s) to include.  See devs.mak for details,
3677dd7cddfSDavid du Colombier# devs.mak and contrib.mak for the list of available devices.
3687dd7cddfSDavid du Colombier
3693ff48bf5SDavid du ColombierDEVICE_DEVS=$(DISPLAY_DEV) $(DD)x11.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev $(DD)x11gray2.dev $(DD)x11gray4.dev $(DD)x11mono.dev
3707dd7cddfSDavid du Colombier
3717dd7cddfSDavid du Colombier#DEVICE_DEVS1=
3727dd7cddfSDavid du Colombier#DEVICE_DEVS2=
3737dd7cddfSDavid du Colombier#DEVICE_DEVS3=
3747dd7cddfSDavid du Colombier#DEVICE_DEVS4=
3757dd7cddfSDavid du Colombier#DEVICE_DEVS5=
3767dd7cddfSDavid du Colombier#DEVICE_DEVS6=
3777dd7cddfSDavid du Colombier#DEVICE_DEVS7=
3787dd7cddfSDavid du Colombier#DEVICE_DEVS8=
3797dd7cddfSDavid du Colombier#DEVICE_DEVS9=
3807dd7cddfSDavid du Colombier#DEVICE_DEVS10=
3817dd7cddfSDavid du Colombier#DEVICE_DEVS11=
3827dd7cddfSDavid du Colombier#DEVICE_DEVS12=
3837dd7cddfSDavid du Colombier#DEVICE_DEVS13=
3847dd7cddfSDavid du Colombier#DEVICE_DEVS14=
3857dd7cddfSDavid du Colombier#DEVICE_DEVS15=
3863ff48bf5SDavid du Colombier#DEVICE_DEVS16=
3873ff48bf5SDavid du Colombier#DEVICE_DEVS17=
3883ff48bf5SDavid du Colombier#DEVICE_DEVS18=
3893ff48bf5SDavid du Colombier#DEVICE_DEVS19=
3903ff48bf5SDavid du Colombier#DEVICE_DEVS20=
3917dd7cddfSDavid du Colombier
392*593dc095SDavid du ColombierDEVICE_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 $(DD)stcolor.dev
393*593dc095SDavid du ColombierDEVICE_DEVS2=$(DD)epson.dev $(DD)eps9high.dev $(DD)eps9mid.dev $(DD)epsonc.dev $(DD)ibmpro.dev
3947dd7cddfSDavid du ColombierDEVICE_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
3957dd7cddfSDavid du ColombierDEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev $(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev
3963ff48bf5SDavid du ColombierDEVICE_DEVS5=$(DD)uniprint.dev $(DD)ijs.dev
3977dd7cddfSDavid du ColombierDEVICE_DEVS6=$(DD)bj10e.dev $(DD)bj200.dev $(DD)bjc600.dev $(DD)bjc800.dev
3987dd7cddfSDavid du ColombierDEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev
3997dd7cddfSDavid du ColombierDEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
4007dd7cddfSDavid du ColombierDEVICE_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
4017dd7cddfSDavid du ColombierDEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
402*593dc095SDavid du ColombierDEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev
4037dd7cddfSDavid du ColombierDEVICE_DEVS12=$(DD)psmono.dev $(DD)psgray.dev $(DD)psrgb.dev $(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
404*593dc095SDavid du ColombierDEVICE_DEVS13=$(DD)pngmono.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev
405*593dc095SDavid du ColombierDEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
406*593dc095SDavid du ColombierDEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)pswrite.dev $(DD)ps2write.dev $(DD)epswrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev
407*593dc095SDavid du ColombierDEVICE_DEVS16=$(DD)bbox.dev
4087dd7cddfSDavid du Colombier
4097dd7cddfSDavid du ColombierDEVICE_DEVS17=
4107dd7cddfSDavid du ColombierDEVICE_DEVS18=
4117dd7cddfSDavid du ColombierDEVICE_DEVS19=
4127dd7cddfSDavid du ColombierDEVICE_DEVS20=$(DD)cljet5.dev $(DD)cljet5c.dev
413*593dc095SDavid du ColombierDEVICE_DEVS21=$(DD)spotcmyk.dev $(DD)devicen.dev $(DD)xcf.dev $(DD)bmpsep1.dev $(DD)bmpsep8.dev $(DD)bmp16m.dev $(DD)bmp32b.dev $(DD)psdcmyk.dev $(DD)psdrgb.dev
4147dd7cddfSDavid du Colombier
4157dd7cddfSDavid du Colombier# ---------------------------- End of options --------------------------- #
4167dd7cddfSDavid du Colombier
4177dd7cddfSDavid du Colombier# Define the name of the partial makefile that specifies options --
4187dd7cddfSDavid du Colombier# used in dependencies.
4197dd7cddfSDavid du Colombier
4207dd7cddfSDavid du ColombierMAKEFILE=$(GLSRCDIR)/unix-gcc.mak
4217dd7cddfSDavid du ColombierTOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)/unixhead.mak
4227dd7cddfSDavid du Colombier
423*593dc095SDavid du Colombier# Define the auxiliary programs dependency. There aren't any, but we use
424*593dc095SDavid du Colombier# this as a hook to detect whether we're running a version of gcc with
425*593dc095SDavid du Colombier# the const optimization bug.
4267dd7cddfSDavid du Colombier
4277dd7cddfSDavid du ColombierAK=$(GLGENDIR)/cc.tr
4287dd7cddfSDavid du Colombier
4297dd7cddfSDavid du Colombier# Define the compilation rules and flags.
4307dd7cddfSDavid du Colombier
431*593dc095SDavid du ColombierCCFLAGS=$(GENOPT) $(CAPOPT) $(CFLAGS) -DGX_COLOR_INDEX_TYPE='unsigned long long'
4327dd7cddfSDavid du ColombierCC_=$(CC) `cat $(AK)` $(CCFLAGS)
4337dd7cddfSDavid du ColombierCCAUX=$(CC) `cat $(AK)`
4347dd7cddfSDavid du Colombier# These are the specific warnings we have to turn off to compile those
4357dd7cddfSDavid du Colombier# specific few files that need this.  We may turn off others in the future.
4367dd7cddfSDavid du ColombierCC_NO_WARN=$(CC_) -Wno-cast-qual -Wno-traditional
4377dd7cddfSDavid du Colombier
4387dd7cddfSDavid du Colombier# ---------------- End of platform-specific section ---------------- #
4397dd7cddfSDavid du Colombier
4407dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/unixhead.mak
4417dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/gs.mak
4427dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/lib.mak
4437dd7cddfSDavid du Colombierinclude $(PSSRCDIR)/int.mak
4447dd7cddfSDavid du Colombierinclude $(PSSRCDIR)/cfonts.mak
4457dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/jpeg.mak
4467dd7cddfSDavid du Colombier# zlib.mak must precede libpng.mak
4477dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/zlib.mak
4487dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/libpng.mak
449*593dc095SDavid du Colombierinclude $(GLSRCDIR)/jbig2.mak
4503ff48bf5SDavid du Colombierinclude $(GLSRCDIR)/icclib.mak
4513ff48bf5SDavid du Colombierinclude $(GLSRCDIR)/ijs.mak
4527dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/devs.mak
4537dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/contrib.mak
4547dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/unix-aux.mak
4557dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/unixlink.mak
4563ff48bf5SDavid du Colombierinclude $(GLSRCDIR)/unix-dll.mak
4577dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/unix-end.mak
4587dd7cddfSDavid du Colombierinclude $(GLSRCDIR)/unixinst.mak
4597dd7cddfSDavid du Colombier
4607dd7cddfSDavid du Colombier# This has to come last so it won't be taken as the default target.
4617dd7cddfSDavid du Colombier$(AK):
4627dd7cddfSDavid du Colombier	if ( $(CC) --version | egrep "^2\.7\.([01]|2(\.[^1-9]|$$))" >/dev/null ); then echo -Dconst= >$(AK); else echo -Wcast-qual -Wwrite-strings >$(AK); fi
463*593dc095SDavid du Colombier
464*593dc095SDavid du Colombier# platform-specific clean-up
465*593dc095SDavid du Colombier# this makefile is intended to be hand edited so we don't distribute
466*593dc095SDavid du Colombier# the (presumedly modified) version in the top level directory
467*593dc095SDavid du Colombierdistclean : clean config-clean
468*593dc095SDavid du Colombier	-$(RM) Makefile
469*593dc095SDavid du Colombier
470*593dc095SDavid du Colombiermaintainer-clean : distclean
471*593dc095SDavid du Colombier	# nothing special to do
472*593dc095SDavid du Colombier
473*593dc095SDavid du Colombier
474