# Copyright (C) 2001-2023 Artifex Software, Inc. # All Rights Reserved. # # This software is provided AS-IS with no warranty, either express or # implied. # # This software is distributed under license and may not be copied, # modified or distributed except as expressly authorized under the terms # of the license contained in the file LICENSE in this distribution. # # Refer to licensing information at http://www.artifex.com or contact # Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco, # CA 94129, USA, for further information. # # makefile template for/from the autoconf build. # @configure_input@ # ------------------------------- Options ------------------------------- # ####### The following are the only parts of the file you should need to edit. # Define the directory for the final executable, and the # source, generated intermediate file, and object directories # for the graphics library (GL) and the PostScript/PDF interpreter (PS). PACKAGE=ghostscript BINDIR=./$(BUILDDIRPREFIX)bin GLSRCDIR=@srcdir@/base DEVSRCDIR=@srcdir@/devices GENORDERED_SRCDIR=@srcdir@/toolbin/halftone/gen_ordered GLGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ GLOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ DEVGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ DEVOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ AUXDIR=$(GLGENDIR)/aux@AUXDIRPOSTFIX@ PSSRCDIR=@srcdir@/psi PSLIBDIR=@srcdir@/lib PSRESDIR=@srcdir@/Resource PSGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ PSOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ PCL5SRCDIR=@srcdir@/pcl/pcl PCL5GENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ PCL5OBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ PXLSRCDIR=@srcdir@/pcl/pxl PXLGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ PXLOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ PLSRCDIR=@srcdir@/pcl/pl PLGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ PLOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ XPSSRCDIR=@srcdir@/xps XPSGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ XPSOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ PDFSRCDIR=@srcdir@/pdf PDFGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ PDFOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ GPDLSRCDIR=@srcdir@/gpdl GPDLGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ GPDLOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ URFSRCDIR=@srcdir@/urf URFGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ URFOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ SOSRCDIR=@srcdir@/so SOGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ SOOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@ CONTRIBDIR=@srcdir@/contrib # Do not edit the next group of lines. include $(GLSRCDIR)/version.mak DD=$(GLGENDIR)/ GLD=$(GLGENDIR)/ PSD=$(PSGENDIR)/ # ------ Generic options ------ # # Define the installation commands and target directories for # executables and files. The commands are only relevant to `make install'; # the directories also define the default search path for the # initialization files (gs_*.ps) and the fonts. INSTALL = $(GLSRCDIR)/instcopy -c INSTALL_PROGRAM = $(INSTALL) -m 755 INSTALL_DATA = $(INSTALL) -m 644 INSTALL_SHARED = @INSTALL_SHARED@ prefix = @prefix@ datarootdir = @datarootdir@ exec_prefix = @exec_prefix@ bindir = @bindir@ scriptdir = $(bindir) includedir = @includedir@ libdir = @libdir@ mandir = @mandir@ man1ext = 1 man1dir = $(mandir)/man$(man1ext) datadir = @datadir@ docdir = @docdir@@VERSIONED_PATH@ # The following must be substituted using @datadir@ and @libdir@ # to avoid adding RPM generation paths (CUPS STR #1112) gsdir = @datadir@/ghostscript gsdatadir = $(gsdir)@VERSIONED_PATH@ gssharedir = @libdir@/ghostscript@VERSIONED_PATH@ gsincludedir = @includedir@/ghostscript/ exdir=$(gsdatadir)/examples GS_DOCDIR=$(docdir) # Choose whether to compile the .ps initialization files into the executable. # See gs.mak for details. COMPILE_INITS=@COMPILE_INITS@ # Define the default directory/ies for the runtime # initialization and font files. Separate multiple directories with a :. GS_LIB_DEFAULT=$(gsdatadir)/Resource/Init:$(gsdatadir)/lib:$(gsdatadir)/Resource/Font:$(gsdir)/fonts:@fontpath@ # Define the default search path for Tesseract. Separate multiple directories # with a :. TESSDATA=@tessdata@ # Define the default directory for cached data files # this must be a single path. GS_CACHE_DIR="~/.ghostscript/cache/" # Define whether or not searching for initialization files should always # look in the current directory first. This leads to well-known security # and confusion problems, but may be convenient sometimes. SEARCH_HERE_FIRST=0 # Define the name of the interpreter initialization file. # (There is no reason to change this.) GS_INIT=gs_init.ps # Choose generic configuration options. TARGET_ARCH_FILE=@ARCH_CONF_HEADER@ # -DDEBUG # includes debugging features (-Z switch) in the code. # Code runs substantially slower even if no debugging switches # are set. GENOPT= GENOPTAUX= # Choose capability options. # -DHAVE_BSWAP32 # use bswap32 intrinsic # -DHAVE_BYTESWAP_H # use byteswap.h functions # # -DHAVE_MKSTEMP # uses mkstemp instead of mktemp # This uses the more secure temporary file creation call # Enable this if it is available on your platform. # -DHAVE_FILE64 # use marked versions of the stdio FILE calls, fopen64() et al. # # -DHAVE_MKSTEMP64 # use non-standard function mkstemp64() # # -DHAVE_LIBIDN # use libidn to canonicalize Unicode passwords # # -DHAVE_SETLOCALE # call setlocale(LC_CTYPE) when running as a standalone app # -DHAVE_SSE2 # use sse2 intrinsics CAPOPT= @HAVE_MKSTEMP@ @HAVE_FILE64@ @HAVE_FSEEKO@ @HAVE_MKSTEMP64@ @HAVE_FONTCONFIG@ @HAVE_LIBIDN@ @HAVE_SETLOCALE@ @HAVE_SSE2@ @HAVE_DBUS@ @HAVE_BSWAP32@ @HAVE_BYTESWAP_H@ @HAVE_STRERROR@ @HAVE_ISNAN@ @HAVE_ISINF@ @HAVE_FPCLASSIFY@ @HAVE_PREAD_PWRITE@ @RECURSIVE_MUTEXATTR@ # Define the name of the executable file. GS=@GS@ GS_SO_BASE=@GS@ GS_SONAME=@GS_SONAME@ GS_SONAME_MAJOR=@GS_SONAME_MAJOR@ GS_SONAME_MAJOR_MINOR=@GS_SONAME_MAJOR_MINOR@ PCL=@PCL@ PCL_SO_BASE=@PCL@ PCL_SONAME=@PCL_SONAME@ PCL_SONAME_MAJOR=@PCL_SONAME_MAJOR@ PCL_SONAME_MAJOR_MINOR=@PCL_SONAME_MAJOR_MINOR@ XPS=@XPS@ XPS_SO_BASE=@XPS@ XPS_SONAME=@XPS_SONAME@ XPS_SONAME_MAJOR=@XPS_SONAME_MAJOR@ XPS_SONAME_MAJOR_MINOR=@XPS_SONAME_MAJOR_MINOR@ PDF=@PDF@ PDF_SO_BASE=@PDF@ PDF_SONAME=@PDF_SONAME@ PDF_SONAME_MAJOR=@PDF_SONAME_MAJOR@ PDF_SONAME_MAJOR_MINOR=@PDF_SONAME_MAJOR_MINOR@ GPDL=@GPDL@ GPDL_SO_BASE=@GPDL@ GPDL_SONAME=@GPDL_SONAME@ GPDL_SONAME_MAJOR=@GPDL_SONAME_MAJOR@ GPDL_SONAME_MAJOR_MINOR=@GPDL_SONAME_MAJOR_MINOR@ XE=@EXEEXT@ XEAUX=@AUXEXEEXT@ PCL_TARGET=@PCL_TARGET@ XPS_TARGET=@XPS_TARGET@ PDF_TARGET=@PDF_TARGET@ GPDL_TARGET=@GPDL_TARGET@ PCL_XPS_PDL_TARGETS=$(PCL_TARGET) $(XPS_TARGET) $(GPDL_TARGET) $(PDF_TARGET) # Define the directories for debugging and profiling binaries, relative to # the standard binaries. DEBUGDIRPREFIX=debug MEMENTODIRPREFIX=mem SANITIZEDIRPREFIX=san PGDIRPREFIX=pg # Are we include the CAL library? WITH_CAL=@WITH_CAL@ CALSRCDIR=@CALSRCDIR@ CAL_CFLAGS=@CAL_CFLAGS@ CAL_SSE4_2_CFLAGS=@CAL_SSE4_2_CFLAGS@ CAL_AVX2_CFLAGS=@CAL_AVX2_CFLAGS@ CAL_NEON_CFLAGS=@CAL_NEON_CFLAGS@ # Location of extract library (can be empty). EXTRACT_DIR=@EXTRACT_DIR@ # Define whether to compile in the FreeType library, and if so, where # the source tree is location. Otherwise, what library name to use # in linking to a shared implementation. FT_BRIDGE=@FT_BRIDGE@ SHARE_FT=@SHARE_FT@ FTSRCDIR=@FTSRCDIR@ FT_CFLAGS=@FT_CFLAGS@ @FT_HIDDEN_CFLAGS@ -DSHARE_FT=@SHARE_FT@ FT_LIBS=@FT_LIBS@ FT_LIB_PATH=@FT_LIB_PATH@ # Define whether to compile in UFST. # FAPI/UFST depends on UFST_BRIDGE being undefined - hence the construct below. # (i.e. use "UFST_BRIDGE=1" or *not to define UFST_BRIDGE to anything*) # As UFST is not used for fonts embedded in input files, we should still have # Freetype enabled, above. @INSERT_UFST_BRIDGE_EQUAL_ONE@ UFST_ROOT=@UFST_ROOT@ UFST_LIB_EXT=@UFST_LIB_EXT@ UFST_ROMFS_ARGS?=-b \ -P $(UFST_ROOT)/fontdata/mtfonts/pcl45/mt3/ -d fontdata/mtfonts/pcl45/mt3/ pcl___xj.fco plug__xi.fco wd____xh.fco \ -P $(UFST_ROOT)/fontdata/mtfonts/pclps2/mt3/ -d fontdata/mtfonts/pclps2/mt3/ pclp2_xj.fco \ -c -P $(PSSRCDIR)/../lib/ -d Resource/Init/ FAPIconfig-FCO UFSTROMFONTDIR=\"%rom%fontdata/\" UFSTDISCFONTDIR?=\"$(UFST_ROOT)/fontdata/\" UFST_CFLAGS=@UFST_CFLAGS@ # Define the directory where the IJG JPEG library sources are stored, # and the major version of the library that is stored there. # You may need to change this if the IJG library version changes. # See jpeg.mak for more information. JSRCDIR=@LIBJPEGDIR@ # Note: if a shared library is used, it may not contain the # D_MAX_BLOCKS_IN_MCU patch, and thus may not be able to read # some older JPEG streams that violate the standard. If the JPEG # library built from local sources, the patch will be applied. SHARE_JPEG=@SHARE_LIBJPEG@ JPEG_NAME=jpeg # Define the directory where the PNG library sources are stored, # and the version of the library that is stored there. # You may need to change this if the libpng version changes. # See png.mak for more information. SHARE_LIBPNG=@SHARE_LIBPNG@ PNGSRCDIR=@LIBPNGDIR@ LIBPNG_NAME=png # libtiff SHARE_LIBTIFF=@SHARE_LIBTIFF@ TIFFSRCDIR=@LIBTIFFDIR@ TIFFCONFDIR=@LIBTIFFCONFDIR@ TIFFPLATFORM=unix TIFFCONFIG_SUFFIX= LIBTIFF_NAME=tiff TIFF_CFLAGS=@TIFFCFLAGS@ ENABLE_TIFF=@ENABLETIFF@ # Define the directory where the zlib sources are stored. # See zlib.mak for more information. SHARE_ZLIB=@SHARE_ZLIB@ ZSRCDIR=@ZLIBDIR@ #ZLIB_NAME=gz ZLIB_NAME=z ZLIB_CFLAGS=@ZLIBCFLAGS@ # Choose shared or compiled in libjbig2dec and source location # JBIG2_LIB=jbig2dec JBIG2_LIB=@JBIG2_DECODER@ SHARE_JBIG2=@SHARE_JBIG2@ JBIG2SRCDIR=@JBIG2DIR@ JBIG2_CFLAGS=@JBIG2_AUTOCONF_CFLAGS@ # Choose the library to use for (JPXDecode support) # whether to link to an external build or compile in from source # and source location and configuration flags for compiling in JPX_LIB=@JPX_DECODER@ SHARE_JPX=@SHARE_JPX@ JPXSRCDIR=@JPXDIR@ JPX_CFLAGS=-DSHARE_JPX=$(SHARE_JPX) @JPX_AUTOCONF_CFLAGS@ @JPX_SSE_CFLAGS@ # options for lcms color management library SHARE_LCMS=@SHARELCMS@ LCMS2SRCDIR=@LCMS2DIR@ LCMS2MTSRCDIR=@LCMS2MTDIR@ LCMS2_CFLAGS=-DSHARE_LCMS=$(SHARE_LCMS) @LCMS2_ENDIAN@ @SQRTF_SUBST@ @LCMS2_PTR_ALIGNMENT@ # Which CMS are we using? # Options are currently lcms or lcms2 WHICH_CMS=@WHICHLCMS@ # Do we have URF support? ENABLE_URF=@ENABLEURF@ GPDL_URF_TOP_OBJ=@GPDL_URF_TOP_OBJ@ URF_INCLUDE=@URF_INCLUDE@ URF_DEV=@URF_DEV@ SURFX_H=@SURFX_H@ # Do we have SmartOffice support? ENABLE_SO=@ENABLESO@ GPDL_SO_TOP_OBJ=@GPDL_SO_TOP_OBJ@ SO_PDFEXPORT_LIB=@SO_PDFEXPORT_LIB@ EXPATSRCDIR=@EXPATDIR@ EXPAT_CFLAGS=@EXPAT_CFLAGS@ @XML_HIDDEN_CFLAGS@ EXPATGENDIR=$(GLGENDIR) EXPATOBJDIR=$(GLOBJDIR) EXPATINCDIR = $(EXPATSRCDIR)$(D)lib SHARE_EXPAT=@SHARE_EXPAT@ JPEGXR_SRCDIR=@SRCDIR@/jpegxr SHARE_JPEGXR=0 JPEGXR_GENDIR=$(GLGENDIR) JPEGXR_OBJDIR=$(GLOBJDIR) # Define the directory where the ijs source is stored, # and the process forking method to use for the server. # See ijs.mak for more information. SHARE_IJS=@SHAREIJS@ IJS_NAME=@IJSLIB@ IJSSRCDIR=@IJSDIR@ IJSEXECTYPE=unix # Define install location for 'cups' device/filter support CUPSLIBS=@CUPSLIBS@ CUPSLIBDIRS=@CUPSLIBDIRS@ CUPSSERVERBIN=@CUPSSERVERBIN@ CUPSSERVERROOT=@CUPSSERVERROOT@ CUPSDATA=@CUPSDATA@ CUPSPDFTORASTER=@CUPSPDFTORASTER@ SHARE_LCUPS=@SHARELCUPS@ LCUPS_NAME=cups LCUPSSRCDIR=@CUPS_DIR@ LIBCUPSSRCDIR=@LIB_CUPS_DIR@ LCUPSBUILDTYPE=@LCUPSBUILDTYPE@ CUPS_CC=$(CC) SHARE_LCUPSI=@SHARELCUPSI@ LCUPSI_NAME=cupsimage LCUPSISRCDIR=@CUPS_DIR@ CUPS_CC=$(CC) CUPSCFLAGS=@CUPSCFLAGS@ -DSHARE_LCUPS=$(SHARE_LCUPS) -DSHARE_LCUPSI=$(SHARE_LCUPSI) # Define how to build the library archives. (These are not used in any # standard configuration.) AR=ar ARFLAGS=qc RANLIB=@RANLIB@ STRIP_XE=@STRIP_XE@ STRIP_XE_OPTS= # ------ Platform-specific options ------ # # Define the name of the C compiler (target and host (AUX)) CC=@CC@ CCAUX=@CCAUX@ # Define the name of the linker for the final link step. # Normally this is the same as the C compiler. CCLD=$(CC) CCAUXLD=$(CCAUX) # Define the default gcc flags. GCFLAGS=@CPPFLAGS@ @GCFLAGS@ @CFLAGS@ @HAVE_POPEN_PROTO@ GCFLAGSAUX=@GCFLAGSAUX@ @CFLAGSAUX@ @HAVE_POPEN_PROTO@ # Define the added flags for standard, debugging, profiling # and shared object builds. CFLAGS_STANDARD=@OPT_CFLAGS@ CFLAGS_DEBUG=@DBG_CFLAGS@ CFLAGS_PROFILE=-pg @OPT_CFLAGS@ CFLAGS_SO=@DYNAMIC_CFLAGS@ CFLAGSAUX_STANDARD=@CFLAGSAUX_STANDARD@ CFLAGSAUX_DEBUG=@CFLAGSAUX_DEBUG@ CFLAGSAUX_PROFILE=-pg @CFLAGSAUX_STANDARD@ # Define the extra flags added for address sanitizer builds CFLAGS_SANITIZE=@CFLAGS_SANITIZE@ LDFLAGS_SANITIZE=$(CFLAGS_SANITIZE) # Define the other compilation flags. Add at most one of the following: # -DBSD4_2 for 4.2bsd systems. # -DSYSV for System V or DG/UX. # -DSYSV -D__SVR3 for SCO ODT, ISC Unix 2.2 or before, # or any System III Unix, or System V release 3-or-older Unix. # -DSVR4 -DSVR4_0 (not -DSYSV) for System V release 4.0. # -DSVR4 (not -DSYSV) for System V release 4.2 (or later) and Solaris 2. # XCFLAGS can be set from the command line. # We don't include -ansi, because this gets in the way of the platform- # specific stuff that typically needs; nevertheless, we expect # gcc to accept ANSI-style function prototypes and function definitions. # CFLAGS from autoconf AC_CFLAGS=@DYNAMIC_FLAGS@ # fontconfig flags, used by unix-aux.mak FONTCONFIG_CFLAGS=@FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS=@FONTCONFIG_LIBS@ # DBus flags, used by cups.mak DBUS_CFLAGS=@DBUS_CFLAGS@ DBUS_LIBS=@DBUS_LIBS@ # defines from autoconf; note that we don't use all of these at present. ACDEFS=@DEFS@ CFLAGS_VISIBILITY=@CFLAGS_VISIBILITY@ CFLAGS=$(CFLAGS_STANDARD) $(GCFLAGS) $(AC_CFLAGS) $(XCFLAGS) @CLUSTER_CFLAGS@ CFLAGSAUX=$(CFLAGSAUX_STANDARD) $(GCFLAGSAUX) $(XCFLAGSAUX) # Define platform flags for ld. # SunOS 4.n may need -Bstatic. # Solaris 2.6 (and possibly some other versions) with any of the SHARE_ # parameters set to 1 may need # -R /usr/local/xxx/lib:/usr/local/lib # giving the full path names of the shared library directories. # XLDFLAGS can be set from the command line. # AC_LDFLAGS from autoconf AC_LDFLAGS=@X_LDFLAGS@ LDFLAGS=@LDFLAGS@ $(AC_LDFLAGS) $(XLDFLAGS) LDFLAGSAUX=@LDFLAGSAUX@ GS_LDFLAGS=$(LDFLAGS) PCL_LDFLAGS=$(LDFLAGS) XPS_LDFLAGS=$(LDFLAGS) PDL_LDFLAGS=$(LDFLAGS) PDF_LDFLAGS=$(LDFLAGS) GS_LDFLAGS_SO=@GS_DYNAMIC_LDFLAGS@ PCL_LDFLAGS_SO=@PCL_DYNAMIC_LDFLAGS@ XPS_LDFLAGS_SO=@XPS_DYNAMIC_LDFLAGS@ PDL_LDFLAGS_SO=@PDL_DYNAMIC_LDFLAGS@ PDF_LDFLAGS_SO=@PDF_DYNAMIC_LDFLAGS@ # Define any extra libraries to link into the executable. # ISC Unix 2.2 wants -linet. # SCO Unix needs -lsocket if you aren't including the X11 driver. # SVR4 may need -lnsl. # Solaris may need -lnsl -lsocket -lposix4. # (Libraries required by individual drivers are handled automatically.) EXTRALIBS=$(XTRALIBS) @LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@ @FT_LIBS@ @JPX_AUTOCONF_LIBS@ @EXPAT_LIBS@ AUXEXTRALIBS=@AUXEXTRALIBS@ @AUX_SHARED_ZLIB@ # Define the standard libraries to search at the end of linking. # Most platforms require -lpthread for the POSIX threads library; # on FreeBSD, change -lpthread to -lc_r; BSDI and perhaps some others # include pthreads in libc and don't require any additional library. # All reasonable platforms require -lm, but Rhapsody and perhaps one or # two others fold libm into libc and don't require any additional library. STDLIBS=@PTHREAD_LIBS@ -lm @TESSERACT_LIBS@ # Define the include switch(es) for the X11 header files. # This can be null if handled in some other way (e.g., the files are # in /usr/include, or the directory is supplied by an environment variable) XINCLUDE=@X_CFLAGS@ # Define the directory/ies and library names for the X11 library files. # XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH # (dynamic libraries on SVR4) and should not include -L. # Newer SVR4 systems can use -R in XLIBDIRS rather than setting XLIBDIR. # Both can be null if these files are in the default linker search path. # Solaris and other SVR4 systems with dynamic linking probably want #XLIBDIRS=-L/usr/openwin/lib -R/usr/openwin/lib # X11R6 (on any platform) may need #XLIBS=Xt SM ICE Xext X11 # We use the autoconf macro AC_PATH_XTRA which defines X_LIBS with # the -L (or whatever). It also defines X_PRE_LIBS and X_EXTRA_LIBS # all three of which are stripped and slotted into XLIBS below. # Usually however, all but X_LIBS are empty on modern platforms. XLIBDIRS=@X_LDFLAGS@ XLIBDIR= #XLIBS=Xt Xext X11 XLIBS=@X_LIBS@ # Define the .dev module that implements thread and synchronization # primitives for this platform. # If POSIX sync primitives are used, also change the STDLIBS to include # the pthread library. Otherwise use SYNC=nosync #SYNC=posync #SYNC=nosync SYNC=@SYNC@ # programs we use RM=rm -f # ------ Dynamic loader options ------- # SOC_CFLAGS = @SOC_CFLAGS@ SOC_LIBS = @SOC_LIBS@ SOC_LOADER = @SOC_LOADER@ # on virtually every Unix-a-like system, this is "so", # but Apple just had to be different, so it's now set # by configure SO_LIB_EXT=@SO_LIB_EXT@ DLL_EXT=@DLL_EXT@ SO_LIB_VERSION_SEPARATOR=@SO_LIB_VERSION_SEPARATOR@ #CAIRO_CFLAGS = @CAIRO_CFLAGS@ #CAIRO_LIBS = @CAIRO_LIBS@ # AUX Tools flags MKROMFS_FLAGS=@MKROMFS_FLAGS@ # ------ Devices and features ------ # # Choose the language feature(s) to include. See gs.mak for details. # if it's included, $(PSD)gs_pdfwr.dev should always be one of the last in the list PSI_FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev @GPDF_DEV@ $(PSD)epsf.dev $(PSD)ttfont.dev \ @UTF8DEVS@ $(PSD)fapi_ps.dev $(PSD)jpx.dev $(PSD)jbig2.dev $(PSD)gs_pdfwr.dev PCL_FEATURE_DEVS=$(PLOBJDIR)/pl.dev $(PLOBJDIR)/pjl.dev $(PXLOBJDIR)/pxl.dev $(PCL5OBJDIR)/pcl5c.dev \ $(PCL5OBJDIR)/hpgl2c.dev XPS_FEATURE_DEVS=$(XPSOBJDIR)/pl.dev $(XPSOBJDIR)/xps.dev PDF_FEATURE_DEVS=$(PDFOBJDIR)/pl.dev $(PDFOBJDIR)/gpdf.dev FEATURE_DEVS=$(GLD)pipe.dev $(GLD)gsnogc.dev $(GLD)htxlib.dev $(GLD)psl3lib.dev $(GLD)psl2lib.dev \ $(GLD)dps2lib.dev $(GLD)path1lib.dev $(GLD)patlib.dev $(GLD)psl2cs.dev $(GLD)rld.dev $(GLD)gxfapiu$(UFST_BRIDGE).dev\ $(GLD)ttflib.dev $(GLD)cielib.dev $(GLD)pipe.dev $(GLD)htxlib.dev $(GLD)sdct.dev $(GLD)libpng.dev\ $(GLD)seprlib.dev $(GLD)translib.dev $(GLD)cidlib.dev $(GLD)psf0lib.dev $(GLD)psf1lib.dev\ $(GLD)psf2lib.dev $(GLD)lzwd.dev $(GLD)sicclib.dev \ $(GLD)sjbig2.dev $(GLD)sjpx.dev $(GLD)ramfs.dev \ $(GLD)pwgd.dev $(GLD)siscale.dev $(URF_DEV) #FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev #FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)ttfont.dev $(GLD)pipe.dev # The following is strictly for testing. FEATURE_DEVS_ALL=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)ttfont.dev $(PSD)double.dev $(PSD)trapping.dev $(PSD)stocht.dev $(GLD)pipe.dev $(GLD)gsnogc.dev $(GLD)htxlib.dev @JBIG2DEVS@ @JPXDEVS@ @UTF8DEVS@ $(GLD)ramfs.dev #FEATURE_DEVS=$(FEATURE_DEVS_ALL) # The list of resources to be included in the %rom% file system. # This is in the top makefile since the file descriptors are platform specific RESOURCE_LIST=Resource/CMap/ Resource/ColorSpace/ Resource/Decoding/ Resource/Font/ Resource/ProcSet/ Resource/IdiomSet/ Resource/CIDFont/ # Choose whether to store band lists on files or in memory. # The choices are 'file' or 'memory'. BAND_LIST_STORAGE=file # Choose which compression method to use when storing band lists in memory. # The choices are 'lzw' or 'zlib'. BAND_LIST_COMPRESSOR=zlib # Choose the implementation of file I/O: 'stdio', 'fd', or 'both'. # See gs.mak and sfxfd.c for more details. FILE_IMPLEMENTATION=stdio # List of default devices, in order of priority. They need not be # present in the actual build. GS_DEV_DEFAULT="x11alpha bbox" # Fallback default device. This is set to 'display' by # unix-dll.mak when building a shared object. DISPLAY_DEV=$(DD)bbox.dev # Choose the device(s) to include. See devs.mak for details, # devs.mak and contrib.mak for the list of available devices. #DEVICE_DEVS=$(DISPLAY_DEV) $(DD)x11.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev $(DD)x11gray2.dev $(DD)x11gray4.dev $(DD)x11mono.dev #DEVICE_DEVS=$(DISPLAY_DEV) @X11DEVS@ #DEVICE_DEVS=$(DISPLAY_DEV) @X_DEVS@ #DEVICE_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 #DEVICE_DEVS2=#$(DD)gdevjbig2.dev $(DD)gdevjpx.dev #$(DD)rinkj.dev #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 $(DD)lj5mono.dev $(DD)lj5gray.dev #DEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev $(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev #DEVICE_DEVS5=$(DD)uniprint.dev @IJSDEVS@ #DEVICE_DEVS6=$(DD)bj10e.dev $(DD)bj200.dev $(DD)bjc600.dev $(DD)bjc800.dev #DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev $(DD)cfax.dev #DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev #DEVICE_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 #DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev #DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiff48nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiff64nc $(DD)tiffsep.dev $(DD)tiffsep1.dev #DEVICE_DEVS12=$(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev #DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev #DEVICE_DEVS13=@PNGDEVS@ #DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev #DEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)ps2write.dev $(DD)eps2write.dev $(DD)txtwrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev #DEVICE_DEVS16=$(DD)bbox.dev #DEVICE_DEVS17= #DEVICE_DEVS18= #DEVICE_DEVS19= #DEVICE_DEVS20=$(DD)cljet5.dev $(DD)cljet5c.dev #DEVICE_DEVS21=$(DD)spotcmyk.dev $(DD)devicen.dev $(DD)xcf.dev $(DD)psdcmyk.dev $(DD)psdrgb.dev $(DD)psdcmykog.dev $(DD)fpng.dev DEVICE_DEVS=$(DISPLAY_DEV) @X11_DEVS@ DEVICE_DEVS1=@F_DEVS@ DEVICE_DEVS2=@P_DEVS@ DEVICE_DEVS3=@CUPS_DEVS@ DEVICE_DEVS4=@IJS_DEVS@ DEVICE_DEVS5= DEVICE_DEVS6=@PNG_DEVS@ DEVICE_DEVS7=@JBIG2_DEVS@ DEVICE_DEVS8= DEVICE_DEVS9=@XPS_DEVS@ DEVICE_DEVS10= DEVICE_DEVS11= DEVICE_DEVS12= DEVICE_DEVS13= DEVICE_DEVS14= DEVICE_DEVS15= DEVICE_DEVS16=@OCR_DEVS@ DEVICE_DEVS17= DEVICE_DEVS18= DEVICE_DEVS19= DEVICE_DEVS20= DEVICE_DEVS21= # Shared library target to build. GS_SHARED_OBJS=@DYNAMIC_DEVS@ # ---------------------------- End of options --------------------------- # # Define the name of the partial makefile that specifies options -- # used in dependencies. MAKEFILE=Makefile TOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)/unixhead.mak # for use in unix-dll.mak and unix-end.mak # if you rename the Makefile, you *must* also set this to the new name SUB_MAKE_OPTION=@SUB_MAKE_OPTION@ # Define the auxiliary program dependency. We don't use this. AK= # Define the compilation rules and flags. CCFLAGS=$(GENOPT) $(CAPOPT) $(CFLAGS) CC_=$(CC) $(CCFLAGS) CC_LEAF=$(CC_) CCFLAGSAUX=$(GENOPTAUX) $(CAPOPTAUX) $(CFLAGSAUX) CCAUX_=$(CCAUX) $(CCFLAGSAUX) # note gcc can't use -fomit-frame-pointer with -pg. CC_LEAF_PG=$(CC_) # These are the specific warnings we have to turn off to compile those # specific few files that need this. We may turn off others in the future. CC_NO_WARN=$(CC_) CCAUX_NO_WARN=$(CCAUX_) CC_SHARED=$(CC_) @DYNAMIC_CFLAGS@ LD_SET_DT_SONAME=@SET_DT_SONAME@ # MAKEDIRS = the dependency on ALL object files (must be the last one on # the line. Requires GNU make to make it an 'order only' dependency # MAKEDIRSTOP = the topmost dependency - set this if you can't set MAKEDIRS MAKEDIRS=@ORDER_ONLY@ directories MAKEDIRSTOP= OCR_VERSION=@OCR_VERSION@ LEPTONICADIR=@LEPTONICADIR@ TESSAVX=@TESS_AVX@ TESSAVX2=@TESS_AVX2@ TESSFMA=@TESS_FMA@ TESSSSE41=@TESS_SSE4_1@ TESSNEON=@TESS_NEON@ TESSCXXFLAGS=@TESS_CXXFLAGS@ TESSERACTDIR=@TESSERACTDIR@ # Since C++ is only used for tesseract, set the compiler here CXX=@CXX@ # ---------------- End of platform-specific section ---------------- # INSTALL_CONTRIB=@INSTALL_CONTRIB@ include $(GLSRCDIR)/unixhead.mak include $(GLSRCDIR)/gs.mak # *romfs.mak must precede lib.mak include @PLROMFS_MAK@ # plromfs.mak include @XPSROMFS_MAK@ # xpsromfs.mak include @PDFROMFS_MAK@ # pdfromfs.mak include $(PSSRCDIR)/psromfs.mak include $(GLSRCDIR)/lib.mak include $(PSSRCDIR)/int.mak include @PL_MAK@ # pl.mak include @PCL_MAK@ # pcl.mak include @PCL_TOP_MAK@ # pcl_top.mak include @PXL_MAK@ # pxl.mak include @XPS_MAK@ # xps.mak include $(GLSRCDIR)/jpeg.mak include @PDF_MAK@ # pdf.mak include @GPDL_MAK@ # gpdl.mak include $(GLSRCDIR)/freetype.mak include @FAPIUFST_MAK@ # zlib.mak must precede png.mak include $(GLSRCDIR)/zlib.mak include $(GLSRCDIR)/png.mak include $(GLSRCDIR)/tiff.mak include $(GLSRCDIR)/jbig2.mak include $(GLSRCDIR)/openjpeg.mak include $(GLSRCDIR)/cal.mak @LEPTONICAINCLUDE@ @TESSERACTINCLUDE@ include $(GLSRCDIR)/ocr.mak include $(GLSRCDIR)/jpegxr.mak include $(GLSRCDIR)/expat.mak include $(DEVSRCDIR)/extract.mak include $(GLSRCDIR)/$(WHICH_CMS).mak include $(GLSRCDIR)/ijs.mak @LCUPSINCLUDE@ @LCUPSIINCLUDE@ include $(DEVSRCDIR)/devs.mak include $(DEVSRCDIR)/dcontrib.mak include $(GLSRCDIR)/unix-aux.mak include $(GLSRCDIR)/unixlink.mak include $(GLSRCDIR)/unix-dll.mak include $(GLSRCDIR)/unix-end.mak include $(GLSRCDIR)/unixinst.mak @CONTRIBINCLUDE@ @CUPSINCLUDE@ # Clean up after the autotools scripts distclean : clean config-clean soclean pgclean debugclean mementoclean -$(RM_) -r $(BINDIR) $(GLOBJDIR) $(PSOBJDIR) $(AUXDIR) -$(RM_) -r autom4te.cache -$(RM_) config.log config.status configaux.log @ARCH_AUTOCONF_HEADER@ -$(RM_) -r $(TIFFCONFDIR) -$(RM_) Makefile # a debug-clean target for consistency with the ghostpdl builds debug-clean : debugclean memento-clean : mementoclean maintainer-clean : distclean -$(RM_) configure check : default $(NO_OP)