2 |
- |
1 |
# Copyright (C) 1991-2000 Aladdin Enterprises. 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: watcw32.mak,v 1.35 2005/08/31 05:52:32 ray Exp $
|
|
|
17 |
# watcw32.mak
|
|
|
18 |
# makefile for Watcom C++ v??, Windows NT or Windows 95 platform.
|
|
|
19 |
# Does NOT build gs16spl.exe, which is 16-bit and is used under Win32s.
|
|
|
20 |
# Someone with access to the Watcom 16-bit documentation will need to
|
|
|
21 |
# do this.
|
|
|
22 |
# Created 1997-02-23 by Russell Lang from MSVC++ 4.0 makefile.
|
|
|
23 |
# Major revisions 1999-07-26 by Ray Johnston.
|
|
|
24 |
|
|
|
25 |
# ------------------------------- Options ------------------------------- #
|
|
|
26 |
|
|
|
27 |
###### This section is the only part of the file you should need to edit.
|
|
|
28 |
|
|
|
29 |
# ------ Generic options ------ #
|
|
|
30 |
|
|
|
31 |
# Define the directory for the final executable, and the
|
|
|
32 |
# source, generated intermediate file, and object directories
|
|
|
33 |
# for the graphics library (GL) and the PostScript/PDF interpreter (PS).
|
|
|
34 |
|
|
|
35 |
BINDIR=bin
|
|
|
36 |
GLSRCDIR=src
|
|
|
37 |
GLGENDIR=obj
|
|
|
38 |
GLOBJDIR=obj
|
|
|
39 |
PSSRCDIR=src
|
|
|
40 |
PSLIBDIR=lib
|
|
|
41 |
PSGENDIR=obj
|
|
|
42 |
PSOBJDIR=obj
|
|
|
43 |
|
|
|
44 |
# Define the root directory for Ghostscript installation.
|
|
|
45 |
|
|
|
46 |
AROOTDIR=c:/gs
|
|
|
47 |
GSROOTDIR=$(AROOTDIR)/gs$(GS_DOT_VERSION)
|
|
|
48 |
|
|
|
49 |
# Define the directory that will hold documentation at runtime.
|
|
|
50 |
|
|
|
51 |
GS_DOCDIR=$(GSROOTDIR)/doc
|
|
|
52 |
|
|
|
53 |
# Define the default directory/ies for the runtime
|
|
|
54 |
# initialization, resource and font files. Separate multiple directories with \;.
|
|
|
55 |
# Use / to indicate directories, not a single \.
|
|
|
56 |
|
|
|
57 |
GS_LIB_DEFAULT=$(GSROOTDIR)/lib\;$(GSROOTDIR)/Resource\;$(AROOTDIR)/fonts
|
|
|
58 |
|
|
|
59 |
# Define whether or not searching for initialization files should always
|
|
|
60 |
# look in the current directory first. This leads to well-known security
|
|
|
61 |
# and confusion problems, but users insist on it.
|
|
|
62 |
# NOTE: this also affects searching for files named on the command line:
|
|
|
63 |
# see the "File searching" section of Use.htm for full details.
|
|
|
64 |
# Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended.
|
|
|
65 |
|
|
|
66 |
SEARCH_HERE_FIRST=1
|
|
|
67 |
|
|
|
68 |
# Define the name of the interpreter initialization file.
|
|
|
69 |
# (There is no reason to change this.)
|
|
|
70 |
|
|
|
71 |
GS_INIT=gs_init.ps
|
|
|
72 |
|
|
|
73 |
# Choose generic configuration options.
|
|
|
74 |
|
|
|
75 |
# Setting DEBUG=1 includes debugging features (-Z switch) in the code.
|
|
|
76 |
# Code runs substantially slower even if no debugging switches are set,
|
|
|
77 |
# and also takes about another 25K of memory.
|
|
|
78 |
|
|
|
79 |
DEBUG=0
|
|
|
80 |
|
|
|
81 |
# Setting TDEBUG=1 includes symbol table information for the debugger,
|
|
|
82 |
# and also enables stack checking. Code is substantially slower and larger.
|
|
|
83 |
|
|
|
84 |
TDEBUG=0
|
|
|
85 |
|
|
|
86 |
# Setting NOPRIVATE=1 makes private (static) procedures and variables public,
|
|
|
87 |
# so they are visible to the debugger and profiler.
|
|
|
88 |
# No execution time or space penalty, just larger .OBJ and .EXE files.
|
|
|
89 |
|
|
|
90 |
NOPRIVATE=0
|
|
|
91 |
|
|
|
92 |
# Define the name of the executable file.
|
|
|
93 |
|
|
|
94 |
GS=gswin32
|
|
|
95 |
GSCONSOLE=gswin32c
|
|
|
96 |
GSDLL=gsdll32
|
|
|
97 |
|
|
|
98 |
# Define the name of a pre-built executable that can be invoked at build
|
|
|
99 |
# time. Currently, this is only needed for compiled fonts. The usual
|
|
|
100 |
# alternatives are:
|
|
|
101 |
# - the standard name of Ghostscript on your system (typically `gs'):
|
|
|
102 |
BUILD_TIME_GS=gswin32c
|
|
|
103 |
# - the name of the executable you are building now. If you choose this
|
|
|
104 |
# option, then you must build the executable first without compiled fonts,
|
|
|
105 |
# and then again with compiled fonts.
|
|
|
106 |
#BUILD_TIME_GS=$(BINDIR)\$(GS) -I$(PSLIBDIR)
|
|
|
107 |
|
|
|
108 |
# To build two small executables and a large DLL use MAKEDLL=1
|
|
|
109 |
# To build two large executables use MAKEDLL=0
|
|
|
110 |
|
|
|
111 |
MAKEDLL=1
|
|
|
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 |
JVERSION=6
|
|
|
120 |
|
|
|
121 |
# Define the directory where the PNG library sources are stored,
|
|
|
122 |
# and the version of the library that is stored there.
|
|
|
123 |
# You may need to change this if the libpng version changes.
|
|
|
124 |
# See libpng.mak for more information.
|
|
|
125 |
|
|
|
126 |
PSRCDIR=libpng
|
|
|
127 |
PVERSION=10208
|
|
|
128 |
|
|
|
129 |
# Define the directory where the zlib sources are stored.
|
|
|
130 |
# See zlib.mak for more information.
|
|
|
131 |
|
|
|
132 |
ZSRCDIR=zlib
|
|
|
133 |
|
|
|
134 |
# Define the jbig2dec library source location.
|
|
|
135 |
# See jbig2.mak for more information.
|
|
|
136 |
|
|
|
137 |
!ifndef JBIG2SRCDIR
|
|
|
138 |
JBIG2SRCDIR=jbig2dec
|
|
|
139 |
!endif
|
|
|
140 |
|
|
|
141 |
# Define the directory where the icclib source are stored.
|
|
|
142 |
# See icclib.mak for more information
|
|
|
143 |
|
|
|
144 |
ICCSRCDIR=icclib
|
|
|
145 |
|
|
|
146 |
# Define the directory where the ijs source is stored,
|
|
|
147 |
# and the process forking method to use for the server.
|
|
|
148 |
# See ijs.mak for more information.
|
|
|
149 |
|
|
|
150 |
IJSSRCDIR=ijs
|
|
|
151 |
IJSEXECTYPE=win
|
|
|
152 |
|
|
|
153 |
# Define any other compilation flags.
|
|
|
154 |
|
|
|
155 |
CFLAGS=
|
|
|
156 |
|
|
|
157 |
# ------ Platform-specific options ------ #
|
|
|
158 |
|
|
|
159 |
# Define the drive, directory, and compiler name for the Watcom C files.
|
|
|
160 |
# COMPDIR contains the compiler and linker.
|
|
|
161 |
# INCDIR contains the include files.
|
|
|
162 |
# LIBDIR contains the library files.
|
|
|
163 |
# COMP is the full C compiler path name.
|
|
|
164 |
# COMPCPP is the full C++ compiler path name.
|
|
|
165 |
# COMPAUX is the compiler name for DOS utilities.
|
|
|
166 |
# RCOMP is the resource compiler name.
|
|
|
167 |
# LINK is the full linker path name.
|
|
|
168 |
# Note that INCDIR and LIBDIR are always followed by a \,
|
|
|
169 |
# so if you want to use the current directory, use an explicit '.'.
|
|
|
170 |
|
|
|
171 |
COMPBASE=$(%WATCOM)
|
|
|
172 |
COMPDIR=$(COMPBASE)\binnt
|
|
|
173 |
INCDIR=$(COMPBASE)\h -i$(COMPBASE)\h\nt
|
|
|
174 |
LIBDIR=$(COMPBASE)\lib386;$(COMPBASE)\lib386\nt
|
|
|
175 |
COMP=$(COMPDIR)\wcc386
|
|
|
176 |
COMPCPP=$(COMPDIR)\wpp386
|
|
|
177 |
COMPAUX=$(COMPDIR)\wcc386
|
|
|
178 |
RCOMP=$(COMPDIR)\wrc
|
|
|
179 |
LINK=$(COMPDIR)\wlink
|
|
|
180 |
|
|
|
181 |
# Define the processor architecture. (always i386)
|
|
|
182 |
CPU_FAMILY=i386
|
|
|
183 |
|
|
|
184 |
# Define the processor (CPU) type. (386, 486 or 586)
|
|
|
185 |
CPU_TYPE=486
|
|
|
186 |
|
|
|
187 |
# Define the math coprocessor (FPU) type.
|
|
|
188 |
# Options are -1 (optimize for no FPU), 0 (optimize for FPU present,
|
|
|
189 |
# but do not require a FPU), 87, 287, or 387.
|
|
|
190 |
# If you have a 486 or Pentium CPU, you should normally set FPU_TYPE to 387,
|
|
|
191 |
# since most of these CPUs include the equivalent of an 80387 on-chip;
|
|
|
192 |
# however, the 486SX and the Cyrix 486SLC do not have an on-chip FPU, so if
|
|
|
193 |
# you have one of these CPUs and no external FPU, set FPU_TYPE to -1 or 0.
|
|
|
194 |
# An xx87 option means that the executable will run only if a FPU
|
|
|
195 |
# of that type (or higher) is available: this is NOT currently checked
|
|
|
196 |
# at runtime.
|
|
|
197 |
|
|
|
198 |
FPU_TYPE=387
|
|
|
199 |
|
|
|
200 |
# Define the .dev module that implements thread and synchronization
|
|
|
201 |
# primitives for this platform. Don't change this unless you really know
|
|
|
202 |
# what you're doing.
|
|
|
203 |
|
|
|
204 |
SYNC=winsync
|
|
|
205 |
|
|
|
206 |
# Do not edit the next group of lines.
|
|
|
207 |
NUL=
|
|
|
208 |
DD=$(GLGENDIR)\$(NUL)
|
|
|
209 |
GLD=$(GLGENDIR)\$(NUL)
|
|
|
210 |
PSD=$(PSGENDIR)\$(NUL)
|
|
|
211 |
|
|
|
212 |
# ------ Devices and features ------ #
|
|
|
213 |
|
|
|
214 |
# Choose the language feature(s) to include. See gs.mak for details.
|
|
|
215 |
|
|
|
216 |
FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev
|
|
|
217 |
|
|
|
218 |
# Choose whether to compile the .ps initialization files into the executable.
|
|
|
219 |
# See gs.mak for details.
|
|
|
220 |
|
|
|
221 |
COMPILE_INITS=0
|
|
|
222 |
|
|
|
223 |
# Choose whether to store band lists on files or in memory.
|
|
|
224 |
# The choices are 'file' or 'memory'.
|
|
|
225 |
|
|
|
226 |
BAND_LIST_STORAGE=file
|
|
|
227 |
|
|
|
228 |
# Choose which compression method to use when storing band lists in memory.
|
|
|
229 |
# The choices are 'lzw' or 'zlib'.
|
|
|
230 |
|
|
|
231 |
BAND_LIST_COMPRESSOR=zlib
|
|
|
232 |
|
|
|
233 |
# Choose the implementation of file I/O: 'stdio', 'fd', or 'both'.
|
|
|
234 |
# See gs.mak and sfxfd.c for more details.
|
|
|
235 |
|
|
|
236 |
FILE_IMPLEMENTATION=stdio
|
|
|
237 |
|
|
|
238 |
# Choose the implementation of stdio: '' for file I/O and 'c' for callouts
|
|
|
239 |
# See gs.mak and ziodevs.c/ziodevsc.c for more details.
|
|
|
240 |
|
|
|
241 |
STDIO_IMPLEMENTATION=c
|
|
|
242 |
|
|
|
243 |
# Choose the device(s) to include. See devs.mak for details,
|
|
|
244 |
# devs.mak and contrib.mak for the list of available devices.
|
|
|
245 |
|
|
|
246 |
DEVICE_DEVS=$(DD)display.dev $(DD)mswindll.dev $(DD)mswinpr2.dev
|
|
|
247 |
DEVICE_DEVS2=$(DD)epson.dev $(DD)eps9high.dev $(DD)eps9mid.dev $(DD)epsonc.dev $(DD)ibmpro.dev
|
|
|
248 |
DEVICE_DEVS3=$(DD)deskjet.dev $(DD)djet500.dev $(DD)laserjet.dev $(DD)ljetplus.dev $(DD)ljet2p.dev
|
|
|
249 |
DEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev
|
|
|
250 |
DEVICE_DEVS5=$(DD)djet500c.dev $(DD)declj250.dev $(DD)lj250.dev $(DD)jetp3852.dev $(DD)r4081.dev $(DD)lbp8.dev $(DD)uniprint.dev
|
|
|
251 |
DEVICE_DEVS6=$(DD)st800.dev $(DD)stcolor.dev $(DD)bj10e.dev $(DD)bj200.dev $(DD)m8510.dev $(DD)necp6.dev $(DD)bjc600.dev $(DD)bjc800.dev
|
|
|
252 |
DEVICE_DEVS7=$(DD)t4693d2.dev $(DD)t4693d4.dev $(DD)t4693d8.dev $(DD)tek4696.dev
|
|
|
253 |
DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
|
|
|
254 |
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
|
|
|
255 |
DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
|
|
|
256 |
DEVICE_DEVS11=$(DD)bmpmono.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
|
|
|
257 |
DEVICE_DEVS12=$(DD)psmono.dev $(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
|
|
|
258 |
DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev
|
|
|
259 |
DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
|
|
|
260 |
DEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)pswrite.dev $(DD)ps2write.dev $(DD)epswrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev
|
|
|
261 |
# Overflow for DEVS3,4,5,6,9
|
|
|
262 |
DEVICE_DEVS16=$(DD)ljet3.dev $(DD)ljet3d.dev $(DD)ljet4.dev $(DD)ljet4d.dev
|
|
|
263 |
DEVICE_DEVS17=$(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev
|
|
|
264 |
DEVICE_DEVS18=
|
|
|
265 |
DEVICE_DEVS19=
|
|
|
266 |
DEVICE_DEVS20=
|
|
|
267 |
|
|
|
268 |
# ---------------------------- End of options ---------------------------- #
|
|
|
269 |
|
|
|
270 |
# Define the name of the makefile -- used in dependencies.
|
|
|
271 |
|
|
|
272 |
MAKEFILE=$(PSSRCDIR)\watcw32.mak
|
|
|
273 |
TOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)\winlib.mak $(PSSRCDIR)\winint.mak
|
|
|
274 |
|
|
|
275 |
# Define the executable and shell invocations.
|
|
|
276 |
|
|
|
277 |
D=\\
|
|
|
278 |
|
|
|
279 |
EXP=
|
|
|
280 |
SH=
|
|
|
281 |
|
|
|
282 |
# Define the arguments for genconf.
|
|
|
283 |
|
|
|
284 |
CONFILES=-e ~ -p FILE~s~ps
|
|
|
285 |
CONFLDTR=-o
|
|
|
286 |
|
|
|
287 |
# Define the generic compilation flags.
|
|
|
288 |
|
|
|
289 |
PLATOPT=
|
|
|
290 |
|
|
|
291 |
INTASM=
|
|
|
292 |
PCFBASM=
|
|
|
293 |
|
|
|
294 |
# Make sure we get the right default target for make.
|
|
|
295 |
|
|
|
296 |
dosdefault: default
|
|
|
297 |
|
|
|
298 |
# Define the compilation flags.
|
|
|
299 |
|
|
|
300 |
!ifeq CPU_TYPE 586
|
|
|
301 |
CPFLAGS=-5s
|
|
|
302 |
!else
|
|
|
303 |
!ifeq CPU_TYPE 486
|
|
|
304 |
CPFLAGS=-4s
|
|
|
305 |
!else
|
|
|
306 |
!ifeq CPU_TYPE 386
|
|
|
307 |
CPFLAGS=-3s
|
|
|
308 |
!else
|
|
|
309 |
CPFLAGS=
|
|
|
310 |
!endif
|
|
|
311 |
!endif
|
|
|
312 |
!endif
|
|
|
313 |
|
|
|
314 |
!ifeq FPU_TYPE 586
|
|
|
315 |
FPFLAGS=-fp5
|
|
|
316 |
!else
|
|
|
317 |
!ifeq FPU_TYPE 486
|
|
|
318 |
FPFLAGS=-fp4
|
|
|
319 |
!else
|
|
|
320 |
!ifeq FPU_TYPE 386
|
|
|
321 |
FPFLAGS=-fp3
|
|
|
322 |
!else
|
|
|
323 |
FPFLAGS=
|
|
|
324 |
!endif
|
|
|
325 |
!endif
|
|
|
326 |
!endif
|
|
|
327 |
|
|
|
328 |
|
|
|
329 |
!ifneq NOPRIVATE 0
|
|
|
330 |
CP=/DNOPRIVATE
|
|
|
331 |
!else
|
|
|
332 |
CP=
|
|
|
333 |
!endif
|
|
|
334 |
|
|
|
335 |
!ifneq DEBUG 0
|
|
|
336 |
CD=-dDEBUG
|
|
|
337 |
!else
|
|
|
338 |
CD=
|
|
|
339 |
!endif
|
|
|
340 |
|
|
|
341 |
!ifneq TDEBUG 0
|
|
|
342 |
# What options should WATCOM use for $(CT) when debugging?
|
|
|
343 |
CT=-d2
|
|
|
344 |
LCT=DEBUG ALL
|
|
|
345 |
COMPILE_FULL_OPTIMIZED= # no optimization when debugging
|
|
|
346 |
COMPILE_WITH_FRAMES= # no optimization when debugging
|
|
|
347 |
COMPILE_WITHOUT_FRAMES= # no optimization when debugging
|
|
|
348 |
!else
|
|
|
349 |
CT=-d1
|
|
|
350 |
LCT=DEBUG LINES
|
|
|
351 |
COMPILE_FULL_OPTIMIZED=-oilmre -s
|
|
|
352 |
COMPILE_WITH_FRAMES=-of+
|
|
|
353 |
COMPILE_WITHOUT_FRAMES=-s
|
|
|
354 |
!endif
|
|
|
355 |
|
|
|
356 |
!ifneq DEBUG 0
|
|
|
357 |
CS=
|
|
|
358 |
!else
|
|
|
359 |
CS=-s
|
|
|
360 |
!endif
|
|
|
361 |
|
|
|
362 |
# Specify function prolog type
|
|
|
363 |
COMPILE_FOR_DLL=-bd
|
|
|
364 |
COMPILE_FOR_EXE=
|
|
|
365 |
COMPILE_FOR_CONSOLE_EXE=
|
|
|
366 |
|
|
|
367 |
GENOPT=-d+ $(CP) $(CD) $(CT) $(CS) -zq -zp8
|
|
|
368 |
|
|
|
369 |
CCFLAGS=$(PLATOPT) $(FPFLAGS) $(CPFLAGS) $(CFLAGS) $(XCFLAGS)
|
|
|
370 |
CC=$(COMP) $(CCFLAGS) @$(GLGENDIR)\ccf32.tr
|
|
|
371 |
CPP=$(COMPCPP) $(CCFLAGS) @$(GLGENDIR)\ccf32.tr
|
|
|
372 |
!ifneq MAKEDLL 0
|
|
|
373 |
WX=$(COMPILE_FOR_DLL)
|
|
|
374 |
!else
|
|
|
375 |
WX=$(COMPILE_FOR_EXE)
|
|
|
376 |
!endif
|
|
|
377 |
CC_WX=$(CC) $(WX)
|
|
|
378 |
CC_=$(CC_WX) $(COMPILE_FULL_OPTIMIZED)
|
|
|
379 |
CC_D=$(CC_WX) $(COMPILE_WITH_FRAMES)
|
|
|
380 |
CC_INT=$(CC)
|
|
|
381 |
CC_NO_WARN=$(CC_)
|
|
|
382 |
|
|
|
383 |
# No additional flags are needed for Windows compilation.
|
|
|
384 |
CCWINFLAGS=
|
|
|
385 |
|
|
|
386 |
# Compiler for auxiliary programs
|
|
|
387 |
|
|
|
388 |
CCAUX=$(COMPAUX) -I$(INCDIR) -otexan
|
|
|
389 |
|
|
|
390 |
# Define the files to be removed by `make clean'.
|
|
|
391 |
# nmake expands macros when encountered, not when used,
|
|
|
392 |
# so this must precede the !include statements.
|
|
|
393 |
|
|
|
394 |
BEGINFILES2=gsdll32.rex gswin32.rex gswin32c.rex
|
|
|
395 |
|
|
|
396 |
# Define the switches for the compilers.
|
|
|
397 |
|
|
|
398 |
C_=
|
|
|
399 |
O_=-fo=
|
|
|
400 |
RO_=$(O_)
|
|
|
401 |
|
|
|
402 |
# Include the generic makefiles.
|
|
|
403 |
|
|
|
404 |
!include $(GLSRCDIR)\version.mak
|
|
|
405 |
!include $(GLSRCDIR)\winlib.mak
|
|
|
406 |
!include $(PSSRCDIR)\winint.mak
|
|
|
407 |
|
|
|
408 |
# -------------------------- Auxiliary programs --------------------------- #
|
|
|
409 |
|
|
|
410 |
$(GLGENDIR)\ccf32.tr: $(TOP_MAKEFILES)
|
|
|
411 |
echo $(GENOPT) -I$(INCDIR) -DCHECK_INTERRUPTS -D_Windows -D__WIN32__ -D_WATCOM_ > $(GLGENDIR)\ccf32.tr
|
|
|
412 |
|
|
|
413 |
$(ECHOGS_XE): $(GLSRC)echogs.c
|
|
|
414 |
$(CCAUX) $(GLSRC)echogs.c $(O_)$(GLOBJ)echogs.obj
|
|
|
415 |
$(LINK) FILE $(GLOBJ)echogs.obj NAME $(ECHOGS_XE)
|
|
|
416 |
|
|
|
417 |
# Don't create genarch if it's not needed
|
|
|
418 |
!ifdef GENARCH_XE
|
|
|
419 |
$(GENARCH_XE): $(GLSRC)genarch.c $(GENARCH_DEPS) $(GLGENDIR)\ccf32.tr
|
|
|
420 |
$(CCAUX) $(GLSRC)genarch.c @$(GLGENDIR)\ccf32.tr $(O_)$(GLOBJ)genarch.obj
|
|
|
421 |
$(LINK) FILE $(GLOBJ)genarch.obj NAME $(GENARCH_XE)
|
|
|
422 |
!endif
|
|
|
423 |
|
|
|
424 |
$(GENCONF_XE): $(GLSRC)genconf.c $(GENCONF_DEPS)
|
|
|
425 |
$(CCAUX) $(GLSRC)genconf.c $(O_)$(GLOBJ)genconf.obj
|
|
|
426 |
$(LINK) FILE $(GLOBJ)genconf.obj NAME $(GENCONF_XE)
|
|
|
427 |
|
|
|
428 |
$(GENDEV_XE): $(GLSRC)gendev.c $(GENDEV_DEPS)
|
|
|
429 |
$(CCAUX) $(GLSRC)gendev.c $(O_)$(GLOBJ)gendev.obj
|
|
|
430 |
$(LINK) FILE $(GLOBJ)gendev.obj NAME $(GENDEV_XE)
|
|
|
431 |
|
|
|
432 |
$(GENHT_XE): $(GLSRC)genht.c $(GENHT_DEPS)
|
|
|
433 |
$(CCAUX) $(GENHT_CFLAGS) $(GLSRC)genht.c $(O_)$(GLOBJ)genht.obj
|
|
|
434 |
$(LINK) FILE $(GLOBJ)genht.obj NAME $(GENHT_XE)
|
|
|
435 |
|
|
|
436 |
# PSSRC and PSOBJ aren't defined yet, so we spell out the definitions.
|
|
|
437 |
$(GENINIT_XE): $(PSSRCDIR)$(D)geninit.c $(GENINIT_DEPS)
|
|
|
438 |
$(CCAUX) $(PSSRCDIR)$(D)geninit.c $(O_)$(PSOBJDIR)$(D)geninit.obj
|
|
|
439 |
$(LINK) FILE $(GLOBJ)geninit.obj NAME $(GENINIT_XE)
|
|
|
440 |
|
|
|
441 |
# -------------------------------- Library -------------------------------- #
|
|
|
442 |
|
|
|
443 |
# make sure the target directories exist - use special Watcom .BEFORE
|
|
|
444 |
# (This is not the best way to do this, but we will have to wait until
|
|
|
445 |
# the makefiles get disentangled to do it better.)
|
|
|
446 |
.BEFORE
|
|
|
447 |
@if not exist $(GLGENDIR) mkdir $(GLGENDIR)
|
|
|
448 |
@if not exist $(GLOBJDIR) mkdir $(GLOBJDIR)
|
|
|
449 |
@if not exist $(PSGENDIR) mkdir $(PSGENDIR)
|
|
|
450 |
@if not exist $(PSOBJDIR) mkdir $(PSOBJDIR)
|
|
|
451 |
@if not exist $(BINDIR) mkdir $(BINDIR)
|
|
|
452 |
|
|
|
453 |
# See winlib.mak
|
|
|
454 |
|
|
|
455 |
# ---------------------------- Watcom objects ----------------------------- #
|
|
|
456 |
|
|
|
457 |
$(GLOBJ)gp_mktmp.$(OBJ): $(GLSRC)gp_mktmp.c $(stat__h) $(string__h)
|
|
|
458 |
$(GLCC) $(GLO_)gp_mktmp.$(OBJ) $(C_) $(GLSRC)gp_mktmp.c
|
|
|
459 |
|
|
|
460 |
# ----------------------------- Main program ------------------------------ #
|
|
|
461 |
|
|
|
462 |
#LIBCTR=libc32.tr
|
|
|
463 |
LIBCTR=
|
|
|
464 |
|
|
|
465 |
GSCONSOLE_XE=$(BINDIR)\$(GSCONSOLE).exe
|
|
|
466 |
GSDLL_DLL=$(BINDIR)\$(GSDLL).dll
|
|
|
467 |
|
|
|
468 |
DWOBJLINK=$(PSOBJ)dwdll.obj, $(GLOBJ)dwimg.obj, $(PSOBJ)dwmain.obj, $(GLOBJ)dwtext.obj, $(PSOBJ)gscdefw.obj, $(PSOBJ)gp_wgetw.obj
|
|
|
469 |
DWOBJNOLINK= $(PSOBJ)dwnodll.obj, $(GLOBJ)dwimg.obj, $(PSOBJ)dwmain.obj, $(GLOBJ)dwtext.obj
|
|
|
470 |
OBJCLINK=$(PSOBJ)dwmainc.obj, $(PSOBJ)dwdllc.obj, $(PSOBJ)gscdefw.obj, $(PSOBJ)gp_wgetw.obj
|
|
|
471 |
OBJCNOLINK=$(PSOBJ)dwmainc.obj, $(PSOBJ)dwnodllc.obj
|
|
|
472 |
|
|
|
473 |
!ifneq MAKEDLL 0
|
|
|
474 |
|
|
|
475 |
# The non DLL compiles of the some modules also in the DLL
|
|
|
476 |
$(GLOBJ)gp_wgetw.$(OBJ): $(GLSRC)gp_wgetv.c $(AK) $(gscdefs_h)
|
|
|
477 |
$(CC) $(COMPILE_FOR_CONSOLE_EXE) $(GLCCFLAGS) $(CCWINFLAGS) $(I_)$(GLI_)$(_I) $(GLF_) $(GLO_)gp_wgetw.$(OBJ) $(C_) $(GLSRC)gp_wgetv.c
|
|
|
478 |
|
|
|
479 |
$(GLOBJ)gscdefw.$(OBJ): $(GLGEN)gscdefs.c $(AK) $(gscdefs_h)
|
|
|
480 |
$(CC) $(COMPILE_FOR_CONSOLE_EXE) $(GLCCFLAGS) $(CCWINFLAGS) $(I_)$(GLI_)$(_I) $(GLF_) $(GLO_)gscdefw.$(OBJ) $(C_) $(GLGEN)gscdefs.c
|
|
|
481 |
|
|
|
482 |
# The graphical small EXE loader
|
|
|
483 |
$(GS_XE): $(GSDLL_DLL) $(PSOBJ)$(GSDLL).lib $(DWOBJ) $(GSCONSOLE_XE) $(PSOBJ)$(GS).res \
|
|
|
484 |
$(GLOBJ)gp_wgetw.obj $(GLOBJ)gscdefw.obj
|
|
|
485 |
$(LINK) system nt_win $(LCT) Name $(GS_XE) File $(DWOBJLINK) Library $(PSOBJ)$(GSDLL).lib
|
|
|
486 |
|
|
|
487 |
# The console mode small EXE loader
|
|
|
488 |
$(GSCONSOLE_XE): $(OBJC) $(PSOBJ)$(GS).res $(PSSRCDIR)\dw32c.def \
|
|
|
489 |
$(GLOBJ)gp_wgetw.obj $(GLOBJ)gscdefw.obj
|
|
|
490 |
$(LINK) system nt option map $(LCT) Name $(GSCONSOLE_XE) File $(OBJCLINK) Library $(PSOBJ)$(GSDLL).lib
|
|
|
491 |
|
|
|
492 |
# The big DLL
|
|
|
493 |
$(GSDLL_DLL): $(GS_ALL) $(DEVS_ALL) $(PSOBJ)gsdll.$(OBJ) $(GLOBJ)gp_mktmp.obj $(PSOBJ)$(GSDLL).res
|
|
|
494 |
$(LINK) system nt_dll initinstance terminstance $(LCT) Name $(GSDLL_DLL) File $(GLOBJ)gsdll.obj, $(GLOBJ)gp_mktmp.obj @$(ld_tr) @$(PSSRC)gsdll32w.lnk
|
|
|
495 |
|
|
|
496 |
$(PSOBJ)$(GSDLL).lib: $(GSDLL_DLL)
|
|
|
497 |
erase $(PSOBJ)$(GSDLL).lib
|
|
|
498 |
wlib $(PSOBJ)$(GSDLL) +$(GSDLL_DLL)
|
|
|
499 |
|
|
|
500 |
!else
|
|
|
501 |
# The big graphical EXE
|
|
|
502 |
$(GS_XE): $(GSCONSOLE_XE) $(GS_ALL) $(DEVS_ALL) $(PSOBJ)gsdll.$(OBJ) $(GLOBJ)gp_mktmp.obj $(DWOBJNO) $(PSOBJ)$(GS).res $(PSOBJ)dwmain32.def
|
|
|
503 |
$(LINK) option map $(LCT) Name $(GS) File $(GLOBJ)gsdll,$(GLOBJ)gp_mktmp.obj, $(DWOBJNOLINK) @$(ld_tr)
|
|
|
504 |
|
|
|
505 |
# The big console mode EXE
|
|
|
506 |
$(GSCONSOLE_XE): $(GS_ALL) $(DEVS_ALL) $(PSOBJ)gsdll.$(OBJ) $(GLOBJ)gp_mktmp.obj $(OBJCNO) $(PSOBJ)$(GS).res $(PSSRCDIR)\dw32c.def
|
|
|
507 |
$(LINK) option map $(LCT) Name $(GSCONSOLE_XE) File $(GLOBJ)gsdll, $(GLOBJ)gp_mktmp.obj, $(OBJCNOLINK) @$(ld_tr)
|
|
|
508 |
!endif
|
|
|
509 |
|
|
|
510 |
# end of makefile
|