~ubuntu-branches/ubuntu/jaunty/ghostscript/jaunty-updates

« back to all changes in this revision

Viewing changes to src/os2.mak

  • Committer: Bazaar Package Importer
  • Author(s): Till Kamppeter
  • Date: 2009-01-20 16:40:45 UTC
  • mfrom: (1.1.10 upstream)
  • Revision ID: james.westby@ubuntu.com-20090120164045-lnfhi0n30o5lwhwa
Tags: 8.64.dfsg.1~svn9377-0ubuntu1
* New upstream release (SVN rev 9377)
   o Fixes many bugs concerning PDF rendering, to make the PDF printing
     workflow correctly working.
   o Fixes long-standing bugs in many drivers, like input paper tray and
     duplex options not working for the built-in PCL 4, 5, 5c, 5e, and
     6/XL drivers, PDF input not working for bjc600, bjc800, and cups
     output devices, several options not working and uninitialized
     memory with cups output device.
   o Merged nearly all patches of the Ubuntu and Debian packages upstream.
   o Fixes LP: #317810, LP: #314439, LP: #314018.
* debian/patches/03_libpaper_support.dpatch,
  debian/patches/11_gs-cjk_font_glyph_handling_fix.dpatch,
  debian/patches/12_gs-cjk_vertical_writing_metrics_fix.dpatch,
  debian/patches/13_gs-cjk_cjkps_examples.dpatch,
  debian/patches/20_bbox_segv_fix.dpatch,
  debian/patches/21_brother_7x0_gdi_fix.dpatch,
  debian/patches/22_epsn_margin_workaround.dpatch,
  debian/patches/24_gs_man_fix.dpatch,
  debian/patches/25_toolbin_insecure_tmp_usage_fix.dpatch,
  debian/patches/26_assorted_script_fixes.dpatch,
  debian/patches/29_gs_css_fix.dpatch,
  debian/patches/30_ps2pdf_man_improvement.dpatch,
  debian/patches/31_fix-gc-sigbus.dpatch,
  debian/patches/34_ftbfs-on-hurd-fix.dpatch,
  debian/patches/35_disable_libcairo.dpatch,
  debian/patches/38_pxl-duplex.dpatch,
  debian/patches/39_pxl-resolution.dpatch,
  debian/patches/42_gs-init-ps-delaybind-fix.dpatch,
  debian/patches/45_bjc600-bjc800-pdf-input.dpatch,
  debian/patches/48_cups-output-device-pdf-duplex-uninitialized-memory-fix.dpatch,
  debian/patches/50_lips4-floating-point-exception.dpatch,
  debian/patches/52_cups-device-logging.dpatch,
  debian/patches/55_pcl-input-slot-fix.dpatch,
  debian/patches/57_pxl-input-slot-fix.dpatch,
  debian/patches/60_pxl-cups-driver-pdf.dpatch,
  debian/patches/62_onebitcmyk-pdf.dpatch,
  debian/patches/65_too-big-temp-files-1.dpatch,
  debian/patches/67_too-big-temp-files-2.dpatch,
  debian/patches/70_take-into-account-data-in-stream-buffer-before-refill.dpatch:
  Removed, applied upstream.
* debian/patches/01_docdir_fix_for_debian.dpatch,
  debian/patches/02_gs_man_fix_debian.dpatch,
  debian/patches/01_docdir-fix-for-debian.dpatch,
  debian/patches/02_docdir-fix-for-debian.dpatch: Renamed patches to
  make merging with Debian easier.
* debian/patches/32_improve-handling-of-media-size-changes-from-gv.dpatch, 
  debian/patches/33_bad-params-to-xinitimage-on-large-bitmaps.dpatch:
  regenerated for new source directory structure.
* debian/rules: Corrected paths to remove cidfmap (it is in Resource/Init/
  in GS 8.64) and to install headers (source paths are psi/ and base/ now).
* debian/rules: Remove all fontmaps, as DeFoMa replaces them.
* debian/local/pdftoraster/pdftoraster.c,
  debian/local/pdftoraster/pdftoraster.convs, debian/rules: Removed
  added pdftoraster filter and use the one which comes with Ghostscript.
* debian/ghostscript.links: s/8.63/8.64/

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#  Copyright (C) 2001-2007 Artifex Software, Inc.
2
 
#  All Rights Reserved.
3
 
#
4
 
#  This software is provided AS-IS with no warranty, either express or
5
 
#  implied.
6
 
#
7
 
#  This software is distributed under license and may not be copied, modified
8
 
#  or distributed except as expressly authorized under the terms of that
9
 
#  license.  Refer to licensing information at http://www.artifex.com/
10
 
#  or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
11
 
#  San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
12
 
#
13
 
# $Id: os2.mak 8559 2008-02-29 08:13:08Z ray $
14
 
# makefile for MS-DOS or OS/2 GCC/EMX platform.
15
 
# Uses Borland (MSDOS) MAKER or 
16
 
# Uses IBM NMAKE.EXE Version 2.000.000 Mar 27 1992
17
 
 
18
 
# ------------------------------- Options ------------------------------- #
19
 
 
20
 
###### This section is the only part of the file you should need to edit.
21
 
 
22
 
# ------ Generic options ------ #
23
 
 
24
 
# Define the directory for the final executable, and the
25
 
# source, generated intermediate file, and object directories
26
 
# for the graphics library (GL) and the PostScript/PDF interpreter (PS).
27
 
 
28
 
# This makefile has never been tested with any other values than these,
29
 
# and almost certainly won't work with other values.
30
 
BINDIR=bin
31
 
GLSRCDIR=src
32
 
GLGENDIR=obj
33
 
GLOBJDIR=obj
34
 
PSSRCDIR=src
35
 
PSLIBDIR=lib
36
 
PSRESDIR=Resource
37
 
PSGENDIR=obj
38
 
PSOBJDIR=obj
39
 
 
40
 
# Define the root directory for Ghostscript installation.
41
 
 
42
 
AROOTDIR=c:/gs
43
 
GSROOTDIR=$(AROOTDIR)/gs$(GS_DOT_VERSION)
44
 
 
45
 
# Define the directory that will hold documentation at runtime.
46
 
 
47
 
GS_DOCDIR=$(GSROOTDIR)/doc
48
 
 
49
 
# Define the default directory/ies for the runtime
50
 
# initialization, resource and font files.  Separate multiple directories with ;.
51
 
# Use / to indicate directories, not a single \.
52
 
 
53
 
GS_LIB_DEFAULT=$(GSROOTDIR)/lib;$(GSROOTDIR)/Resource/Font;$(AROOTDIR)/fonts
54
 
 
55
 
# Define whether or not searching for initialization files should always
56
 
# look in the current directory first.  This leads to well-known security
57
 
# and confusion problems, but users insist on it.
58
 
# NOTE: this also affects searching for files named on the command line:
59
 
# see the "File searching" section of Use.htm for full details.
60
 
# Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended.
61
 
 
62
 
SEARCH_HERE_FIRST=1
63
 
 
64
 
# Define the name of the interpreter initialization file.
65
 
# (There is no reason to change this.)
66
 
 
67
 
GS_INIT=gs_init.ps
68
 
 
69
 
# Choose generic configuration options.
70
 
 
71
 
# Setting DEBUG=1 includes debugging features (-Z switch) in the code.
72
 
# Code runs substantially slower even if no debugging switches are set,
73
 
# and also takes about another 25K of memory.
74
 
 
75
 
DEBUG=0
76
 
 
77
 
# Setting GDEBUG=1 includes symbol table information for GDB.
78
 
# Produces larger .OBJ and .EXE files.
79
 
 
80
 
GDEBUG=0
81
 
 
82
 
# Setting MAKEDLL=1 makes the target a DLL instead of an EXE
83
 
MAKEDLL=1
84
 
 
85
 
# Setting EMX=1 uses GCC/EMX
86
 
# Setting IBMCPP=1 uses IBM C++
87
 
EMX=1
88
 
IBMCPP=0
89
 
 
90
 
# Setting BUILD_X11=1 builds X11 client using Xfree86
91
 
BUILD_X11=0
92
 
!if $(BUILD_X11)
93
 
X11INCLUDE=-I$(X11ROOT)\XFree86\include
94
 
X11LIBS=$(X11ROOT)\XFree86\lib\Xt.lib $(X11ROOT)\XFree86\lib\X11.lib 
95
 
MT_OPT=-Zmtd
96
 
!endif
97
 
 
98
 
# Define the name of the executable file.
99
 
 
100
 
GS=gsos2
101
 
GSDLL=gsdll2
102
 
 
103
 
# Define the name of a pre-built executable that can be invoked at build
104
 
# time.  Currently, this is only needed for compiled fonts.  The usual
105
 
# alternatives are:
106
 
#   - the standard name of Ghostscript on your system (typically `gs'):
107
 
BUILD_TIME_GS=gsos2
108
 
#   - the name of the executable you are building now.  If you choose this
109
 
# option, then you must build the executable first without compiled fonts,
110
 
# and then again with compiled fonts.
111
 
#BUILD_TIME_GS=$(BINDIR)\$(GS) -I$(PSLIBDIR)
112
 
 
113
 
# Define the directory where the IJG JPEG library sources are stored,
114
 
# and the major version of the library that is stored there.
115
 
# You may need to change this if the IJG library version changes.
116
 
# See jpeg.mak for more information.
117
 
 
118
 
JSRCDIR=jpeg
119
 
 
120
 
# Define the directory where the PNG library sources are stored,
121
 
# and the version of the library that is stored there.
122
 
# You may need to change this if the libpng version changes.
123
 
# See libpng.mak for more information.
124
 
 
125
 
PNGSRCDIR=libpng
126
 
 
127
 
# Define the directory where the zlib sources are stored.
128
 
# See zlib.mak for more information.
129
 
 
130
 
ZSRCDIR=zlib
131
 
 
132
 
# Define the jbig2dec library source location.
133
 
# See jbig2.mak for more information.
134
 
 
135
 
JBIG2_LIB=jbig2dec
136
 
JBIG2SRCDIR=jbig2dec
137
 
 
138
 
# Define the directory where the icclib source are stored.
139
 
# See icclib.mak for more information
140
 
 
141
 
ICCSRCDIR=icclib
142
 
 
143
 
# IJS has not been ported to OS/2. If you do the port,
144
 
# you'll need to set these values. You'll also need to
145
 
# include the ijs.mak makefile (right after icclib.mak).
146
 
#
147
 
# Define the directory where the ijs source is stored,
148
 
# and the process forking method to use for the server.
149
 
# See ijs.mak for more information.
150
 
 
151
 
#IJSSRCDIR=ijs
152
 
#IJSEXECTYPE=win
153
 
 
154
 
# Define the directory where the imdi library source is stored.
155
 
# See devs.mak for more information
156
 
 
157
 
IMDISRCDIR=imdi
158
 
 
159
 
# 1 --> Use 64 bits for gx_color_index.  This is required only for
160
 
# non standard devices or DeviceN process color model devices.
161
 
USE_LARGE_COLOR_INDEX=1
162
 
 
163
 
!if $(USE_LARGE_COLOR_INDEX) == 1
164
 
# Definitions to force gx_color_index to 64 bits
165
 
LARGEST_UINTEGER_TYPE=unsigned long long
166
 
GX_COLOR_INDEX_TYPE=$(LARGEST_UINTEGER_TYPE)
167
 
GCIFLAGS=-DGX_COLOR_INDEX_TYPE="$(GX_COLOR_INDEX_TYPE)"
168
 
!else
169
 
GCIFLAGS=
170
 
!endif
171
 
 
172
 
 
173
 
# The following is a hack to get around the special treatment of \ at
174
 
# the end of a line.
175
 
NUL=
176
 
DD=$(GLGENDIR)\$(NUL)
177
 
GLD=$(GLGENDIR)\$(NUL)
178
 
PSD=$(PSGENDIR)\$(NUL)
179
 
 
180
 
 
181
 
# ------ Platform-specific options ------ #
182
 
 
183
 
# Define the drive, directory, and compiler name for the EMX files.
184
 
# COMP is the compiler name (gcc)
185
 
# COMPDIR contains the compiler and linker (normally \emx\bin).
186
 
# EMXPATH contains the path to the EMX directory (normally /emx)
187
 
# INCDIR contains the include files (normally /emx/include).
188
 
# LIBDIR contains the library files (normally /emx/lib).
189
 
# Note that these prefixes are always followed by a \,
190
 
#   so if you want to use the current directory, use an explicit '.'.
191
 
 
192
 
!if $(EMX)
193
 
COMP=gcc $(X11INCLUDE)
194
 
COMPBASE=\emx
195
 
EMXPATH=/emx
196
 
COMPDIR=$(COMPBASE)\bin
197
 
INCDIR=$(EMXPATH)/include
198
 
LIBDIR=$(EMXPATH)/lib
199
 
CPNG=-DPNGAPI=
200
 
!endif
201
 
 
202
 
!if $(IBMCPP)
203
 
COMP=icc /Q
204
 
COMPBASE=\ibmcpp
205
 
TOOLPATH=\toolkit
206
 
COMPDIR=$(COMPBASE)\bin
207
 
INCDIR=$(TOOLPATH)\h;$(COMPBASE)\include
208
 
LIBDIR=$(TOOLPATH)\lib;$(COMPBASE)\lib
209
 
!endif
210
 
 
211
 
# Choose platform-specific options.
212
 
 
213
 
# Define the processor (CPU) type.  Options are 86 (8086 or 8088),
214
 
# 186, 286, 386, 485 (486SX or Cyrix 486SLC), 486 (486DX), or 586 (Pentium).
215
 
# Higher numbers produce code that may be significantly smaller and faster,
216
 
# but the executable will bail out with an error message on any processor
217
 
# less capable than the designated one.
218
 
 
219
 
# EMX requires 386 or higher
220
 
CPU_TYPE=386
221
 
 
222
 
# Define the .dev module that implements thread and synchronization
223
 
# primitives for this platform.  Don't change this unless you really know
224
 
# what you're doing.
225
 
 
226
 
SYNC=winsync
227
 
 
228
 
# ---------------------------- End of options ---------------------------- #
229
 
 
230
 
# Note that built-in libpng and zlib aren't available.
231
 
 
232
 
SHARE_JPEG=0
233
 
SHARE_LIBPNG=0
234
 
SHARE_ZLIB=0
235
 
SHARE_JBIG2=0
236
 
 
237
 
# Swapping `make' out of memory makes linking much faster.
238
 
# only used by Borland MAKER.EXE
239
 
 
240
 
#.swap
241
 
 
242
 
# Define the platform name.
243
 
 
244
 
PLATFORM=os2_
245
 
 
246
 
# Define the name of the makefile -- used in dependencies.
247
 
 
248
 
MAKEFILE=$(PSSRCDIR)\os2.mak
249
 
TOP_MAKEFILES=$(MAKEFILE)
250
 
 
251
 
# Define the files to be deleted by 'make clean'.
252
 
 
253
 
BEGINFILES=$(BINDIR)\gspmdrv.exe $(GLOBJDIR)\gspmdrv.o $(GLOBJDIR)\gs*.res $(GLOBJDIR)\gs*.ico $(BINDIR)\$(GSDLL).dll
254
 
 
255
 
# Define the auxiliary program dependency. We don't use this.
256
 
 
257
 
AK=
258
 
 
259
 
#Compiler Optimiser option
260
 
!if $(EMX)
261
 
CO=-O
262
 
!endif
263
 
!if $(IBMCPP)
264
 
#CO=/O+
265
 
CO=/O-
266
 
!endif
267
 
 
268
 
# Make sure we get the right default target for make.
269
 
 
270
 
dosdefault: default $(BINDIR)\gspmdrv.exe
271
 
 
272
 
# Define a rule for invoking just the preprocessor.
273
 
 
274
 
.c.i:
275
 
        $(COMPDIR)\cpp $(CCFLAGS) $<
276
 
 
277
 
# Define the extensions for command, object, and executable files.
278
 
 
279
 
# Work around the fact that some `make' programs drop trailing spaces
280
 
# or interpret == as a special definition operator.
281
 
NULL=
282
 
 
283
 
CMD=.cmd
284
 
C_=-c
285
 
D_=-D
286
 
_D_=$(NULL)=
287
 
_D=
288
 
I_=-I
289
 
II=-I
290
 
_I=
291
 
O_=-o $(NULL)
292
 
!if $(MAKEDLL)
293
 
OBJ=obj
294
 
!else
295
 
OBJ=o
296
 
!endif
297
 
Q=
298
 
XE=.exe
299
 
XEAUX=.exe
300
 
 
301
 
# Define the current directory prefix and shell name.
302
 
 
303
 
D=\#
304
 
 
305
 
EXP=
306
 
SH=
307
 
 
308
 
# Define generic commands.
309
 
 
310
 
# We use cp.cmd rather than copy /B so that we update the write date.
311
 
CP_=$(GLSRCDIR)\cp.cmd
312
 
# We use rm.cmd rather than erase because rm.cmd never generates
313
 
# a non-zero return code.
314
 
RM_=$(GLSRCDIR)\rm.cmd
315
 
# OS/2 erase, unlike MS-DOS erase, accepts multiple files or patterns.
316
 
RMN_=$(GLSRCDIR)\rm.cmd
317
 
 
318
 
# Define the arguments for genconf.
319
 
 
320
 
!if $(MAKEDLL)
321
 
CONFILES=-p %%s+
322
 
!else
323
 
CONFILES=
324
 
!endif
325
 
CONFLDTR=-ol
326
 
 
327
 
# Define the generic compilation flags.
328
 
 
329
 
!if $(CPU_TYPE) >= 486
330
 
PLATOPT=-DFOR80386 -DFOR80486
331
 
!else
332
 
!if $(CPU_TYPE) >= 386
333
 
PLATOPT=-DFOR80386
334
 
!endif
335
 
!endif
336
 
 
337
 
# ---------------------- MS-DOS I/O debugging option ---------------------- #
338
 
 
339
 
dosio_=$(PSOBJ)zdosio.$(OBJ)
340
 
dosio.dev: $(PSGEN)dosio.dev
341
 
        $(NO_OP)
342
 
 
343
 
$(PSGEN)dosio.dev: $(dosio_)
344
 
        $(SETMOD) $(PSGEN)dosio $(dosio_)
345
 
        $(ADDMOD) $(PSGEN)dosio -oper zdosio
346
 
 
347
 
$(PSOBJ)zdosio.$(OBJ): $(PSSRC)zdosio.c $(OP) $(store_h)
348
 
        $(PSCC) $(PSO_)zdosio.$(OBJ) $(C_) $(PSSRC)zdosio.c
349
 
 
350
 
# Define the compilation flags.
351
 
 
352
 
!if $(DEBUG)
353
 
CD=-DDEBUG
354
 
!else
355
 
CD=
356
 
!endif
357
 
 
358
 
!if $(GDEBUG)
359
 
!if $(EMX)
360
 
CGDB=-g
361
 
!endif
362
 
!if $(IBMCPP)
363
 
CGDB=/Ti+
364
 
!endif
365
 
!else
366
 
CGDB=
367
 
!endif
368
 
 
369
 
!if $(MAKEDLL)
370
 
!if $(EMX)
371
 
CDLL=-Zdll -Zso -Zsys -Zomf $(MT_OPT) -D__DLL__
372
 
!endif
373
 
!if $(IBMCPP)
374
 
CDLL=/Gd- /Ge- /Gm+ /Gs+ /D__DLL__
375
 
!endif
376
 
!else
377
 
CDLL=
378
 
!endif
379
 
 
380
 
!if $(EMX)
381
 
CEXE=-Zomf
382
 
!endif
383
 
 
384
 
GENOPT=$(CD) $(CGDB) $(CDLL) $(CO) $(CPNG)
385
 
 
386
 
CCFLAGS0=$(GENOPT) $(PLATOPT) -D__OS2__ $(GCIFLAGS)
387
 
CCFLAGS=$(CCFLAGS0) 
388
 
CC=$(COMPDIR)\$(COMP) $(CCFLAGS0)
389
 
CC_=$(CC)
390
 
CC_D=$(CC) $(CO)
391
 
CC_INT=$(CC)
392
 
CC_NO_WARN=$(CC_)
393
 
CC_SHARED=$(CC_)
394
 
 
395
 
# ------ Devices and features ------ #
396
 
 
397
 
# Choose the language feature(s) to include.  See gs.mak for details.
398
 
# Since we have a large address space, we include some optional features.
399
 
 
400
 
FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(PSD)os2print.dev
401
 
 
402
 
# Choose whether to compile the .ps initialization files into the executable.
403
 
# See gs.mak for details.
404
 
 
405
 
COMPILE_INITS=0
406
 
 
407
 
# Choose whether to store band lists on files or in memory.
408
 
# The choices are 'file' or 'memory'.
409
 
 
410
 
BAND_LIST_STORAGE=file
411
 
 
412
 
# Choose which compression method to use when storing band lists in memory.
413
 
# The choices are 'lzw' or 'zlib'.
414
 
 
415
 
BAND_LIST_COMPRESSOR=zlib
416
 
 
417
 
# Choose the implementation of file I/O: 'stdio', 'fd', or 'both'.
418
 
# See gs.mak and sfxfd.c for more details.
419
 
 
420
 
FILE_IMPLEMENTATION=stdio
421
 
 
422
 
# Choose the implementation of stdio: '' for file I/O and 'c' for callouts
423
 
# See gs.mak and ziodevs.c/ziodevsc.c for more details.
424
 
 
425
 
STDIO_IMPLEMENTATION=c
426
 
 
427
 
# Choose the device(s) to include.  See devs.mak for details,
428
 
# devs.mak, pcwin.mak, and contrib.mak for the list of available devices.
429
 
 
430
 
!if $(MAKEDLL)
431
 
DEVICE_DEVS=$(DD)display.dev $(DD)os2pm.dev $(DD)os2dll.dev $(DD)os2prn.dev
432
 
!else
433
 
DEVICE_DEVS=$(DD)os2pm.dev
434
 
!endif
435
 
!if $(BUILD_X11)
436
 
DEVICE_DEVS1=$(DD)x11.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev $(DD)x11gray2.dev $(DD)x11gray4.dev $(DD)x11mono.dev
437
 
!else
438
 
DEVICE_DEVS1=
439
 
!endif
440
 
DEVICE_DEVS2=$(DD)epson.dev $(DD)eps9high.dev $(DD)eps9mid.dev $(DD)epsonc.dev $(DD)ibmpro.dev
441
 
DEVICE_DEVS3=$(DD)deskjet.dev $(DD)djet500.dev $(DD)laserjet.dev $(DD)ljetplus.dev $(DD)ljet2p.dev
442
 
DEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev
443
 
DEVICE_DEVS5=$(DD)uniprint.dev $(DD)djet500c.dev $(DD)declj250.dev $(DD)lj250.dev
444
 
DEVICE_DEVS6=$(DD)st800.dev $(DD)stcolor.dev $(DD)bj10e.dev $(DD)bj200.dev
445
 
DEVICE_DEVS7=$(DD)t4693d2.dev $(DD)t4693d4.dev $(DD)t4693d8.dev $(DD)tek4696.dev
446
 
DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
447
 
DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev $(DD)pkmraw.dev
448
 
DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
449
 
DEVICE_DEVS11=$(DD)bmpmono.dev $(DD)bmpgray.dev $(DD)bmp16.dev $(DD)bmp256.dev $(DD)bmp16m.dev $(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev
450
 
DEVICE_DEVS12=$(DD)psmono.dev $(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
451
 
DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev
452
 
DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
453
 
DEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)pswrite.dev $(DD)ps2write.dev $(DD)epswrite.dev $(DD)txtwrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev
454
 
DEVICE_DEVS16=$(DD)bbox.dev
455
 
# Overflow for DEVS3,4,5,6,9
456
 
DEVICE_DEVS17=$(DD)ljet3.dev $(DD)ljet3d.dev $(DD)ljet4.dev $(DD)ljet4d.dev 
457
 
DEVICE_DEVS18=$(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev $(DD)jetp3852.dev $(DD)r4081.dev
458
 
DEVICE_DEVS19=$(DD)lbp8.dev $(DD)m8510.dev $(DD)necp6.dev $(DD)bjc600.dev $(DD)bjc800.dev
459
 
DEVICE_DEVS20=$(DD)pnm.dev $(DD)pnmraw.dev $(DD)ppm.dev $(DD)ppmraw.dev $(DD)pamcmyk32.dev
460
 
DEVICE_DEVS21= $(DD)spotcmyk.dev $(DD)devicen.dev $(DD)bmpsep1.dev $(DD)bmpsep8.dev $(DD)bmp16m.dev $(DD)bmp32b.dev $(DD)psdcmyk.dev $(DD)psdrgb.dev
461
 
 
462
 
# Include the generic makefiles.
463
 
!include "$(GLSRCDIR)\version.mak"
464
 
!include "$(GLSRCDIR)\gs.mak"
465
 
# psromfs.mak must precede lib.mak
466
 
!include "$(GLSRCDIR)\psromfs.mak"
467
 
!include "$(GLSRCDIR)\lib.mak"
468
 
!include "$(GLSRCDIR)\jpeg.mak"
469
 
# zlib.mak must precede libpng.mak
470
 
!include "$(GLSRCDIR)\zlib.mak"
471
 
!include "$(GLSRCDIR)\libpng.mak"
472
 
!include "$(GLSRCDIR)\jbig2.mak"
473
 
!include "$(GLSRCDIR)\icclib.mak"
474
 
!include "$(GLSRCDIR)\devs.mak"
475
 
!include "$(GLSRCDIR)\pcwin.mak"
476
 
!include "$(GLSRCDIR)\contrib.mak"
477
 
!include "$(PSSRCDIR)\int.mak"
478
 
!include "$(PSSRCDIR)\cfonts.mak"
479
 
 
480
 
# -------------------------------- Library -------------------------------- #
481
 
 
482
 
# The GCC/EMX platform
483
 
 
484
 
os2__=$(GLOBJ)gp_getnv.$(OBJ) $(GLOBJ)gp_os2.$(OBJ) $(GLOBJ)gp_stdia.$(OBJ)
485
 
$(GLGEN)os2_.dev: $(os2__) $(GLD)nosync.dev
486
 
        $(SETMOD) $(GLGEN)os2_ $(os2__) -include $(GLD)nosync
487
 
 
488
 
$(GLOBJ)gp_os2.$(OBJ): $(GLSRC)gp_os2.c $(GLSRC)gp_os2.h\
489
 
 $(dos__h) $(pipe__h) $(string__h) $(time__h)\
490
 
 $(gsdll_h) $(gx_h) $(gsexit_h) $(gsutil_h) $(gp_h) $(gpmisc_h)
491
 
        $(GLCC) $(GLO_)gp_os2.$(OBJ) $(C_) $(GLSRC)gp_os2.c
492
 
 
493
 
$(GLOBJ)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.c $(AK)\
494
 
  $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h)
495
 
        $(GLCC) $(GLO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c
496
 
 
497
 
# Define OS/2 printer (file system) as a separable feature.
498
 
 
499
 
os2print_=$(GLOBJ)gp_os2pr.$(OBJ)
500
 
$(GLD)os2print.dev: $(ECHOGS_XE) $(os2print_)
501
 
        $(SETMOD) $(GLD)os2print $(os2print_)
502
 
        $(ADDMOD) $(GLD)os2print -iodev printer
503
 
 
504
 
$(GLOBJ)gp_os2pr.$(OBJ): $(GLSRC)gp_os2pr.c $(GLSRC)gp_os2.h $(AK)\
505
 
 $(ctype__h) $(errno__h) $(stdio__h) $(string__h)\
506
 
 $(gserror_h) $(gsmemory_h) $(gstypes_h) $(gxiodev_h)
507
 
        $(GLCC) $(GLO_)gp_os2pr.$(OBJ) $(C_) $(GLSRC)gp_os2pr.c
508
 
 
509
 
 
510
 
# -------------------------- Auxiliary programs --------------------------- #
511
 
 
512
 
#CCAUX=$(COMPDIR)\$(COMP) $(CO)
513
 
# emx 0.9d (gcc 2.8.1) crashes when compiling genarch.c with optimizer
514
 
CCAUX=$(COMPDIR)\$(COMP)
515
 
 
516
 
$(ECHOGS_XE): $(GLSRCDIR)\echogs.c
517
 
!if $(EMX)
518
 
        $(CCAUX) -o $(AUXGEN)echogs $(GLSRCDIR)\echogs.c
519
 
        $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)echogs $(ECHOGS_XE)
520
 
        del $(AUXGEN)echogs
521
 
!endif
522
 
!if $(IBMCPP)
523
 
        $(CCAUX) /Fe$(ECHOGS_XE) $(GLSRCDIR)\echogs.c
524
 
!endif
525
 
 
526
 
$(GENARCH_XE): $(GLSRCDIR)\genarch.c $(GENARCH_DEPS)
527
 
        -mkdir $(GLGENDIR)
528
 
        -mkdir $(BINDIR)
529
 
!if $(EMX)
530
 
        $(CCAUX) -DHAVE_LONG_LONG -o $(AUXGEN)genarch $(GLSRCDIR)\genarch.c
531
 
        $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)genarch $(GENARCH_XE)
532
 
        del $(AUXGEN)genarch
533
 
!endif
534
 
!if $(IBMCPP)
535
 
        $(CCAUX) /Fe$(GENARCH_XE) $(GLSRCDIR)\genarch.c
536
 
!endif
537
 
 
538
 
$(GENCONF_XE): $(GLSRCDIR)\genconf.c $(GENCONF_DEPS)
539
 
!if $(EMX)
540
 
        $(CCAUX) -o $(AUXGEN)genconf $(GLSRCDIR)\genconf.c
541
 
        $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)genconf $(GENCONF_XE)
542
 
        del $(AUXGEN)genconf
543
 
!endif
544
 
!if $(IBMCPP)
545
 
        $(CCAUX) /Fe$(GENCONF_XE) $(GLSRCDIR)\genconf.c
546
 
!endif
547
 
 
548
 
$(GENDEV_XE): $(GLSRCDIR)\gendev.c $(GENDEV_DEPS)
549
 
!if $(EMX)
550
 
        $(CCAUX) -o $(AUXGEN)gendev $(GLSRCDIR)\gendev.c
551
 
        $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)gendev $(GENDEV_XE)
552
 
        del $(AUXGEN)gendev
553
 
!endif
554
 
!if $(IBMCPP)
555
 
        $(CCAUX) /Fe$(GENDEV_XE) $(GLSRCDIR)\gendev.c
556
 
!endif
557
 
 
558
 
$(GENHT_XE): $(PSSRC)genht.c $(GENHT_DEPS)
559
 
!if $(EMX)
560
 
        $(CCAUX) -o $(AUXGEN)genht $(GENHT_CFLAGS) $(PSSRC)genht.c
561
 
        $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)genht $(GENHT_XE)
562
 
        del $(AUXGEN)genht
563
 
!endif
564
 
!if $(IBMCPP)
565
 
        $(CCAUX) /Fe$(GENHT_XE) genht.c
566
 
!endif
567
 
 
568
 
$(GENINIT_XE): $(PSSRC)geninit.c $(GENINIT_DEPS)
569
 
!if $(EMX)
570
 
        $(CCAUX) -o $(AUXGEN)geninit $(PSSRC)geninit.c
571
 
        $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)geninit $(GENINIT_XE)
572
 
        del $(AUXGEN)geninit
573
 
!endif
574
 
!if $(IBMCPP)
575
 
        $(CCAUX) /Fe$(GENINIT_XE) geninit.c
576
 
!endif
577
 
 
578
 
MKROMFS_OBJS=$(MKROMFS_ZLIB_OBJS) $(GLOBJ)gscdefs.$(OBJ) $(os2__)
579
 
$(MKROMFS_XE): $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS)
580
 
!if $(EMX)
581
 
        $(CCAUX) -o $(AUXGEN)genht $(GENOPT) $(CFLAGS_DEBUG) $(GLSRC)mkromfs.c
582
 
        $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)mkromfs $(MKROMFS_OBJS) $(MKROMFS_XE)
583
 
        del $(AUXGEN)mkromfs
584
 
!endif
585
 
!if $(IBMCPP)
586
 
        $(CCAUX) /Fe$(MKROMFS_XE) mkromfs.c
587
 
!endif
588
 
        $(CCAUX) $(GENOPT) $(CFLAGS_DEBUG) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE) $(MKROMFS_DEPS) -lm
589
 
 
590
 
# No special gconfig_.h is needed.
591
 
$(gconfig__h): $(TOP_MAKEFILES) $(ECHOGS_XE)
592
 
        $(ECHOGS_XE) -w $(gconfig__h) /* This file deliberately left blank. */
593
 
 
594
 
# ----------------------------- Main program ------------------------------ #
595
 
 
596
 
gsdllos2_h=$(GLSRC)gsdllos2.h
597
 
 
598
 
# Interpreter main program
599
 
 
600
 
ICONS=$(PSOBJ)gsos2.ico $(GLOBJ)gspmdrv.ico
601
 
 
602
 
$(PSOBJ)dpmain.$(OBJ): $(PSSRC)dpmain.c $(AK)\
603
 
 $(gdevdsp_h) $(iapi_h) $(gscdefs_h) $(ierrors_h)
604
 
        $(CC) $(CEXE) -I$(PSSRCDIR) -I$(GLSRCDIR) -I$(GLGENDIR) $(PSO_)dpmain.$(OBJ) $(C_) $(PSSRC)dpmain.c
605
 
 
606
 
!if $(MAKEDLL)
607
 
#making a DLL
608
 
GS_ALL=$(PSOBJ)gsdll.$(OBJ) $(INT_ALL) \
609
 
  $(LIB_ALL) $(LIBCTR) $(ld_tr) $(PSOBJ)$(GS).res $(ICONS) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ)
610
 
 
611
 
$(GS_XE): $(BINDIR)\$(GSDLL).dll $(PSSRC)dpmain.c $(gsdll_h) $(gsdllos2_h) $(PSSRC)gsos2.rc $(GLOBJ)gscdefs.$(OBJ)
612
 
!if $(EMX)
613
 
        $(COMPDIR)\$(COMP) $(CGDB) $(CO) -Zomf $(MT_OPT) -I$(PSSRCDIR) -I$(GLSRCDIR) -I$(PSOBJDIR) -I$(GLOBJDIR) -o$(GS_XE) $(PSSRC)dpmain.c $(GLOBJ)gscdefs.$(OBJ) $(PSSRC)gsos2.def
614
 
!endif
615
 
!if $(IBMCPP)
616
 
        $(CCAUX) -I$(PSSRCDIR) -I$(GLSRCDIR) -I$(PSOBJDIR) -I$(GLOBJDIR) /Fe$(GX_XE) $(PSSRC)dpmain.c $(GLOBJ)gscdefs.$(OBJ)
617
 
!endif
618
 
        rc $(PSOBJ)$(GS).res $(GS_XE)
619
 
 
620
 
$(PSOBJ)gsdll.$(OBJ): $(PSSRC)gsdll.c $(gsdll_h) $(ghost_h) $(gscdefs_h)
621
 
        $(PSCC) $(PSO_)gsdll.$(OBJ) $(C_) $(PSSRC)gsdll.c
622
 
 
623
 
$(BINDIR)\$(GSDLL).dll: $(GS_ALL) $(ALL_DEVS) $(PSOBJ)gsdll.$(OBJ)
624
 
!if $(EMX)
625
 
        LINK386 /DEBUG $(COMPBASE)\lib\dll0.obj $(COMPBASE)\lib\end.lib @$(ld_tr) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(PSOBJ)gsdll.obj, $(BINDIR)\$(GSDLL).dll, ,$(X11LIBS) $(COMPBASE)\lib\gcc.lib $(COMPBASE)\lib\st\c.lib $(COMPBASE)\lib\st\c_dllso.lib $(COMPBASE)\lib\st\sys.lib $(COMPBASE)\lib\c_alias.lib $(COMPBASE)\lib\os2.lib, $(PSSRC)gsdll2.def
626
 
!endif
627
 
!if $(IBMCPP)
628
 
        LINK386 /NOE /DEBUG @$(ld_tr) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(PSOBJ)gsdll.obj, $(BINDIR)\$(GSDLL).dll, , , $(PSSRC)gsdll2.def
629
 
!endif
630
 
 
631
 
!else
632
 
#making an EXE
633
 
GS_ALL=$(PSOBJ)gs.$(OBJ) $(INT_ALL) \
634
 
  $(LIB_ALL) $(LIBCTR) $(ld_tr) $(PSOBJ)$(GS).res $(ICONS) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ)
635
 
 
636
 
$(GS_XE): $(GS_ALL) $(ALL_DEVS)
637
 
        $(COMPDIR)\$(COMP) $(CGDB) I$(PSSRCDIR) -I$(GLSRCDIR) -o $(PSOBJ)$(GS) $(PSOBJ)gs.$(OBJ) @$(ld_tr) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) -lm
638
 
        $(COMPDIR)\emxbind -r$(PSOBJ)$(GS).res $(COMPDIR)\emxl.exe $(PSOBJ)$(GS) $(GS_XE) -ac
639
 
        del $(PSOBJ)$(GS)
640
 
!endif
641
 
 
642
 
# Make the icons from their text form.
643
 
 
644
 
$(PSOBJ)gsos2.ico: $(PSSRC)gsos2.icx $(ECHOGS_XE)
645
 
        $(ECHOGS_XE) -wb $(PSOBJ)gsos2.ico -n -X -r $(PSSRC)gsos2.icx
646
 
 
647
 
$(GLOBJ)gspmdrv.ico: $(GLSRC)gspmdrv.icx $(ECHOGS_XE)
648
 
        $(ECHOGS_XE) -wb $(GLOBJ)gspmdrv.ico -n -X -r $(GLSRC)gspmdrv.icx
649
 
 
650
 
$(PSOBJ)$(GS).res: $(PSSRC)$(GS).rc $(PSOBJ)gsos2.ico
651
 
        rc -i $(COMPBASE)\include -i $(PSSRCDIR) -i $(PSOBJDIR) -r $(PSSRC)$(GS).rc $(PSOBJ)$(GS).res
652
 
 
653
 
 
654
 
# PM driver program
655
 
 
656
 
$(GLOBJ)gspmdrv.o: $(GLSRC)gspmdrv.c $(GLSRC)gspmdrv.h
657
 
        $(COMPDIR)\$(COMP) $(CGDB) $(CO) -I$(GLSRCDIR) -o $(GLOBJ)gspmdrv.o -c $(GLSRC)gspmdrv.c
658
 
 
659
 
$(GLOBJ)gspmdrv.res: $(GLSRC)gspmdrv.rc $(GLSRC)gspmdrv.h $(GLOBJ)gspmdrv.ico
660
 
        rc -i $(COMPBASE)\include -i $(GLSRCDIR) -i $(GLOBJDIR) -r $(GLSRC)gspmdrv.rc $(GLOBJ)gspmdrv.res
661
 
 
662
 
$(BINDIR)\gspmdrv.exe: $(GLOBJ)gspmdrv.o $(GLOBJ)gspmdrv.res $(GLSRC)gspmdrv.def
663
 
        $(COMPDIR)\$(COMP) $(CGDB) $(CO) -o $(GLOBJ)gspmdrv $(GLOBJ)gspmdrv.o 
664
 
        $(COMPDIR)\emxbind -p -r$(GLOBJ)gspmdrv.res -d$(GLSRC)gspmdrv.def $(COMPDIR)\emxl.exe $(GLOBJ)gspmdrv $(BINDIR)\gspmdrv.exe
665
 
        del $(GLOBJ)gspmdrv
666
 
 
667
 
# Create a ZIP archive
668
 
# This assumes that the current directory is named gs#.## relative to its
669
 
# parent, where #.## is the Ghostscript version.
670
 
 
671
 
ZIP_XE=zip
672
 
ZIPPROGFILE1=gs$(GS_DOT_VERSION)\bin\gsos2.exe
673
 
ZIPPROGFILE2=gs$(GS_DOT_VERSION)\bin\gsdll2.dll
674
 
ZIPPROGFILE3=gs$(GS_DOT_VERSION)\bin\gspmdrv.exe
675
 
ZIPPROGFILE4=gs$(GS_DOT_VERSION)\doc
676
 
ZIPPROGFILE5=gs$(GS_DOT_VERSION)\examples
677
 
ZIPPROGFILE6=gs$(GS_DOT_VERSION)\lib
678
 
ZIPFONTDIR=fonts
679
 
 
680
 
# Make the zip archive.
681
 
zip:
682
 
        cd ..
683
 
        -del gs$(GS_VERSION)os2.zip
684
 
        $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPFONTDIR)
685
 
        $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE1)
686
 
        $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE2)
687
 
        $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE3)
688
 
        $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE4)
689
 
        $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE5)
690
 
        $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE6)
691
 
        cd gs$(GS_DOT_VERSION)