source: unzip/vendor/current/vms/descrip_src.mms@ 200

Last change on this file since 200 was 200, checked in by Yuri Dario, 14 years ago

zip: initial unzip 6.0 import.

File size: 15.2 KB
Line 
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__
19ALPHA_X_ALPHA = 1
20IA64_X_IA64 = 1
21VAX_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
36VAXC_OR_FORCE_VAXC = 1
37.ELSE # VAXC
38.IFDEF FORCE_VAXC # FORCE_VAXC
39VAXC_OR_FORCE_VAXC = 1
40.ENDIF # FORCE_VAXC
41.ENDIF # VAXC
42
43# Analyze architecture-related and option macros.
44
45.IFDEF __ALPHA__ # __ALPHA__
46DECC = 1
47DESTM = ALPHA
48.ELSE # __ALPHA__
49.IFDEF __IA64__ # __IA64__
50DECC = 1
51DESTM = IA64
52.ELSE # __IA64__
53.IFDEF __VAX__ # __VAX__
54.IFDEF VAXC_OR_FORCE_VAXC # VAXC_OR_FORCE_VAXC
55DESTM = VAXV
56.ELSE # VAXC_OR_FORCE_VAXC
57.IFDEF GNUC # GNUC
58CC = GCC
59DESTM = VAXG
60.ELSE # GNUC
61DECC = 1
62DESTM = VAX
63.ENDIF # GNUC
64.ENDIF # VAXC_OR_FORCE_VAXC
65.ELSE # __VAX__
66DESTM = UNK
67UNK_DEST = 1
68.ENDIF # __VAX__
69.ENDIF # __IA64__
70.ENDIF # __ALPHA__
71
72.IFDEF LARGE # LARGE
73.IFDEF __VAX__ # __VAX__
74.ELSE # __VAX__
75DESTL = L
76.ENDIF # __VAX__
77.ENDIF # LARGE
78
79DEST = $(DESTM)$(DESTL)
80SEEK_BZ = $(DESTM)
81
82# Library module name suffix for XXX_.OBJ with GNU C.
83
84.IFDEF GNUC # GNUC
85GCC_ = _
86.ELSE # GNUC
87GCC_ =
88.ENDIF # GNUC
89
90# Check for option problems.
91
92.IFDEF __VAX__ # __VAX__
93.IFDEF LARGE # LARGE
94LARGE_VAX = 1
95.ENDIF # LARGE
96.IFDEF VAXC_OR_FORCE_VAXC # VAXC_OR_FORCE_VAXC
97.IFDEF GNUC # GNUC
98VAX_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
103NON_VAX_CMPL = 1
104.ELSE # VAXC_OR_FORCE_VAXC
105.IFDEF GNUC # GNUC
106NON_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
114BZ2DIR_BIN = SYS$DISK:[.BZIP2.$(DESTM)]
115BZ2_OLB = LIBBZ2_NS.OLB
116LIB_BZ2_LOCAL = $(BZ2DIR_BIN)$(BZ2_OLB)
117
118.IFDEF USEBZ2 # USEBZ2
119.IFDEF IZ_BZIP2 # IZ_BZIP2
120.ELSE # IZ_BZIP2
121IZ_BZIP2 = SYS$DISK:[.BZIP2]
122LIB_BZ2_DEP = $(LIB_BZ2_LOCAL)
123BUILD_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
221CDEFS_BZ = , USE_BZIP2
222CFLAGS_INCL = /include = ([], [.VMS])
223LIB_BZIP2_OPTS = lib_bzip2:$(BZ2_OLB) /library,
224.ENDIF # IZ_BZIP2
225
226# ZLIB options.
227
228.IFDEF IZ_ZLIB # IZ_ZLIB
229CDEFS_ZL = , USE_ZLIB
230.IFDEF CFLAGS_INCL # CFLAGS_INCL
231.ELSE # CFLAGS_INCL
232CFLAGS_INCL = /include = ([], [.VMS])
233.ENDIF # CFLAGS_INCL
234LIB_ZLIB_OPTS = LIB_ZLIB:LIBZ.OLB /library,
235.ELSE # IZ_ZLIB
236.IFDEF CFLAGS_INCL # CFLAGS_INCL
237.ELSE # CFLAGS_INCL
238CFLAGS_INCL = /include = []
239.ENDIF # CFLAGS_INCL
240.ENDIF # IZ_ZLIB
241
242# DBG options.
243
244.IFDEF DBG # DBG
245CFLAGS_DBG = /debug /nooptimize
246LINKFLAGS_DBG = /debug /traceback
247.ELSE # DBG
248CFLAGS_DBG =
249LINKFLAGS_DBG = /notraceback
250.ENDIF # DBG
251
252# Large-file options.
253
254.IFDEF LARGE # LARGE
255CDEFS_LARGE = , LARGE_FILE_SUPPORT
256.ENDIF # LARGE
257
258# C compiler defines.
259
260.IFDEF LOCAL_UNZIP
261C_LOCAL_UNZIP = , $(LOCAL_UNZIP)
262.ENDIF
263
264CDEFS = VMS $(CDEFS_BZ) $(CDEFS_LARGE) $(CDEFS_ZL) $(C_LOCAL_UNZIP)
265
266CDEFS_UNX = /define = ($(CDEFS))
267
268CDEFS_CLI = /define = ($(CDEFS), VMSCLI)
269
270CDEFS_SFX = /define = ($(CDEFS), SFX)
271
272CDEFS_SFX_CLI = /define = ($(CDEFS), SFX, VMSCLI)
273
274# Other C compiler options.
275
276.IFDEF DECC # DECC
277CFLAGS_ARCH = /decc /prefix = (all)
278.ELSE # DECC
279.IFDEF FORCE_VAXC # FORCE_VAXC
280CFLAGS_ARCH = /vaxc
281.IFDEF VAXC # VAXC
282.ELSE # VAXC
283VAXC = 1
284.ENDIF # VAXC
285.ELSE # FORCE_VAXC
286CFLAGS_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
295OPT_FILE =
296LFLAGS_ARCH =
297.ELSE # NOSHARE
298OPT_FILE = [.$(DEST)]VAXCSHR.OPT
299LFLAGS_ARCH = $(OPT_FILE) /options,
300.ENDIF # NOSHARE
301.ELSE # VAXC_OR_FORCE_VAXC
302.IFDEF GNUC # GNUC
303LFLAGS_GNU = GNU_CC:[000000]GCCLIB.OLB /LIBRARY
304.IFDEF NOSHARE # NOSHARE
305OPT_FILE =
306LFLAGS_ARCH = $(LFLAGS_GNU),
307.ELSE # NOSHARE
308OPT_FILE = [.$(DEST)]VAXCSHR.OPT
309LFLAGS_ARCH = $(LFLAGS_GNU), SYS$DISK:$(OPT_FILE) /options,
310.ENDIF # NOSHARE
311.ELSE # GNUC
312OPT_FILE =
313LFLAGS_ARCH =
314.ENDIF # GNUC
315.ENDIF # VAXC_OR_FORCE_VAXC
316
317# LINK NOSHARE options.
318
319.IFDEF NOSHARE # NOSHARE
320.IFDEF __ALPHA__ # __ALPHA__
321NOSHARE_OPTS = , SYS$LIBRARY:STARLET.OLB /LIBRARY\
322 /INCLUDE = CMA$TIS /NOSYSSHR
323.ELSE # __ALPHA__
324.IFDEF __IA64__ # __IA64__
325NOSHARE_OPTS = , SYS$LIBRARY:STARLET.OLB /LIBRARY\
326 /INCLUDE = CMA$TIS /NOSYSSHR
327.ELSE # __IA64__
328OLDVAX_OLDVAX = 1
329.IFDEF DECC # DECC
330.IFDEF OLDVAX_$(NOSHARE) # OLDVAX_$(NOSHARE)
331NOSHARE_OPTS = , SYS$LIBRARY:DECCRTL.OLB /LIBRARY\
332 /INCLUDE = CMA$TIS /NOSYSSHR
333.ELSE # OLDVAX_$(NOSHARE)
334NOSHARE_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)
339NOSHARE_OPTS = , SYS$LIBRARY:VAXCRTL.OLB /LIBRARY,\
340 SYS$LIBRARY:IMAGELIB.OLB /LIBRARY /NOSYSSHR
341.ELSE # OLDVAX_$(NOSHARE)
342NOSHARE_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
350NOSHARE_OPTS =
351.ENDIF # NOSHARE
352
353# LIST options.
354
355.IFDEF LIST # LIST
356.IFDEF DECC # DECC
357CFLAGS_LIST = /list = $*.LIS /show = (all, nomessages)
358.ELSE # DECC
359CFLAGS_LIST = /list = $*.LIS /show = (all)
360.ENDIF # DECC
361LINKFLAGS_LIST = /map = $*.MAP /cross_reference /full
362.ELSE # LIST
363CFLAGS_LIST =
364LINKFLAGS_LIST =
365.ENDIF # LIST
366
367# Common CFLAGS and LINKFLAGS.
368
369CFLAGS = \
370 $(CFLAGS_ARCH) $(CFLAGS_DBG) $(CFLAGS_INCL) $(CFLAGS_LIST) $(CCOPTS) \
371 /object = $(MMS$TARGET)
372
373LINKFLAGS = \
374 $(LINKFLAGS_DBG) $(LINKFLAGS_LIST) $(LINKOPTS) \
375 /executable = $(MMS$TARGET)
376
377# Object library module=object lists.
378
379# Primary object library, [].
380
381MODS_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
401MODS_OBJS_LIB_UNZIP_V = \
402 VMS=[.$(DEST)]VMS.OBJ
403
404MODS_OBJS_LIB_UNZIP = $(MODS_OBJS_LIB_UNZIP_N) $(MODS_OBJS_LIB_UNZIP_V)
405
406# CLI object library, [.VMS].
407
408MODS_OBJS_LIB_UNZIPCLI_C_V = \
409 CMDLINE=[.$(DEST)]CMDLINE.OBJ
410
411MODS_OBJS_LIB_UNZIPCLI_CLD_V = \
412 VMS_UNZIP_CLD=[.$(DEST)]UNZ_CLI.OBJ
413
414MODS_OBJS_LIB_UNZIP_CLI = \
415 $(MODS_OBJS_LIB_UNZIPCLI_C_V) \
416 $(MODS_OBJS_LIB_UNZIPCLI_CLD_V)
417
418# SFX object library, [].
419
420MODS_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
434MODS_OBJS_LIB_UNZIPSFX_V = \
435 VMS$(GCC_)=[.$(DEST)]VMS_.OBJ
436
437MODS_OBJS_LIB_UNZIPSFX = \
438 $(MODS_OBJS_LIB_UNZIPSFX_N) \
439 $(MODS_OBJS_LIB_UNZIPSFX_V)
440
441# SFX object library, [.VMS] (no []).
442
443MODS_OBJS_LIB_UNZIPSFX_CLI_C_V = \
444 CMDLINE$(GCC_)=[.$(DEST)]CMDLINE_.OBJ
445
446MODS_OBJS_LIB_UNZIPSFX_CLI_CLD_V = \
447 VMS_UNZIP_CLD=[.$(DEST)]UNZ_CLI.OBJ
448
449MODS_OBJS_LIB_UNZIPSFX_CLI = \
450 $(MODS_OBJS_LIB_UNZIPSFX_CLI_C_V) \
451 $(MODS_OBJS_LIB_UNZIPSFX_CLI_CLD_V)
452
453# Executables.
454
455UNZIP = [.$(DEST)]UNZIP.EXE
456
457UNZIP_CLI = [.$(DEST)]UNZIP_CLI.EXE
458
459UNZIPSFX = [.$(DEST)]UNZIPSFX.EXE
460
461UNZIPSFX_CLI = [.$(DEST)]UNZIPSFX_CLI.EXE
462
Note: See TracBrowser for help on using the repository browser.