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 463