📄 gs.mak
字号:
# Copyright (C) 1989, 1996, 1997, 1998 Aladdin Enterprises. All rights reserved.
#
# This file is part of Aladdin Ghostscript.
#
# Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author
# or distributor accepts any responsibility for the consequences of using it,
# or for whether it serves any particular purpose or works at all, unless he
# or she says so in writing. Refer to the Aladdin Ghostscript Free Public
# License (the "License") for full details.
#
# Every copy of Aladdin Ghostscript must include a copy of the License,
# normally in a plain ASCII text file named PUBLIC. The License grants you
# the right to copy, modify and redistribute Aladdin Ghostscript, but only
# under certain conditions described in the License. Among other things, the
# License requires that the copyright notice and this notice be preserved on
# all copies.
# $Id: gs.mak $
# Generic makefile, common to all platforms, products, and configurations.
# The platform-specific makefiles `include' this file.
# Ghostscript makefiles cannot use default compilation rules, because
# they may place the output in (multiple) different directories.
# All compilation rules must have the form
# <<compiler>> $(O_)<<output_file>> $(C_)<<input_file>>
# to cope with the divergent syntaxes of the various compilers.
# Spaces must appear where indicated, and nowhere else; in particular,
# there must be no space between $(O_) and the output file name.
# The platform-specific makefiles define the following symbols:
# GS - the name of the executable (without the extension, if any).
# GS_LIB_DEFAULT - the default directory/ies for searching for the
# initialization and font files at run time.
# SEARCH_HERE_FIRST - the default setting of -P (whether or not to
# look for files in the current directory first).
# GS_DOCDIR - the directory where documentation will be available
# at run time.
# JSRCDIR - the directory where the IJG JPEG library source code
# is stored (at compilation time).
# JVERSION - the major version number of the IJG JPEG library.
# PSRCDIR, PVERSION - the same for libpng.
# ZSRCDIR - the same for zlib.
# SHARE_JPEG - normally 0; if set to 1, asks the linker to use
# an existing compiled libpng (-ljpeg) instead of compiling and
# linking libpng explicitly. (We strongly recommend against
# doing this: see make.txt details.)
# JPEG_NAME - the name of the shared library, currently always
# jpeg (libjpeg, -lpjeg).
# SHARE_LIBPNG - normally 0; if set to 1, asks the linker to use
# an existing compiled libpng (-lpng) instead of compiling and
# linking libpng explicitly.
# LIBPNG_NAME, the name of the shared libpng, currently always
# png (libpng, -lpng).
# SHARE_ZLIB - normally 0; if set to 1, asks the linker to use
# an existing compiled zlib (-lgz or -lz) instead of compiling
# and linking libgz/libz explicitly.
# ZLIB_NAME - the name of the shared zlib, either gz (for libgz, -lgz)
# or z (for libz, -lz).
# CONFIG - a configuration ID, added at the request of a customer,
# that is supposed to help in maintaining multiple variants in
# a single directory. Normally this is an empty string;
# it may be any string that is legal as part of a file name.
# DEVICE_DEVS - the devices to include in the executable.
# See devs.mak for details.
# DEVICE_DEVS1...DEVICE_DEVS15 - additional devices, if the definition
# of DEVICE_DEVS doesn't fit on one line. See devs.mak for details.
# FEATURE_DEVS - what features to include in the executable.
# Normally this is one of:
# psl1 - a PostScript Level 1 language interpreter.
# psl2 - a PostScript Level 2 language interpreter.
# psl3 - a PostScript LanguageLevel 3 language
# interpreter.
# and/or
# pdf - a PDF 1.2 interpreter.
# psl3 includes everything in psl2, and psl2 includes everything
# in psl1. For backward compatibility, level1 is a synonym for
# psl1, and level2 is a synonym for psl2.
# The following feature may be added to any of the standard
# configurations:
# ccfonts - precompile fonts into C, and link them
# with the executable. See fonts.txt for details.
# The remaining features are of interest primarily to developers
# who want to "mix and match" features to create custom
# configurations:
# btoken - support for binary token encodings.
# Included automatically in the dps and psl2 features.
# cidfont - (currently partial) support for CID-keyed fonts.
# color - support for the Level 1 CMYK color extensions.
# Included automatically in the dps and psl2 features.
# compfont - support for composite (type 0) fonts.
# Included automatically in the psl2 feature.
# dct - support for DCTEncode/Decode filters.
# Included automatically in the psl2 feature.
# dps - (partial) support for Display PostScript extensions:
# see language.txt for details.
# dpsnext - (partial) support for Display PostScript
# extensions with NeXT's additions.
# epsf - support for recognizing and skipping the binary
# header of MS-DOS EPSF files.
# filter - support for Level 2 filters (other than eexec,
# ASCIIHexEncode/Decode, NullEncode, PFBDecode,
# RunLengthEncode/Decode, and SubFileDecode, which are
# always included, and DCTEncode/Decode,
# which are separate).
# Included automatically in the psl2 feature.
# fzlib - support for zlibEncode/Decode filters.
# ttfont - support for TrueType fonts.
# type1 - support for Type 1 fonts and eexec;
# normally included automatically in all configurations.
# type32 - support for Type 32 (downloaded bitmap) fonts.
# Included automatically in the psl2 feature.
# type42 - support for Type 42 (embedded TrueType) fonts.
# Included automatically in the psl2 feature.
# There are quite a number of other sub-features that can be
# selectively included in or excluded from a configuration,
# but the above are the ones that are most likely to be of
# interest.
# COMPILE_INITS - normally 0; if set to 1, compiles the PostScript
# language initialization files (gs_init.ps et al) into the
# executable, eliminating the need for these files to be present
# at run time.
# BAND_LIST_STORAGE - normally file; if set to memory, stores band
# lists in memory (with compression if needed).
# BAND_LIST_COMPRESSOR - normally zlib: selects the compression method
# to use for band lists in memory.
# FILE_IMPLEMENTATION - normally stdio; if set to fd, uses file
# descriptors instead of buffered stdio for file I/O; if set to
# both, provides both implementations with different procedure
# names for the fd-based implementation (see sfxfd.c for
# more information).
# EXTEND_NAMES - a value N between 0 and 6, indicating that the name
# table should have a capacity of 2^(16+N) names. This normally
# should be set to 0 (or left undefined), since non-zero values
# result in a larger fixed space overhead and slightly slower code.
# SYSTEM_CONSTANTS_ARE_WRITABLE - normally 0 (or undefined); if set to
# 1, makes the system configuration constants (buildtime, copyright,
# product, revision, revisiondate, serialnumber) writable. Only
# one unusual application needs this.
#
# It is very unlikely that anyone would want to edit the remaining
# symbols, but we describe them here for completeness:
# GS_INIT - the name of the initialization file for the interpreter,
# normally gs_init.ps.
# PLATFORM - a "device" name for the platform, so that platforms can
# add various kinds of resources like devices and features.
# CMD - the suffix for shell command files (e.g., null or .bat).
# (This is only needed in a few places.)
# D - the directory separator character (\ for MS-DOS, / for Unix).
# O - the string for specifying the output file from the C compiler
# (-o for MS-DOS, -o ./ for Unix).
# OBJ - the extension for relocatable object files (e.g., o or obj).
# XE - the extension for executable files (e.g., null or .exe).
# XEAUX - the extension for the executable files (e.g., null or .exe)
# for the utility programs (ansi2knr and those compiled with
# CCAUX).
# BEGINFILES - the list of additional files that `make clean' should
# delete.
# CCA2K - the C invocation for the ansi2knr program, which is the only
# one that doesn't use ANSI C syntax. (It is only needed if
# the main C compiler also isn't an ANSI compiler.)
# CCAUX - the C invocation for auxiliary programs (echogs, genarch,
# genconf, gendev, geninit).
# CC_ - the C invocation for normal compilation.
# CCD - the C invocation for files that store into frame buffers or
# device registers. Needed because some optimizing compilers
# will eliminate necessary stores.
# CCINT - the C invocation for compiling the main interpreter module,
# normally the same as CC_: this is needed because the
# Borland compiler generates *worse* code for this module
# (but only this module) when optimization (-O) is turned on.
# CCLEAF - the C invocation for compiling modules that contain only
# leaf procedures, which don't need to build stack frames.
# This is needed only because many compilers aren't able to
# recognize leaf procedures on their own.
# AK - if source files must be converted from ANSI to K&R syntax,
# this is $(ANSI2KNR_XE); if not, it is null.
# If a particular platform requires other utility programs
# to be built, AK must include them too.
# SHP - the prefix for invoking a shell script in the current directory
# (null for MS-DOS, $(SH) ./ for Unix).
# EXPP, EXP - the prefix for invoking an executable program in the
# current directory (null for MS-DOS, ./ for Unix).
# SH - the shell for scripts (null on MS-DOS, sh on Unix).
# CONFILES - the arguments for genconf to generate the appropriate
# linker control files (various).
# CONFLDTR - the genconf switch for generating ld_tr.
# CP_ - the command for copying one file to another. Because of
# limitations in the MS-DOS/MS Windows environment, the
# second argument must be either '.' (in which case the
# write date may be either preserved or set to the current
# date) or a file name (in which case the write date is
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -