📄 devs.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: devs.mak $
# makefile for Aladdin's device drivers.
# Define the name of this makefile.
DEVS_MAK=$(GLSRC)devs.mak
# All device drivers depend on the following:
GDEVH=$(gserrors_h) $(gx_h) $(gxdevice_h)
GDEV=$(AK) $(ECHOGS_XE) $(GDEVH)
###### --------------------------- Overview -------------------------- ######
# It is possible to build Ghostscript with an arbitrary collection of device
# drivers, although some drivers are supported only on a subset of the
# target platforms.
# The catalog in this file, devs.mak, lists all the drivers that were
# written by Aladdin, or by people working closely with Aladdin, and for
# which Aladdin is willing to take problem reports (although since
# Ghostscript is provided with NO WARRANTY and NO SUPPORT, we can't promise
# that we'll solve your problem). Another file, contrib.mak, lists all the
# drivers contributed by other people that are distributed by Aladdin with
# Ghostscript. Note in particular that all drivers for color inkjets and
# other non-PostScript-capable color printers are in contrib.mak.
# If you haven't configured Ghostscript before, or if you want to add a
# driver that that isn't included in the catalogs (for which you have the
# source code), we suggest you skip to the "End of catalog" below and read
# the documentation there before continuing.
###### --------------------------- Catalog -------------------------- ######
# MS-DOS displays (note: not usable with Desqview/X):
# MS-DOS EGA and VGA:
# ega EGA (640x350, 16-color)
# vga VGA (640x480, 16-color)
# MS-DOS SuperVGA:
# * ali SuperVGA using Avance Logic Inc. chipset, 256-color modes
# * atiw ATI Wonder SuperVGA, 256-color modes
# * cirr SuperVGA using Cirrus Logic CL-GD54XX chips, 256-color modes
# * s3vga SuperVGA using S3 86C911 chip (e.g., Diamond Stealth board)
# svga16 Generic SuperVGA in 800x600, 16-color mode
# * tseng SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes
# * tvga SuperVGA using Trident chipset, 256-color modes
# ****** NOTE: The vesa device does not work with the Watcom (32-bit MS-DOS)
# ****** compiler or executable.
# vesa SuperVGA with VESA standard API driver
# Other displays:
# MS Windows:
# mswindll Microsoft Windows 3.1 DLL [MS Windows only]
# mswinprn Microsoft Windows 3.0, 3.1 DDB printer [MS Windows only]
# mswinpr2 Microsoft Windows 3.0, 3.1 DIB printer [MS Windows only]
# OS/2:
# * os2pm OS/2 Presentation Manager [OS/2 only]
# * os2dll OS/2 DLL bitmap [OS/2 only]
# * os2prn OS/2 printer [OS/2 only]
# Unix and VMS:
# ****** NOTE: For direct frame buffer addressing under SCO Unix or Xenix,
# ****** edit the definition of EGAVGA below.
# * lvga256 Linux vgalib, 256-color VGA modes [Linux only]
# + vgalib Linux PC with VGALIB [Linux only]
# x11 X Windows version 11, release >=4 [Unix and VMS only]
# x11alpha X Windows masquerading as a device with alpha capability
# x11cmyk X Windows masquerading as a 1-bit-per-plane CMYK device
# x11cmyk2 X Windows as a 2-bit-per-plane CMYK device
# x11cmyk4 X Windows as a 4-bit-per-plane CMYK device
# x11cmyk8 X Windows as an 8-bit-per-plane CMYK device
# x11gray2 X Windows as a 2-bit gray-scale device
# x11gray4 X Windows as a 4-bit gray-scale device
# x11mono X Windows masquerading as a black-and-white device
# Printers:
# * cljet5 H-P Color LaserJet 5/5M
# + deskjet H-P DeskJet and DeskJet Plus
# djet500 H-P DeskJet 500; use -r600 for DJ 600 series
# + laserjet H-P LaserJet
# + ljet2p H-P LaserJet IId/IIp/III* with TIFF compression
# + ljet3 H-P LaserJet III* with Delta Row compression
# + ljet3d H-P LaserJet IIID with duplex capability
# + ljet4 H-P LaserJet 4 (defaults to 600 dpi)
# + ljetplus H-P LaserJet Plus
# lj5mono H-P LaserJet 5 & 6 family (PCL XL), bitmap:
# see below for restrictions & advice
# lj5gray H-P LaserJet 5 & 6 family, gray-scale bitmap;
# see below for restrictions & advice
# * lp2563 H-P 2563B line printer
# * oce9050 OCE 9050 printer
# (pxlmono) H-P black-and-white PCL XL printers (LaserJet 5 and 6 family)
# (pxlcolor) H-P color PCL XL printers (none available yet)
# Fax file format:
# ****** NOTE: all of these drivers adjust the page size to match
# ****** one of the three CCITT standard sizes (U.S. letter with A4 width,
# ****** A4, or B4).
# faxg3 Group 3 fax, with EOLs but no header or EOD
# faxg32d Group 3 2-D fax, with EOLs but no header or EOD
# faxg4 Group 4 fax, with EOLs but no header or EOD
# tiffcrle TIFF "CCITT RLE 1-dim" (= Group 3 fax with no EOLs)
# tiffg3 TIFF Group 3 fax (with EOLs)
# tiffg32d TIFF Group 3 2-D fax
# tiffg4 TIFF Group 4 fax
# High-level file formats:
# epswrite EPS output (like PostScript Distillery)
# pdfwrite PDF output (like Adobe Acrobat Distiller)
# pswrite PostScript output (like PostScript Distillery)
# pxlmono Black-and-white PCL XL
# pxlcolor Color PCL XL
# Other raster file formats and devices:
# bit Plain bits, monochrome
# bitrgb Plain bits, RGB
# bitcmyk Plain bits, CMYK
# bmpmono Monochrome MS Windows .BMP file format
# bmp16 4-bit (EGA/VGA) .BMP file format
# bmp256 8-bit (256-color) .BMP file format
# bmp16m 24-bit .BMP file format
# cgmmono Monochrome (black-and-white) CGM -- LOW LEVEL OUTPUT ONLY
# cgm8 8-bit (256-color) CGM -- DITTO
# cgm24 24-bit color CGM -- DITTO
# jpeg JPEG format, RGB output
# jpeggray JPEG format, gray output
# miff24 ImageMagick MIFF format, 24-bit direct color, RLE compressed
# pcxmono PCX file format, monochrome (1-bit black and white)
# pcxgray PCX file format, 8-bit gray scale
# pcx16 PCX file format, 4-bit planar (EGA/VGA) color
# pcx256 PCX file format, 8-bit chunky color
# pcx24b PCX file format, 24-bit color (3 8-bit planes)
# pcxcmyk PCX file format, 4-bit chunky CMYK color
# pbm Portable Bitmap (plain format)
# pbmraw Portable Bitmap (raw format)
# pgm Portable Graymap (plain format)
# pgmraw Portable Graymap (raw format)
# pgnm Portable Graymap (plain format), optimizing to PBM if possible
# pgnmraw Portable Graymap (raw format), optimizing to PBM if possible
# pnm Portable Pixmap (plain format) (RGB), optimizing to PGM or PBM
# if possible
# pnmraw Portable Pixmap (raw format) (RGB), optimizing to PGM or PBM
# if possible
# ppm Portable Pixmap (plain format) (RGB)
# ppmraw Portable Pixmap (raw format) (RGB)
# pkm Portable inKmap (plain format) (4-bit CMYK => RGB)
# pkmraw Portable inKmap (raw format) (4-bit CMYK => RGB)
# * plan9bm Plan 9 bitmap format
# pngmono Monochrome Portable Network Graphics (PNG)
# pnggray 8-bit gray Portable Network Graphics (PNG)
# png16 4-bit color Portable Network Graphics (PNG)
# png256 8-bit color Portable Network Graphics (PNG)
# png16m 24-bit color Portable Network Graphics (PNG)
# psmono PostScript (Level 1) monochrome image
# psgray PostScript (Level 1) 8-bit gray image
# psrgb PostScript (Level 2) 24-bit color image
# tiff12nc TIFF 12-bit RGB, no compression
# tiff24nc TIFF 24-bit RGB, no compression (NeXT standard format)
# tifflzw TIFF LZW (tag = 5) (monochrome)
# tiffpack TIFF PackBits (tag = 32773) (monochrome)
# Note that MS Windows-specific drivers are defined in msdevs.mak, not here,
# because they have special compilation requirements that require defining
# parameter macros not relevant to other platforms; the OS/2-specific
# drivers are there too, because they share some definitions.
# User-contributed drivers marked with * require hardware or software
# that is not available to Aladdin Enterprises. Please contact the
# original contributors, not Aladdin Enterprises, if you have questions.
# Contact information appears in the driver entry below.
#
# Drivers marked with a + are maintained by Aladdin Enterprises with
# the assistance of users, since Aladdin Enterprises doesn't have access to
# the hardware for these either.
# If you add drivers, it would be nice if you kept each list
# in alphabetical order.
###### ----------------------- End of catalog ----------------------- ######
# As noted in gs.mak, DEVICE_DEVS and DEVICE_DEVS1..15 select the devices
# that should be included in a given configuration. By convention, these
# are used as follows. Each of these must be limited to about 10 devices
# so as not to overflow the 120 character limit on MS-DOS command lines.
# DEVICE_DEVS - the default device, and any display devices.
# DEVICE_DEVS1 - additional display devices if needed.
# DEVICE_DEVS2 - dot matrix printers.
# DEVICE_DEVS3 - H-P monochrome printers.
# DEVICE_DEVS4 - H-P color printers.
# DEVICE_DEVS5 - additional H-P printers if needed.
# DEVICE_DEVS6 - other ink-jet and laser printers.
# DEVICE_DEVS7 - fax file formats.
# DEVICE_DEVS8 - PCX file formats.
# DEVICE_DEVS9 - PBM/PGM/PPM file formats.
# DEVICE_DEVS10 - black-and-white TIFF file formats.
# DEVICE_DEVS11 - BMP and color TIFF file formats.
# DEVICE_DEVS12 - PostScript image and 'bit' file formats.
# DEVICE_DEVS13 - PNG file formats.
# DEVICE_DEVS14 - CGM, JPEG, and MIFF file formats.
# DEVICE_DEVS15 - high-level (PostScript and PDF) file formats.
# Feel free to disregard this convention if it gets in your way.
# If you want to add a new device driver, the examples below should be
# enough of a guide to the correct form for the makefile rules.
# Note that all drivers other than displays must include page.dev in their
# dependencies and use $(SETPDEV) rather than $(SETDEV) in their rule bodies.
# "Printer" drivers depend on the following:
PDEVH=$(AK) $(gdevprn_h)
# Define the header files for device drivers. Every header file used by
# more than one device driver family must be listed here.
gdev8bcm_h=$(GLSRC)gdev8bcm.h
gdevpccm_h=$(GLSRC)gdevpccm.h
gdevpcfb_h=$(GLSRC)gdevpcfb.h $(dos__h)
gdevpcl_h=$(GLSRC)gdevpcl.h
gdevsvga_h=$(GLSRC)gdevsvga.h
###### ----------------------- Device support ----------------------- ######
# Implement dynamic color management for 8-bit mapped color displays.
$(GLOBJ)gdev8bcm.$(OBJ): $(GLSRC)gdev8bcm.c $(AK)\
$(gx_h) $(gxdevice_h) $(gdev8bcm_h)
$(GLCC) $(GLO_)gdev8bcm.$(OBJ) $(C_) $(GLSRC)gdev8bcm.c
# PC display color mapping
$(GLOBJ)gdevpccm.$(OBJ): $(GLSRC)gdevpccm.c $(AK)\
$(gx_h) $(gsmatrix_h) $(gxdevice_h) $(gdevpccm_h)
$(GLCC) $(GLO_)gdevpccm.$(OBJ) $(C_) $(GLSRC)gdevpccm.c
###### ------------------- MS-DOS display devices ------------------- ######
# There are really only three drivers: an EGA/VGA driver (4 bit-planes,
# plane-addressed), a SuperVGA driver (8 bit-planes, byte addressed),
# and a special driver for the S3 chip.
### ----------------------- EGA and VGA displays ----------------------- ###
# The shared MS-DOS makefile defines PCFBASM as either gdevegaa.$(OBJ)
# or an empty string.
$(GLOBJ)gdevegaa.$(OBJ): $(GLSRC)gdevegaa.asm
$(GLCC) $(GLO_)gdevegaa.$(OBJ) $(C_) $(GLSRC)gdevegaa.c
# NOTE: for direct frame buffer addressing under SCO Unix or Xenix,
# change gdevevga to gdevsco in the following line. Also, since
# SCO's /bin/as does not support the "out" instructions, you must build
# the gnu assembler and have it on your path as "as".
EGAVGA=$(GLOBJ)gdevevga.$(OBJ) $(GLOBJ)gdevpcfb.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(PCFBASM)
#EGAVGA=$(GLOBJ)gdevsco.$(OBJ) $(GLOBJ)gdevpcfb.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(PCFBASM)
#**************** $(CCD) gdevevga.c
$(GLOBJ)gdevevga.$(OBJ): $(GLSRC)gdevevga.c $(GDEV) $(memory__h) $(gdevpcfb_h)
$(GLCC) $(GLO_)gdevevga.$(OBJ) $(C_) $(GLSRC)gdevevga.c
$(GLOBJ)gdevsco.$(OBJ): $(GLSRC)gdevsco.c $(GDEV) $(memory__h) $(gdevpcfb_h)
$(GLCC) $(GLO_)gdevsco.$(OBJ) $(C_) $(GLSRC)gdevsco.c
# Common code for MS-DOS and SCO.
#**************** $(CCD) gdevpcfb.c
$(GLOBJ)gdevpcfb.$(OBJ): $(GLSRC)gdevpcfb.c $(GDEV) $(memory__h) $(gconfigv_h)\
$(gdevpccm_h) $(gdevpcfb_h) $(gsparam_h)
$(GLCC) $(GLO_)gdevpcfb.$(OBJ) $(C_) $(GLSRC)gdevpcfb.c
# The EGA/VGA family includes EGA and VGA. Many SuperVGAs in 800x600,
# 16-color mode can share the same code; see the next section below.
ega.dev: $(EGAVGA)
$(SETDEV) ega $(EGAVGA)
vga.dev: $(EGAVGA)
$(SETDEV) vga $(EGAVGA)
### ------------------------- SuperVGA displays ------------------------ ###
# SuperVGA displays in 16-color, 800x600 mode are really just slightly
# glorified VGA's, so we can handle them all with a single driver.
# The way to select them on the command line is with
# -sDEVICE=svga16 -dDisplayMode=NNN
# where NNN is the display mode in decimal. See Use.htm for the modes
# for some popular display chipsets.
svga16.dev: $(EGAVGA)
$(SETDEV) svga16 $(EGAVGA)
# More capable SuperVGAs have a wide variety of slightly differing
# interfaces, so we need a separate driver for each one.
SVGA=$(GLOBJ)gdevsvga.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(PCFBASM)
#**************** $(CCD) gdevsvga.c
$(GLOBJ)gdevsvga.$(OBJ): $(GLSRC)gdevsvga.c $(GDEV) $(memory__h) $(gconfigv_h)\
$(gsparam_h) $(gxarith_h) $(gdevpccm_h) $(gdevpcfb_h) $(gdevsvga_h)
$(GLCC) $(GLO_)gdevsvga.$(OBJ) $(C_) $(GLSRC)gdevsvga.c
# The SuperVGA family includes: Avance Logic Inc., ATI Wonder, S3,
# Trident, Tseng ET3000/4000, and VESA.
ali.dev: $(SVGA)
$(SETDEV) ali $(SVGA)
atiw.dev: $(SVGA)
$(SETDEV) atiw $(SVGA)
cirr.dev: $(SVGA)
$(SETDEV) cirr $(SVGA)
tseng.dev: $(SVGA)
$(SETDEV) tseng $(SVGA)
tvga.dev: $(SVGA)
$(SETDEV) tvga $(SVGA)
vesa.dev: $(SVGA)
$(SETDEV) vesa $(SVGA)
# The S3 driver doesn't share much code with the others.
s3vga_=$(GLOBJ)gdevs3ga.$(OBJ) $(GLOBJ)gdevsvga.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ)
s3vga.dev: $(SVGA) $(s3vga_)
$(SETDEV) s3vga $(SVGA)
$(ADDMOD) s3vga -obj $(s3vga_)
#**************** $(CCD) gdevs3ga.c
$(GLOBJ)gdevs3ga.$(OBJ): $(GLSRC)gdevs3ga.c $(GDEV) $(gdevpcfb_h) $(gdevsvga_h)
$(GLCC) $(GLO_)gdevs3ga.$(OBJ) $(C_) $(GLSRC)gdevs3ga.c
###### ----------------------- Other displays ------------------------ ######
### ---------------------- Linux PC with vgalib ------------------------- ###
### Note: these drivers were contributed by users. ###
### For questions about the lvga256 driver, please contact ###
### Ludger Kunz (ludger.kunz@fernuni-hagen.de). ###
### For questions about the vgalib driver, please contact ###
### Erik Talvola (talvola@gnu.ai.mit.edu). ###
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -