Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6725 siemargl 1
#                                               1 March 2009.  SMS.
2
#
3
#    UnZip 6.0 for VMS - MMS (or MMK) Source Description File.
4
#
5
 
6
# This description file is included by other description files.  It is
7
# not intended to be used alone.  Verify proper inclusion.
8
 
9
.IFDEF INCL_DESCRIP_SRC
10
.ELSE
11
$$$$ THIS DESCRIPTION FILE IS NOT INTENDED TO BE USED THIS WAY.
12
.ENDIF
13
 
14
 
15
# Define MMK architecture macros when using MMS.
16
 
17
.IFDEF __MMK__                  # __MMK__
18
.ELSE                           # __MMK__
19
ALPHA_X_ALPHA = 1
20
IA64_X_IA64 = 1
21
VAX_X_VAX = 1
22
.IFDEF $(MMS$ARCH_NAME)_X_ALPHA     # $(MMS$ARCH_NAME)_X_ALPHA
23
__ALPHA__ = 1
24
.ENDIF                              # $(MMS$ARCH_NAME)_X_ALPHA
25
.IFDEF $(MMS$ARCH_NAME)_X_IA64      # $(MMS$ARCH_NAME)_X_IA64
26
__IA64__ = 1
27
.ENDIF                              # $(MMS$ARCH_NAME)_X_IA64
28
.IFDEF $(MMS$ARCH_NAME)_X_VAX       # $(MMS$ARCH_NAME)_X_VAX
29
__VAX__ = 1
30
.ENDIF                              # $(MMS$ARCH_NAME)_X_VAX
31
.ENDIF                          # __MMK__
32
 
33
# Combine command-line VAX C compiler macros.
34
 
35
.IFDEF VAXC                     # VAXC
36
VAXC_OR_FORCE_VAXC = 1
37
.ELSE                           # VAXC
38
.IFDEF FORCE_VAXC                   # FORCE_VAXC
39
VAXC_OR_FORCE_VAXC = 1
40
.ENDIF                              # FORCE_VAXC
41
.ENDIF                          # VAXC
42
 
43
# Analyze architecture-related and option macros.
44
 
45
.IFDEF __ALPHA__                # __ALPHA__
46
DECC = 1
47
DESTM = ALPHA
48
.ELSE                           # __ALPHA__
49
.IFDEF __IA64__                     # __IA64__
50
DECC = 1
51
DESTM = IA64
52
.ELSE                               # __IA64__
53
.IFDEF __VAX__                          # __VAX__
54
.IFDEF VAXC_OR_FORCE_VAXC                   # VAXC_OR_FORCE_VAXC
55
DESTM = VAXV
56
.ELSE                                       # VAXC_OR_FORCE_VAXC
57
.IFDEF GNUC                                     # GNUC
58
CC = GCC
59
DESTM = VAXG
60
.ELSE                                           # GNUC
61
DECC = 1
62
DESTM = VAX
63
.ENDIF                                          # GNUC
64
.ENDIF                                      # VAXC_OR_FORCE_VAXC
65
.ELSE                                   # __VAX__
66
DESTM = UNK
67
UNK_DEST = 1
68
.ENDIF                                  # __VAX__
69
.ENDIF                              # __IA64__
70
.ENDIF                          # __ALPHA__
71
 
72
.IFDEF LARGE                    # LARGE
73
.IFDEF __VAX__                      # __VAX__
74
.ELSE                               # __VAX__
75
DESTL = L
76
.ENDIF                              # __VAX__
77
.ENDIF                          # LARGE
78
 
79
DEST = $(DESTM)$(DESTL)
80
SEEK_BZ = $(DESTM)
81
 
82
# Library module name suffix for XXX_.OBJ with GNU C.
83
 
84
.IFDEF GNUC                     # GNUC
85
GCC_ = _
86
.ELSE                           # GNUC
87
GCC_ =
88
.ENDIF                          # GNUC
89
 
90
# Check for option problems.
91
 
92
.IFDEF __VAX__                  # __VAX__
93
.IFDEF LARGE                        # LARGE
94
LARGE_VAX = 1
95
.ENDIF                              # LARGE
96
.IFDEF VAXC_OR_FORCE_VAXC           # VAXC_OR_FORCE_VAXC
97
.IFDEF GNUC                             # GNUC
98
VAX_MULTI_CMPL = 1
99
.ENDIF                                  # GNUC
100
.ENDIF                              # VAXC_OR_FORCE_VAXC
101
.ELSE                           # __VAX__
102
.IFDEF VAXC_OR_FORCE_VAXC           # VAXC_OR_FORCE_VAXC
103
NON_VAX_CMPL = 1
104
.ELSE                               # VAXC_OR_FORCE_VAXC
105
.IFDEF GNUC                             # GNUC
106
NON_VAX_CMPL = 1
107
.ENDIF                                  # GNUC
108
.ENDIF                              # VAXC_OR_FORCE_VAXC
109
.ENDIF                          # __VAX__
110
 
111
# Shortcut to include BZIP2 support from the optional bzip2 source subdir
112
# in the UnZip source location.
113
 
114
BZ2DIR_BIN = SYS$DISK:[.BZIP2.$(DESTM)]
115
BZ2_OLB = LIBBZ2_NS.OLB
116
LIB_BZ2_LOCAL = $(BZ2DIR_BIN)$(BZ2_OLB)
117
 
118
.IFDEF USEBZ2                   # USEBZ2
119
.IFDEF IZ_BZIP2                     # IZ_BZIP2
120
.ELSE                               # IZ_BZIP2
121
IZ_BZIP2 = SYS$DISK:[.BZIP2]
122
LIB_BZ2_DEP = $(LIB_BZ2_LOCAL)
123
BUILD_BZIP2 = 1
124
.ENDIF                              # IZ_BZIP2
125
.ENDIF                          # USEBZ2
126
 
127
# Complain about any problems (and die) if warranted.  Otherwise, show
128
# optional package directories being used, and the destination
129
# directory.  Make the destination directory, if necessary.
130
 
131
.FIRST
132
.IFDEF __MMK__                  # __MMK__
133
	@ write sys$output ""
134
.ENDIF                          # __MMK__
135
.IFDEF UNK_DEST                 # UNK_DEST
136
	@ write sys$output -
137
 "   Unknown system architecture."
138
.IFDEF __MMK__                      # __MMK__
139
	@ write sys$output -
140
 "   MMK on IA64?  Try adding ""/MACRO = __IA64__""."
141
.ELSE                               # __MMK__
142
	@ write sys$output -
143
 "   MMS too old?  Try adding ""/MACRO = MMS$ARCH_NAME=ALPHA"","
144
	@ write sys$output -
145
 "   or ""/MACRO = MMS$ARCH_NAME=IA64"", or ""/MACRO = MMS$ARCH_NAME=VAX"","
146
	@ write sys$output -
147
 "   as appropriate.  (Or try a newer version of MMS.)"
148
.ENDIF                              # __MMK__
149
	@ write sys$output ""
150
	I_WILL_DIE_NOW.  /$$$$INVALID$$$$
151
.ELSE                           # UNK_DEST
152
.IFDEF VAX_MULTI_CMPL               # VAX_MULTI_CMPL
153
	@ write sys$output -
154
 "   Macro ""GNUC"" is incompatible with ""VAXC"" or ""FORCE_VAXC""."
155
	@ write sys$output ""
156
	I_WILL_DIE_NOW.  /$$$$INVALID$$$$
157
.ELSE                               # VAX_MULTI_CMPL
158
.IFDEF NON_VAX_CMPL                     # NON_VAX_CMPL
159
	@ write sys$output -
160
 "   Macros ""GNUC"", ""VAXC"", and ""FORCE_VAXC"" are valid only on VAX."
161
	@ write sys$output ""
162
	I_WILL_DIE_NOW.  /$$$$INVALID$$$$
163
.ELSE                                   # NON_VAX_CMPL
164
.IFDEF LARGE_VAX                            # LARGE_VAX
165
	@ write sys$output -
166
 "   Macro ""LARGE"" is invalid on VAX."
167
	@ write sys$output ""
168
	I_WILL_DIE_NOW.  /$$$$INVALID$$$$
169
.ELSE                                       # LARGE_VAX
170
.IFDEF IZ_BZIP2                                 # IZ_BZIP2
171
.IFDEF BUILD_BZIP2                                  # BUILD_BZIP2
172
	@ if (f$search( "$(IZ_BZIP2)bzlib.h") .eqs. "") then -
173
	   write sys$output "   Can not find header file $(IZ_BZIP2)bzlib.h"
174
	@ if (f$search( "$(IZ_BZIP2)bzlib.h") .eqs. "") then -
175
	   write sys$output ""
176
	@ if (f$search( "$(IZ_BZIP2)bzlib.h") .eqs. "") then -
177
	   I_WILL_DIE_NOW.  /$$$$INVALID$$$$
178
	@ write sys$output "   BZIP2 dir: $(BZ2DIR_BIN)"
179
	@ define lib_bzip2 $(BZ2DIR_BIN)
180
	@ if (f$search( "$(IZ_BZIP2)$(DESTM).dir") .eqs. "") then -
181
	   create /directory $(BZ2DIR_BIN)
182
.ELSE                                               # BUILD_BZIP2
183
	@ @[.VMS]FIND_BZIP2_LIB.COM $(IZ_BZIP2) $(SEEK_BZ) $(BZ2_OLB) lib_bzip2
184
	@ if (f$trnlnm( "lib_bzip2") .eqs. "") then -
185
	   write sys$output "   Can not find BZIP2 object library."
186
	@ if (f$trnlnm( "lib_bzip2") .eqs. "") then -
187
	   write sys$output ""
188
	@ if (f$trnlnm( "lib_bzip2") .eqs. "") then -
189
	   I_WILL_DIE_NOW.  /$$$$INVALID$$$$
190
	@ write sys$output "   BZIP2 dir: ''f$trnlnm( "lib_bzip2")'"
191
.ENDIF                                              # BUILD_BZIP2
192
	@ write sys$output ""
193
	@ define incl_bzip2 $(IZ_BZIP2)
194
.ENDIF                                          # IZ_BZIP2
195
.IFDEF IZ_ZLIB                                  # IZ_ZLIB
196
	@ @[.VMS]FIND_BZIP2_LIB.COM $(IZ_ZLIB) $(SEEK_BZ) LIBZ.OLB lib_zlib
197
	@ if (f$trnlnm( "lib_zlib") .eqs. "") then -
198
	   write sys$output "   Can not find ZLIB object library."
199
	@ if (f$trnlnm( "lib_zlib") .eqs. "") then -
200
	   write sys$output ""
201
	@ if (f$trnlnm( "lib_zlib") .eqs. "") then -
202
	   I_WILL_DIE_NOW.  /$$$$INVALID$$$$
203
	@ write sys$output "   ZLIB dir:  ''f$trnlnm( "lib_zlib")'"
204
	@ write sys$output ""
205
	@ define incl_zlib $(IZ_ZLIB)
206
	@ @[.VMS]FIND_BZIP2_LIB.COM $(IZ_ZLIB) -
207
	   contrib.infback9 infback9.h incl_zlib_contrib_infback9
208
.ENDIF                                          # IZ_ZLIB
209
	@ write sys$output "   Destination: [.$(DEST)]"
210
	@ write sys$output ""
211
	if (f$search( "$(DEST).DIR;1") .eqs. "") then -
212
	 create /directory [.$(DEST)]
213
.ENDIF                                      # LARGE_VAX
214
.ENDIF                                  # NON_VAX_CMPL
215
.ENDIF                              # VAX_MULTI_CMPL
216
.ENDIF                          # UNK_DEST
217
 
218
# BZIP2 options.
219
 
220
.IFDEF IZ_BZIP2                 # IZ_BZIP2
221
CDEFS_BZ = , USE_BZIP2
222
CFLAGS_INCL = /include = ([], [.VMS])
223
LIB_BZIP2_OPTS = lib_bzip2:$(BZ2_OLB) /library,
224
.ENDIF                          # IZ_BZIP2
225
 
226
# ZLIB options.
227
 
228
.IFDEF IZ_ZLIB                  # IZ_ZLIB
229
CDEFS_ZL = , USE_ZLIB
230
.IFDEF CFLAGS_INCL                  # CFLAGS_INCL
231
.ELSE                               # CFLAGS_INCL
232
CFLAGS_INCL = /include = ([], [.VMS])
233
.ENDIF                              # CFLAGS_INCL
234
LIB_ZLIB_OPTS = LIB_ZLIB:LIBZ.OLB /library,
235
.ELSE                           # IZ_ZLIB
236
.IFDEF CFLAGS_INCL                  # CFLAGS_INCL
237
.ELSE                               # CFLAGS_INCL
238
CFLAGS_INCL = /include = []
239
.ENDIF                              # CFLAGS_INCL
240
.ENDIF                          # IZ_ZLIB
241
 
242
# DBG options.
243
 
244
.IFDEF DBG                      # DBG
245
CFLAGS_DBG = /debug /nooptimize
246
LINKFLAGS_DBG = /debug /traceback
247
.ELSE                           # DBG
248
CFLAGS_DBG =
249
LINKFLAGS_DBG = /notraceback
250
.ENDIF                          # DBG
251
 
252
# Large-file options.
253
 
254
.IFDEF LARGE                    # LARGE
255
CDEFS_LARGE = , LARGE_FILE_SUPPORT
256
.ENDIF                          # LARGE
257
 
258
# C compiler defines.
259
 
260
.IFDEF LOCAL_UNZIP
261
C_LOCAL_UNZIP = , $(LOCAL_UNZIP)
262
.ENDIF
263
 
264
CDEFS = VMS $(CDEFS_BZ) $(CDEFS_LARGE) $(CDEFS_ZL) $(C_LOCAL_UNZIP)
265
 
266
CDEFS_UNX = /define = ($(CDEFS))
267
 
268
CDEFS_CLI = /define = ($(CDEFS), VMSCLI)
269
 
270
CDEFS_SFX = /define = ($(CDEFS), SFX)
271
 
272
CDEFS_SFX_CLI = /define = ($(CDEFS), SFX, VMSCLI)
273
 
274
# Other C compiler options.
275
 
276
.IFDEF DECC                             # DECC
277
CFLAGS_ARCH = /decc /prefix = (all)
278
.ELSE                                   # DECC
279
.IFDEF FORCE_VAXC                           # FORCE_VAXC
280
CFLAGS_ARCH = /vaxc
281
.IFDEF VAXC                                     # VAXC
282
.ELSE                                           # VAXC
283
VAXC = 1
284
.ENDIF                                          # VAXC
285
.ELSE                                       # FORCE_VAXC
286
CFLAGS_ARCH =
287
.ENDIF                                      # FORCE_VAXC
288
.ENDIF                                  # DECC
289
 
290
# LINK (share) library options.
291
# Omit shareable image options file for NOSHARE.
292
 
293
.IFDEF VAXC_OR_FORCE_VAXC               # VAXC_OR_FORCE_VAXC
294
.IFDEF NOSHARE                              # NOSHARE
295
OPT_FILE =
296
LFLAGS_ARCH =
297
.ELSE                                       # NOSHARE
298
OPT_FILE = [.$(DEST)]VAXCSHR.OPT
299
LFLAGS_ARCH = $(OPT_FILE) /options,
300
.ENDIF                                      # NOSHARE
301
.ELSE                                   # VAXC_OR_FORCE_VAXC
302
.IFDEF GNUC                                 # GNUC
303
LFLAGS_GNU = GNU_CC:[000000]GCCLIB.OLB /LIBRARY
304
.IFDEF NOSHARE                                  # NOSHARE
305
OPT_FILE =
306
LFLAGS_ARCH = $(LFLAGS_GNU),
307
.ELSE                                           # NOSHARE
308
OPT_FILE = [.$(DEST)]VAXCSHR.OPT
309
LFLAGS_ARCH = $(LFLAGS_GNU), SYS$DISK:$(OPT_FILE) /options,
310
.ENDIF                                          # NOSHARE
311
.ELSE                                       # GNUC
312
OPT_FILE =
313
LFLAGS_ARCH =
314
.ENDIF                                      # GNUC
315
.ENDIF                                  # VAXC_OR_FORCE_VAXC
316
 
317
# LINK NOSHARE options.
318
 
319
.IFDEF NOSHARE                  # NOSHARE
320
.IFDEF __ALPHA__                    # __ALPHA__
321
NOSHARE_OPTS = , SYS$LIBRARY:STARLET.OLB /LIBRARY\
322
 /INCLUDE = CMA$TIS /NOSYSSHR
323
.ELSE                               # __ALPHA__
324
.IFDEF __IA64__                         # __IA64__
325
NOSHARE_OPTS = , SYS$LIBRARY:STARLET.OLB /LIBRARY\
326
 /INCLUDE = CMA$TIS /NOSYSSHR
327
.ELSE                                   # __IA64__
328
OLDVAX_OLDVAX = 1
329
.IFDEF DECC                                 # DECC
330
.IFDEF OLDVAX_$(NOSHARE)                        # OLDVAX_$(NOSHARE)
331
NOSHARE_OPTS = , SYS$LIBRARY:DECCRTL.OLB /LIBRARY\
332
 /INCLUDE = CMA$TIS /NOSYSSHR
333
.ELSE                                           # OLDVAX_$(NOSHARE)
334
NOSHARE_OPTS = , SYS$LIBRARY:DECCRTL.OLB /LIBRARY\
335
 /INCLUDE = (CMA$TIS, CMA$TIS_VEC) /NOSYSSHR
336
.ENDIF                                          # OLDVAX_$(NOSHARE)
337
.ELSE                                       # DECC
338
.IFDEF OLDVAX_$(NOSHARE)                        # OLDVAX_$(NOSHARE)
339
NOSHARE_OPTS = , SYS$LIBRARY:VAXCRTL.OLB /LIBRARY,\
340
 SYS$LIBRARY:IMAGELIB.OLB /LIBRARY /NOSYSSHR
341
.ELSE                                           # OLDVAX_$(NOSHARE)
342
NOSHARE_OPTS = , SYS$LIBRARY:VAXCRTL.OLB /LIBRARY,\
343
 SYS$LIBRARY:DECCRTL.OLB /LIBRARY /INCLUDE = CMA$TIS,\
344
 SYS$LIBRARY:IMAGELIB.OLB /LIBRARY /NOSYSSHR
345
.ENDIF                                          # OLDVAX_$(NOSHARE)
346
.ENDIF                                      # DECC
347
.ENDIF                                  # __IA64__
348
.ENDIF                              # __ALPHA__
349
.ELSE                           # NOSHARE
350
NOSHARE_OPTS =
351
.ENDIF                          # NOSHARE
352
 
353
# LIST options.
354
 
355
.IFDEF LIST                     # LIST
356
.IFDEF DECC                         # DECC
357
CFLAGS_LIST = /list = $*.LIS /show = (all, nomessages)
358
.ELSE                               # DECC
359
CFLAGS_LIST = /list = $*.LIS /show = (all)
360
.ENDIF                              # DECC
361
LINKFLAGS_LIST = /map = $*.MAP /cross_reference /full
362
.ELSE                           # LIST
363
CFLAGS_LIST =
364
LINKFLAGS_LIST =
365
.ENDIF                          # LIST
366
 
367
# Common CFLAGS and LINKFLAGS.
368
 
369
CFLAGS = \
370
 $(CFLAGS_ARCH) $(CFLAGS_DBG) $(CFLAGS_INCL) $(CFLAGS_LIST) $(CCOPTS) \
371
 /object = $(MMS$TARGET)
372
 
373
LINKFLAGS = \
374
 $(LINKFLAGS_DBG) $(LINKFLAGS_LIST) $(LINKOPTS) \
375
 /executable = $(MMS$TARGET)
376
 
377
# Object library module=object lists.
378
 
379
#    Primary object library, [].
380
 
381
MODS_OBJS_LIB_UNZIP_N = \
382
 CRC32=[.$(DEST)]CRC32.OBJ \
383
 CRYPT=[.$(DEST)]CRYPT.OBJ \
384
 ENVARGS=[.$(DEST)]ENVARGS.OBJ \
385
 EXPLODE=[.$(DEST)]EXPLODE.OBJ \
386
 EXTRACT=[.$(DEST)]EXTRACT.OBJ \
387
 FILEIO=[.$(DEST)]FILEIO.OBJ \
388
 GLOBALS=[.$(DEST)]GLOBALS.OBJ \
389
 INFLATE=[.$(DEST)]INFLATE.OBJ \
390
 LIST=[.$(DEST)]LIST.OBJ \
391
 MATCH=[.$(DEST)]MATCH.OBJ \
392
 PROCESS=[.$(DEST)]PROCESS.OBJ \
393
 TTYIO=[.$(DEST)]TTYIO.OBJ \
394
 UBZ2ERR=[.$(DEST)]UBZ2ERR.OBJ \
395
 UNREDUCE=[.$(DEST)]UNREDUCE.OBJ \
396
 UNSHRINK=[.$(DEST)]UNSHRINK.OBJ \
397
 ZIPINFO=[.$(DEST)]ZIPINFO.OBJ
398
 
399
#    Primary object library, [.VMS].
400
 
401
MODS_OBJS_LIB_UNZIP_V = \
402
 VMS=[.$(DEST)]VMS.OBJ
403
 
404
MODS_OBJS_LIB_UNZIP = $(MODS_OBJS_LIB_UNZIP_N) $(MODS_OBJS_LIB_UNZIP_V)
405
 
406
#    CLI object library, [.VMS].
407
 
408
MODS_OBJS_LIB_UNZIPCLI_C_V = \
409
 CMDLINE=[.$(DEST)]CMDLINE.OBJ
410
 
411
MODS_OBJS_LIB_UNZIPCLI_CLD_V = \
412
 VMS_UNZIP_CLD=[.$(DEST)]UNZ_CLI.OBJ
413
 
414
MODS_OBJS_LIB_UNZIP_CLI = \
415
 $(MODS_OBJS_LIB_UNZIPCLI_C_V) \
416
 $(MODS_OBJS_LIB_UNZIPCLI_CLD_V)
417
 
418
# SFX object library, [].
419
 
420
MODS_OBJS_LIB_UNZIPSFX_N = \
421
 CRC32$(GCC_)=[.$(DEST)]CRC32_.OBJ \
422
 CRYPT$(GCC_)=[.$(DEST)]CRYPT_.OBJ \
423
 EXTRACT$(GCC_)=[.$(DEST)]EXTRACT_.OBJ \
424
 FILEIO$(GCC_)=[.$(DEST)]FILEIO_.OBJ \
425
 GLOBALS$(GCC_)=[.$(DEST)]GLOBALS_.OBJ \
426
 INFLATE$(GCC_)=[.$(DEST)]INFLATE_.OBJ \
427
 MATCH$(GCC_)=[.$(DEST)]MATCH_.OBJ \
428
 PROCESS$(GCC_)=[.$(DEST)]PROCESS_.OBJ \
429
 TTYIO$(GCC_)=[.$(DEST)]TTYIO_.OBJ \
430
 UBZ2ERR$(GCC_)=[.$(DEST)]UBZ2ERR_.OBJ
431
 
432
# SFX object library, [.VMS].
433
 
434
MODS_OBJS_LIB_UNZIPSFX_V = \
435
 VMS$(GCC_)=[.$(DEST)]VMS_.OBJ
436
 
437
MODS_OBJS_LIB_UNZIPSFX = \
438
 $(MODS_OBJS_LIB_UNZIPSFX_N) \
439
 $(MODS_OBJS_LIB_UNZIPSFX_V)
440
 
441
# SFX object library, [.VMS] (no []).
442
 
443
MODS_OBJS_LIB_UNZIPSFX_CLI_C_V = \
444
 CMDLINE$(GCC_)=[.$(DEST)]CMDLINE_.OBJ
445
 
446
MODS_OBJS_LIB_UNZIPSFX_CLI_CLD_V = \
447
 VMS_UNZIP_CLD=[.$(DEST)]UNZ_CLI.OBJ
448
 
449
MODS_OBJS_LIB_UNZIPSFX_CLI = \
450
 $(MODS_OBJS_LIB_UNZIPSFX_CLI_C_V) \
451
 $(MODS_OBJS_LIB_UNZIPSFX_CLI_CLD_V)
452
 
453
# Executables.
454
 
455
UNZIP = [.$(DEST)]UNZIP.EXE
456
 
457
UNZIP_CLI = [.$(DEST)]UNZIP_CLI.EXE
458
 
459
UNZIPSFX = [.$(DEST)]UNZIPSFX.EXE
460
 
461
UNZIPSFX_CLI = [.$(DEST)]UNZIPSFX_CLI.EXE
462