Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#    Copyright (C) 1991-2004 artofcode LLC.  All rights reserved.
2
# 
3
# This software is provided AS-IS with no warranty, either express or
4
# implied.
5
# 
6
# This software is distributed under license and may not be copied,
7
# modified or distributed except as expressly authorized under the terms
8
# of the license contained in the file LICENSE in this distribution.
9
# 
10
# For more information about licensing, please refer to
11
# http://www.ghostscript.com/licensing/. For information on
12
# commercial licensing, go to http://www.artifex.com/licensing/ or
13
# contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14
# San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15
 
16
# $Id: msvc32.mak,v 1.75 2005/08/31 05:59:58 ray Exp $
17
# makefile for 32-bit Microsoft Visual C++, Windows NT or Windows 95 platform.
18
#
19
# All configurable options are surrounded by !ifndef/!endif to allow 
20
# preconfiguration from within another makefile.
21
#
22
# Optimization /O2 seems OK with MSVC++ 4.1, but not with 5.0.
23
# Created 1997-01-24 by Russell Lang from MSVC++ 2.0 makefile.
24
# Enhanced 97-05-15 by JD
25
# Common code factored out 1997-05-22 by L. Peter Deutsch.
26
# Made pre-configurable by JD 6/4/98
27
# Revised to use subdirectories 1998-11-13 by lpd.
28
 
29
# Note: If you are planning to make self-extracting executables,
30
# see winint.mak to find out about third-party software you will need.
31
 
32
# ------------------------------- Options ------------------------------- #
33
 
34
###### This section is the only part of the file you should need to edit.
35
 
36
# ------ Generic options ------ #
37
 
38
# Define the directory for the final executable, and the
39
# source, generated intermediate file, and object directories
40
# for the graphics library (GL) and the PostScript/PDF interpreter (PS).
41
 
42
!ifndef BINDIR
43
BINDIR=.\bin
44
!endif
45
!ifndef GLSRCDIR
46
GLSRCDIR=.\src
47
!endif
48
!ifndef GLGENDIR
49
GLGENDIR=.\obj
50
!endif
51
!ifndef GLOBJDIR
52
GLOBJDIR=.\obj
53
!endif
54
!ifndef PSSRCDIR
55
PSSRCDIR=.\src
56
!endif
57
!ifndef PSLIBDIR
58
PSLIBDIR=.\lib
59
!endif
60
!ifndef PSGENDIR
61
PSGENDIR=.\obj
62
!endif
63
!ifndef PSOBJDIR
64
PSOBJDIR=.\obj
65
!endif
66
 
67
# Define the root directory for Ghostscript installation.
68
 
69
!ifndef AROOTDIR
70
AROOTDIR=c:/gs
71
!endif
72
!ifndef GSROOTDIR
73
GSROOTDIR=$(AROOTDIR)/gs$(GS_DOT_VERSION)
74
!endif
75
 
76
# Define the directory that will hold documentation at runtime.
77
 
78
!ifndef GS_DOCDIR
79
GS_DOCDIR=$(GSROOTDIR)/doc
80
!endif
81
 
82
# Define the default directory/ies for the runtime initialization, resource and
83
# font files.  Separate multiple directories with ';'.
84
# Use / to indicate directories, not \.
85
# MSVC will not allow \'s here because it sees '\;' CPP-style as an
86
# illegal escape.
87
 
88
!ifndef GS_LIB_DEFAULT
89
GS_LIB_DEFAULT=$(GSROOTDIR)/lib;$(GSROOTDIR)/Resource;$(AROOTDIR)/fonts
90
!endif
91
 
92
# Define whether or not searching for initialization files should always
93
# look in the current directory first.  This leads to well-known security
94
# and confusion problems, but users insist on it.
95
# NOTE: this also affects searching for files named on the command line:
96
# see the "File searching" section of Use.htm for full details.
97
# Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended.
98
 
99
!ifndef SEARCH_HERE_FIRST
100
SEARCH_HERE_FIRST=1
101
!endif
102
 
103
# Define the name of the interpreter initialization file.
104
# (There is no reason to change this.)
105
 
106
!ifndef GS_INIT
107
GS_INIT=gs_init.ps
108
!endif
109
 
110
# Choose generic configuration options.
111
 
112
# Setting DEBUG=1 includes debugging features in the build:
113
# 1. It defines the C preprocessor symbol DEBUG. The latter includes
114
#    tracing and self-validation code fragments into compilation.
115
#    Particularly it enables the -Z and -T switches in Ghostscript.
116
# 2. It compiles code fragments for C stack overflow checks.
117
# Code produced with this option is somewhat larger and runs 
118
# somewhat slower.
119
 
120
!ifndef DEBUG
121
DEBUG=0
122
!endif
123
 
124
# Setting TDEBUG=1 disables code optimization in the C compiler and
125
# includes symbol table information for the debugger.
126
# Code is substantially larger and slower.
127
 
128
# NOTE: The MSVC++ 5.0 compiler produces incorrect output code with TDEBUG=0.
129
# Also MSVC 6 must be service pack >= 3 to prevent INTERNAL COMPILER ERROR
130
 
131
# Default to 0 anyway since the execution times are so much better.
132
!ifndef TDEBUG
133
TDEBUG=0
134
!endif
135
 
136
# Setting DEBUGSYM=1 is only useful with TDEBUG=0.
137
# This option is for advanced developers. It includes symbol table
138
# information for the debugger in an optimized (release) build.
139
# NOTE: The debugging information generated for the optimized code may be
140
# significantly misleading. For general MSVC users we recommend TDEBUG=1.
141
 
142
!ifndef DEBUGSYM
143
DEBUGSYM=0
144
!endif
145
 
146
 
147
# Setting NOPRIVATE=1 makes private (static) procedures and variables public,
148
# so they are visible to the debugger and profiler.
149
# No execution time or space penalty, just larger .OBJ and .EXE files.
150
 
151
!ifndef NOPRIVATE
152
NOPRIVATE=0
153
!endif
154
 
155
# We can compile for a 32-bit or 64-bit target
156
# WIN32 and WIN64 are mutually exclusive.  WIN32 is the default.
157
!if !defined(WIN32) && !defined(Win64)
158
WIN32=0
159
!endif
160
 
161
# Define the name of the executable file.
162
 
163
!ifndef GS
164
GS=gswin32
165
!endif
166
!ifndef GSCONSOLE
167
GSCONSOLE=gswin32c
168
!endif
169
!ifndef GSDLL
170
GSDLL=gsdll32
171
!endif
172
 
173
!ifndef BUILD_TIME_GS
174
# Define the name of a pre-built executable that can be invoked at build
175
# time.  Currently, this is only needed for compiled fonts.  The usual
176
# alternatives are:
177
#   - the standard name of Ghostscript on your system (typically `gs'):
178
BUILD_TIME_GS=gswin32c
179
#   - the name of the executable you are building now.  If you choose this
180
# option, then you must build the executable first without compiled fonts,
181
# and then again with compiled fonts.
182
#BUILD_TIME_GS=$(BINDIR)\$(GS) -I$(PSLIBDIR)
183
!endif
184
 
185
# To build two small executables and a large DLL use MAKEDLL=1
186
# To build two large executables use MAKEDLL=0
187
 
188
!ifndef MAKEDLL
189
MAKEDLL=1
190
!endif
191
 
192
# Define the directory where the IJG JPEG library sources are stored,
193
# and the major version of the library that is stored there.
194
# You may need to change this if the IJG library version changes.
195
# See jpeg.mak for more information.
196
 
197
!ifndef JSRCDIR
198
JSRCDIR=jpeg
199
JVERSION=6
200
!endif
201
 
202
# Define the directory where the PNG library sources are stored,
203
# and the version of the library that is stored there.
204
# You may need to change this if the libpng version changes.
205
# See libpng.mak for more information.
206
 
207
!ifndef PSRCDIR
208
PSRCDIR=libpng
209
PVERSION=10208
210
!endif
211
 
212
# Define the directory where the zlib sources are stored.
213
# See zlib.mak for more information.
214
 
215
!ifndef ZSRCDIR
216
ZSRCDIR=zlib
217
!endif
218
 
219
# Define the jbig2dec library source location.
220
# See jbig2.mak for more information.
221
 
222
!ifndef JBIG2SRCDIR
223
JBIG2SRCDIR=jbig2dec
224
!endif
225
 
226
# Define the jasper library source location.
227
# See jasper.mak for more information.
228
 
229
# Alternatively, you can build a separate DLL
230
# and define SHARE_JASPER=1 in src/winlib.mak
231
 
232
!ifndef JASPERSRCDIR
233
JASPERSRCDIR=jasper
234
!endif
235
 
236
# Define the directory where the icclib source are stored.
237
# See icclib.mak for more information
238
 
239
!ifndef ICCSRCDIR
240
ICCSRCDIR=icclib
241
!endif
242
 
243
# Define the directory where the ijs source is stored,
244
# and the process forking method to use for the server.
245
# See ijs.mak for more information.
246
 
247
!ifndef IJSSRCDIR
248
IJSSRCDIR=ijs
249
IJSEXECTYPE=win
250
!endif
251
 
252
# Define any other compilation flags.
253
 
254
!ifndef CFLAGS
255
CFLAGS=
256
!endif
257
 
258
# 1 --> Use 64 bits for gx_color_index.  This is required only for
259
# non standard devices or DeviceN process color model devices.
260
USE_LARGE_COLOR_INDEX=1
261
 
262
!if $(USE_LARGE_COLOR_INDEX) == 1
263
# Definitions to force gx_color_index to 64 bits
264
LARGEST_UINTEGER_TYPE=unsigned __int64
265
GX_COLOR_INDEX_TYPE=$(LARGEST_UINTEGER_TYPE)
266
 
267
CFLAGS=$(CFLAGS) /DGX_COLOR_INDEX_TYPE="$(GX_COLOR_INDEX_TYPE)"
268
!endif
269
 
270
# -W3 generates too much noise.
271
!ifndef WARNOPT
272
WARNOPT=-W2
273
!endif
274
 
275
#
276
# Do not edit the next group of lines.
277
 
278
#!include $(COMMONDIR)\msvcdefs.mak
279
#!include $(COMMONDIR)\pcdefs.mak
280
#!include $(COMMONDIR)\generic.mak
281
!include $(GLSRCDIR)\version.mak
282
# The following is a hack to get around the special treatment of \ at
283
# the end of a line.
284
NUL=
285
DD=$(GLGENDIR)\$(NUL)
286
GLD=$(GLGENDIR)\$(NUL)
287
PSD=$(PSGENDIR)\$(NUL)
288
 
289
# ------ Platform-specific options ------ #
290
 
291
# Define which major version of MSVC is being used
292
# (currently, 4, 5, 6, 7, and 8 are supported).
293
# Define the minor version of MSVC, currently only
294
# used for Microsoft Visual Studio .NET 2003 (7.1)
295
 
296
#MSVC_VERSION=6
297
#MSVC_MINOR_VERSION=0
298
 
299
# Make a guess at the version of MSVC in use
300
# This will not work if service packs change the version numbers.
301
 
302
!if defined(_NMAKE_VER) && !defined(MSVC_VERSION)
303
!if "$(_NMAKE_VER)" == "162"
304
MSVC_VERSION=5
305
!endif
306
!if "$(_NMAKE_VER)" == "6.00.8168.0"
307
MSVC_VERSION=6
308
!endif
309
!if "$(_NMAKE_VER)" == "7.00.9466"
310
MSVC_VERSION=7
311
!endif
312
!if "$(_NMAKE_VER)" == "7.10.3077"
313
MSVC_VERSION=7
314
MSVC_MINOR_VERSION=1
315
!endif
316
!if "$(_NMAKE_VER)" == "8.00.40607.16"
317
MSVC_VERSION=8
318
!endif
319
!endif
320
 
321
!ifndef MSVC_VERSION
322
MSVC_VERSION=6
323
!endif
324
!ifndef MSVC_MINOR_VERSION
325
MSVC_MINOR_VERSION=0
326
!endif
327
 
328
# Define the drive, directory, and compiler name for the Microsoft C files.
329
# COMPDIR contains the compiler and linker (normally \msdev\bin).
330
# MSINCDIR contains the include files (normally \msdev\include).
331
# LIBDIR contains the library files (normally \msdev\lib).
332
# COMP is the full C compiler path name (normally \msdev\bin\cl).
333
# COMPCPP is the full C++ compiler path name (normally \msdev\bin\cl).
334
# COMPAUX is the compiler name for DOS utilities (normally \msdev\bin\cl).
335
# RCOMP is the resource compiler name (normallly \msdev\bin\rc).
336
# LINK is the full linker path name (normally \msdev\bin\link).
337
# Note that when MSINCDIR and LIBDIR are used, they always get a '\' appended,
338
#   so if you want to use the current directory, use an explicit '.'.
339
 
340
!if $(MSVC_VERSION) == 4
341
! ifndef DEVSTUDIO
342
DEVSTUDIO=c:\msdev
343
! endif
344
COMPBASE=$(DEVSTUDIO)
345
SHAREDBASE=$(DEVSTUDIO)
346
!endif
347
 
348
!if $(MSVC_VERSION) == 5
349
! ifndef DEVSTUDIO
350
DEVSTUDIO=C:\Program Files\Devstudio
351
! endif
352
!if "$(DEVSTUDIO)"==""
353
COMPBASE=
354
SHAREDBASE=
355
!else
356
COMPBASE=$(DEVSTUDIO)\VC
357
SHAREDBASE=$(DEVSTUDIO)\SharedIDE
358
!endif
359
!endif
360
 
361
!if $(MSVC_VERSION) == 6
362
! ifndef DEVSTUDIO
363
DEVSTUDIO=C:\Program Files\Microsoft Visual Studio
364
! endif
365
!if "$(DEVSTUDIO)"==""
366
COMPBASE=
367
SHAREDBASE=
368
!else
369
COMPBASE=$(DEVSTUDIO)\VC98
370
SHAREDBASE=$(DEVSTUDIO)\Common\MSDev98
371
!endif
372
!endif
373
 
374
!if $(MSVC_VERSION) == 7
375
! ifndef DEVSTUDIO
376
!if $(MSVC_MINOR_VERSION) == 0
377
DEVSTUDIO=C:\Program Files\Microsoft Visual Studio .NET
378
!else
379
DEVSTUDIO=C:\Program Files\Microsoft Visual Studio .NET 2003
380
!endif
381
! endif
382
!if "$(DEVSTUDIO)"==""
383
COMPBASE=
384
SHAREDBASE=
385
!else
386
COMPBASE=$(DEVSTUDIO)\Vc7
387
SHAREDBASE=$(DEVSTUDIO)\Vc7
388
!ifdef WIN64
389
# Windows Server 2003 DDK is needed for the 64-bit compiler
390
# but it won't install on Windows XP 64-bit.
391
DDKBASE=c:\winddk\3790
392
COMPDIR64=$(DDKBASE)\bin\win64\x86\amd64
393
LINKLIBPATH=/LIBPATH:"$(DDKBASE)\lib\wnet\amd64"
394
INCDIR64A=$(DDKBASE)\inc\wnet
395
INCDIR64B=$(DDKBASE)\inc\crt
396
!endif
397
!endif
398
!endif
399
 
400
!if $(MSVC_VERSION) == 8
401
! ifndef DEVSTUDIO
402
!ifdef WIN64
403
DEVSTUDIO=C:\Program Files (x86)\Microsoft Visual Studio 8
404
!else
405
DEVSTUDIO=C:\Program Files\Microsoft Visual Studio 8
406
!endif
407
! endif
408
!if "$(DEVSTUDIO)"==""
409
COMPBASE=
410
SHAREDBASE=
411
!else
412
COMPBASE=$(DEVSTUDIO)\VC
413
SHAREDBASE=$(DEVSTUDIO)\VC
414
!ifdef WIN64
415
COMPDIR64=$(COMPBASE)\bin\x86_amd64
416
LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" /LIBPATH:"$(COMPBASE)\PlatformSDK\Lib\AMD64"
417
!endif
418
!endif
419
!endif
420
 
421
# Some environments don't want to specify the path names for the tools at all.
422
# Typical definitions for such an environment would be:
423
#   MSINCDIR= LIBDIR= COMP=cl COMPAUX=cl RCOMP=rc LINK=link
424
# COMPDIR, LINKDIR, and RCDIR are irrelevant, since they are only used to
425
# define COMP, LINK, and RCOMP respectively, but we allow them to be
426
# overridden anyway for completeness.
427
!ifndef COMPDIR
428
!if "$(COMPBASE)"==""
429
COMPDIR=
430
!else
431
!ifdef WIN64
432
COMPDIR=$(COMPDIR64)
433
!else
434
COMPDIR=$(COMPBASE)\bin
435
!endif
436
!endif
437
!endif
438
 
439
!ifndef LINKDIR
440
!if "$(COMPBASE)"==""
441
LINKDIR=
442
!else
443
!ifdef WIN64
444
LINKDIR=$(COMPDIR64)
445
!else
446
LINKDIR=$(COMPBASE)\bin
447
!endif
448
!endif
449
!endif
450
 
451
!ifndef RCDIR
452
!if "$(SHAREDBASE)"==""
453
RCDIR=
454
!else
455
RCDIR=$(SHAREDBASE)\bin
456
!endif
457
!endif
458
 
459
!ifndef MSINCDIR
460
!if "$(COMPBASE)"==""
461
MSINCDIR=
462
!else
463
MSINCDIR=$(COMPBASE)\include
464
!endif
465
!endif
466
 
467
!ifndef LIBDIR
468
!if "$(COMPBASE)"==""
469
LIBDIR=
470
!else
471
LIBDIR=$(COMPBASE)\lib
472
!endif
473
!endif
474
 
475
!ifndef COMP
476
!if "$(COMPDIR)"==""
477
COMP=cl
478
!else
479
COMP="$(COMPDIR)\cl"
480
!endif
481
!endif
482
!ifndef COMPCPP
483
COMPCPP=$(COMP)
484
!endif
485
!ifndef COMPAUX
486
!ifdef WIN64
487
COMPAUX="$(COMPBASE)\bin\cl"
488
!else
489
COMPAUX=$(COMP)
490
!endif
491
!endif
492
 
493
!ifndef RCOMP
494
!if "$(RCDIR)"==""
495
RCOMP=rc
496
!else
497
RCOMP="$(RCDIR)\rc"
498
!endif
499
!endif
500
 
501
!ifndef LINK
502
!if "$(LINKDIR)"==""
503
LINK=link
504
!else
505
LINK="$(LINKDIR)\link"
506
!endif
507
!endif
508
 
509
# nmake does not have a form of .BEFORE or .FIRST which can be used
510
# to specify actions before anything else is done.  If LIB and INCLUDE
511
# are not defined then we want to define them before we link or
512
# compile.  Here is a kludge which allows us to to do what we want.
513
# nmake does evaluate preprocessor directives when they are encountered.
514
# So the desired set statements are put into dummy preprocessor
515
# directives.
516
!ifndef INCLUDE
517
!if "$(MSINCDIR)"!=""
518
!if [set INCLUDE=$(MSINCDIR)]==0
519
!endif
520
!endif
521
!endif
522
!ifndef LIB
523
!if "$(LIBDIR)"!=""
524
!if [set LIB=$(LIBDIR)]==0
525
!endif
526
!endif
527
!endif
528
 
529
!ifndef LINKLIBPATH
530
LINKLIBPATH=
531
!endif
532
 
533
# Define the processor architecture. (i386, ppc, alpha)
534
 
535
!ifndef CPU_FAMILY
536
CPU_FAMILY=i386
537
#CPU_FAMILY=ppc
538
#CPU_FAMILY=alpha  # not supported yet - we need someone to tweak
539
!endif
540
 
541
# Define the processor (CPU) type. Allowable values depend on the family:
542
#   i386: 386, 486, 586
543
#   ppc: 601, 604, 620
544
#   alpha: not currently used.
545
 
546
!ifndef CPU_TYPE
547
CPU_TYPE=486
548
#CPU_TYPE=601
549
!endif
550
 
551
!if "$(CPU_FAMILY)"=="i386"
552
 
553
# Intel(-compatible) processors are the only ones for which the CPU type
554
# doesn't indicate whether a math coprocessor is present.
555
# For Intel processors only, define the math coprocessor (FPU) type.
556
# Options are -1 (optimize for no FPU), 0 (optimize for FPU present,
557
# but do not require a FPU), 87, 287, or 387.
558
# If you have a 486 or Pentium CPU, you should normally set FPU_TYPE to 387,
559
# since most of these CPUs include the equivalent of an 80387 on-chip;
560
# however, the 486SX and the Cyrix 486SLC do not have an on-chip FPU, so if
561
# you have one of these CPUs and no external FPU, set FPU_TYPE to -1 or 0.
562
# An xx87 option means that the executable will run only if a FPU
563
# of that type (or higher) is available: this is NOT currently checked
564
# at runtime.
565
 
566
! ifndef FPU_TYPE
567
FPU_TYPE=387
568
! endif
569
 
570
!endif
571
 
572
# Define the .dev module that implements thread and synchronization
573
# primitives for this platform.  Don't change this unless you really know
574
# what you're doing.
575
 
576
!ifndef SYNC
577
SYNC=winsync
578
!endif
579
 
580
# ------ Devices and features ------ #
581
 
582
# Choose the language feature(s) to include.  See gs.mak for details.
583
 
584
!ifndef FEATURE_DEVS
585
FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(PSD)mshandle.dev $(PSD)msprinter.dev $(PSD)mspoll.dev $(GLD)pipe.dev $(PSD)fapi.dev $(PSD)jbig2.dev $(PSD)jpx.dev
586
!endif
587
 
588
# Choose whether to compile the .ps initialization files into the executable.
589
# See gs.mak for details.
590
 
591
!ifndef COMPILE_INITS
592
COMPILE_INITS=0
593
!endif
594
 
595
# Choose whether to store band lists on files or in memory.
596
# The choices are 'file' or 'memory'.
597
 
598
!ifndef BAND_LIST_STORAGE
599
BAND_LIST_STORAGE=file
600
!endif
601
 
602
# Choose which compression method to use when storing band lists in memory.
603
# The choices are 'lzw' or 'zlib'.
604
 
605
!ifndef BAND_LIST_COMPRESSOR
606
BAND_LIST_COMPRESSOR=zlib
607
!endif
608
 
609
# Choose the implementation of file I/O: 'stdio', 'fd', or 'both'.
610
# See gs.mak and sfxfd.c for more details.
611
 
612
!ifndef FILE_IMPLEMENTATION
613
FILE_IMPLEMENTATION=stdio
614
!endif
615
 
616
# Choose the implementation of stdio: '' for file I/O and 'c' for callouts
617
# See gs.mak and ziodevs.c/ziodevsc.c for more details.
618
 
619
!ifndef STDIO_IMPLEMENTATION
620
STDIO_IMPLEMENTATION=c
621
!endif
622
 
623
# Choose the device(s) to include.  See devs.mak for details,
624
# devs.mak and contrib.mak for the list of available devices.
625
 
626
!ifndef DEVICE_DEVS
627
DEVICE_DEVS=$(DD)display.dev $(DD)mswindll.dev $(DD)mswinpr2.dev
628
DEVICE_DEVS2=$(DD)epson.dev $(DD)eps9high.dev $(DD)eps9mid.dev $(DD)epsonc.dev $(DD)ibmpro.dev
629
DEVICE_DEVS3=$(DD)deskjet.dev $(DD)djet500.dev $(DD)laserjet.dev $(DD)ljetplus.dev $(DD)ljet2p.dev
630
DEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev
631
DEVICE_DEVS5=$(DD)uniprint.dev $(DD)djet500c.dev $(DD)declj250.dev $(DD)lj250.dev $(DD)ijs.dev
632
DEVICE_DEVS6=$(DD)st800.dev $(DD)stcolor.dev $(DD)bj10e.dev $(DD)bj200.dev
633
DEVICE_DEVS7=$(DD)t4693d2.dev $(DD)t4693d4.dev $(DD)t4693d8.dev $(DD)tek4696.dev
634
DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
635
DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev $(DD)pkmraw.dev
636
DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
637
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
638
DEVICE_DEVS12=$(DD)psmono.dev $(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
639
DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev
640
DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
641
DEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)pswrite.dev $(DD)ps2write.dev $(DD)epswrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev
642
DEVICE_DEVS16=$(DD)bbox.dev
643
# Overflow for DEVS3,4,5,6,9
644
DEVICE_DEVS17=$(DD)ljet3.dev $(DD)ljet3d.dev $(DD)ljet4.dev $(DD)ljet4d.dev 
645
DEVICE_DEVS18=$(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev $(DD)jetp3852.dev $(DD)r4081.dev
646
DEVICE_DEVS19=$(DD)lbp8.dev $(DD)m8510.dev $(DD)necp6.dev $(DD)bjc600.dev $(DD)bjc800.dev
647
DEVICE_DEVS20=$(DD)pnm.dev $(DD)pnmraw.dev $(DD)ppm.dev $(DD)ppmraw.dev
648
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
649
!endif
650
 
651
# FAPI compilation options :
652
UFST_CFLAGS=-DMSVC
653
 
654
# ---------------------------- End of options ---------------------------- #
655
 
656
# Derive values for FPU_TYPE for non-Intel processors.
657
 
658
!if "$(CPU_FAMILY)"=="ppc"
659
! if $(CPU_TYPE)>601
660
FPU_TYPE=2
661
! else
662
FPU_TYPE=1
663
! endif
664
!endif
665
 
666
!if "$(CPU_FAMILY)"=="alpha"
667
# *** alpha *** This needs fixing
668
FPU_TYPE=1
669
!endif
670
 
671
# Define the name of the makefile -- used in dependencies.
672
 
673
MAKEFILE=$(PSSRCDIR)\msvc32.mak
674
TOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)\msvccmd.mak $(GLSRCDIR)\msvctail.mak $(GLSRCDIR)\winlib.mak $(PSSRCDIR)\winint.mak
675
 
676
# Define the files to be removed by `make clean'.
677
# nmake expands macros when encountered, not when used,
678
# so this must precede the !include statements.
679
 
680
BEGINFILES2=$(GLGENDIR)\lib32.rsp\
681
 $(GLOBJDIR)\*.exp $(GLOBJDIR)\*.ilk $(GLOBJDIR)\*.pdb $(GLOBJDIR)\*.lib\
682
 $(BINDIR)\*.exp $(BINDIR)\*.ilk $(BINDIR)\*.pdb $(BINDIR)\*.lib obj.pdb\
683
 obj.idb $(GLOBJDIR)\gs.pch
684
 
685
!include $(GLSRCDIR)\msvccmd.mak
686
!include $(GLSRCDIR)\winlib.mak
687
!include $(GLSRCDIR)\msvctail.mak
688
!include $(PSSRCDIR)\winint.mak
689
 
690
# ----------------------------- Main program ------------------------------ #
691
 
692
GSCONSOLE_XE=$(BINDIR)\$(GSCONSOLE).exe
693
GSDLL_DLL=$(BINDIR)\$(GSDLL).dll
694
GSDLL_OBJS=$(PSOBJ)gsdll.$(OBJ) $(GLOBJ)gp_msdll.$(OBJ)
695
 
696
!if $(DEBUGSYM) != 0
697
$(PSGEN)lib32.rsp: $(TOP_MAKEFILES)
698
	echo /NODEFAULTLIB:LIBC.lib > $(PSGEN)lib32.rsp
699
	echo /NODEFAULTLIB:LIBCMT.lib >> $(PSGEN)lib32.rsp
700
	echo LIBCMTD.lib >> $(PSGEN)lib32.rsp
701
!else
702
$(PSGEN)lib32.rsp: $(TOP_MAKEFILES)
703
	echo /NODEFAULTLIB:LIBC.lib > $(PSGEN)lib32.rsp
704
	echo /NODEFAULTLIB:LIBCMTD.lib >> $(PSGEN)lib32.rsp
705
	echo LIBCMT.lib >> $(PSGEN)lib32.rsp
706
!endif
707
 
708
 
709
!if $(MAKEDLL)
710
# The graphical small EXE loader
711
$(GS_XE): $(GSDLL_DLL)  $(DWOBJ) $(GSCONSOLE_XE) $(SETUP_XE) $(UNINSTALL_XE)
712
	echo /SUBSYSTEM:WINDOWS > $(PSGEN)gswin32.rsp
713
	echo /DEF:$(PSSRCDIR)\dwmain32.def /OUT:$(GS_XE) >> $(PSGEN)gswin32.rsp
714
	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(DWOBJ) $(LINKLIBPATH) @$(LIBCTR) $(GS_OBJ).res
715
	del $(PSGEN)gswin32.rsp
716
 
717
# The console mode small EXE loader
718
$(GSCONSOLE_XE): $(OBJC) $(GS_OBJ).res $(PSSRCDIR)\dw32c.def
719
	echo /SUBSYSTEM:CONSOLE > $(PSGEN)gswin32.rsp
720
	echo  /DEF:$(PSSRCDIR)\dw32c.def /OUT:$(GSCONSOLE_XE) >> $(PSGEN)gswin32.rsp
721
	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(OBJC) $(LINKLIBPATH) @$(LIBCTR) $(GS_OBJ).res
722
	del $(PSGEN)gswin32.rsp
723
 
724
# The big DLL
725
$(GSDLL_DLL): $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(GSDLL_OBJ).res $(PSGEN)lib32.rsp
726
	echo /DLL /DEF:$(PSSRCDIR)\gsdll32.def /OUT:$(GSDLL_DLL) > $(PSGEN)gswin32.rsp
727
	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(GSDLL_OBJS) @$(ld_tr) $(INTASM) @$(PSGEN)lib32.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res
728
	del $(PSGEN)gswin32.rsp
729
 
730
!else
731
# The big graphical EXE
732
$(GS_XE): $(GSCONSOLE_XE) $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(DWOBJNO) $(GSDLL_OBJ).res $(PSSRCDIR)\dwmain32.def $(PSGEN)lib32.rsp
733
	copy $(ld_tr) $(PSGEN)gswin32.tr
734
	echo $(PSOBJ)dwnodll.obj >> $(PSGEN)gswin32.tr
735
	echo $(GLOBJ)dwimg.obj >> $(PSGEN)gswin32.tr
736
	echo $(PSOBJ)dwmain.obj >> $(PSGEN)gswin32.tr
737
	echo $(GLOBJ)dwtext.obj >> $(PSGEN)gswin32.tr
738
	echo $(GLOBJ)dwreg.obj >> $(PSGEN)gswin32.tr
739
	echo /DEF:$(PSSRCDIR)\dwmain32.def /OUT:$(GS_XE) > $(PSGEN)gswin32.rsp
740
	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(GLOBJ)gsdll @$(PSGEN)gswin32.tr $(LINKLIBPATH) @$(LIBCTR) $(INTASM) @$(PSGEN)lib32.rsp $(GSDLL_OBJ).res $(DWTRACE)
741
	del $(PSGEN)gswin32.tr
742
	del $(PSGEN)gswin32.rsp
743
 
744
# The big console mode EXE
745
$(GSCONSOLE_XE): $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(OBJCNO) $(GS_OBJ).res $(PSSRCDIR)\dw32c.def $(PSGEN)lib32.rsp
746
	copy $(ld_tr) $(PSGEN)gswin32c.tr
747
	echo $(PSOBJ)dwnodllc.obj >> $(PSGEN)gswin32c.tr
748
	echo $(GLOBJ)dwimg.obj >> $(PSGEN)gswin32c.tr
749
	echo $(PSOBJ)dwmainc.obj >> $(PSGEN)gswin32c.tr
750
	echo $(PSOBJ)dwreg.obj >> $(PSGEN)gswin32c.tr
751
	echo /SUBSYSTEM:CONSOLE > $(PSGEN)gswin32.rsp
752
	echo /DEF:$(PSSRCDIR)\dw32c.def /OUT:$(GSCONSOLE_XE) >> $(PSGEN)gswin32.rsp
753
	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(GLOBJ)gsdll @$(PSGEN)gswin32c.tr $(LINKLIBPATH) @$(LIBCTR) $(INTASM) @$(PSGEN)lib32.rsp $(GS_OBJ).res $(DWTRACE)
754
	del $(PSGEN)gswin32.rsp
755
	del $(PSGEN)gswin32c.tr
756
!endif
757
 
758
# ---------------------- Setup and uninstall programs ---------------------- #
759
 
760
!if $(MAKEDLL)
761
 
762
$(SETUP_XE): $(PSOBJ)dwsetup.obj $(PSOBJ)dwinst.obj $(PSOBJ)dwsetup.res $(PSSRC)dwsetup.def
763
	echo /DEF:$(PSSRC)dwsetup.def /OUT:$(SETUP_XE) > $(PSGEN)dwsetup.rsp
764
	echo $(PSOBJ)dwsetup.obj $(PSOBJ)dwinst.obj >> $(PSGEN)dwsetup.rsp
765
	copy $(LIBCTR) $(PSGEN)dwsetup.tr
766
	echo ole32.lib >> $(PSGEN)dwsetup.tr
767
	echo uuid.lib >> $(PSGEN)dwsetup.tr
768
	$(LINK) $(LCT) @$(PSGEN)dwsetup.rsp $(LINKLIBPATH) @$(PSGEN)dwsetup.tr $(PSOBJ)dwsetup.res
769
	del $(PSGEN)dwsetup.rsp
770
	del $(PSGEN)dwsetup.tr
771
 
772
$(UNINSTALL_XE): $(PSOBJ)dwuninst.obj $(PSOBJ)dwuninst.res $(PSSRC)dwuninst.def
773
	echo /DEF:$(PSSRC)dwuninst.def /OUT:$(UNINSTALL_XE) > $(PSGEN)dwuninst.rsp
774
	echo $(PSOBJ)dwuninst.obj >> $(PSGEN)dwuninst.rsp
775
	copy $(LIBCTR) $(PSGEN)dwuninst.tr
776
	echo ole32.lib >> $(PSGEN)dwuninst.tr
777
	echo uuid.lib >> $(PSGEN)dwuninst.tr
778
	$(LINK) $(LCT) @$(PSGEN)dwuninst.rsp $(LINKLIBPATH) @$(PSGEN)dwuninst.tr $(PSOBJ)dwuninst.res
779
	del $(PSGEN)dwuninst.rsp
780
	del $(PSGEN)dwuninst.tr
781
 
782
!endif
783
 
784
DEBUGDEFS=BINDIR=.\debugbin GLGENDIR=.\debugobj GLOBJDIR=.\debugobj PSLIBDIR=.\lib PSGENDIR=.\debugobj PSOBJDIR=.\debugobj DEBUG=1 TDEBUG=1
785
debug:
786
	nmake -f $(MAKEFILE) $(DEBUGDEFS)
787
 
788
debugclean:
789
	nmake -f $(MAKEFILE) $(DEBUGDEFS) clean
790
 
791
# end of makefile