# 1 March 2009. SMS. # # UnZip 6.0 for VMS - MMS (or MMK) Source Description File. # # This description file is included by other description files. It is # not intended to be used alone. Verify proper inclusion. .IFDEF INCL_DESCRIP_SRC .ELSE $$$$ THIS DESCRIPTION FILE IS NOT INTENDED TO BE USED THIS WAY. .ENDIF # Define MMK architecture macros when using MMS. .IFDEF __MMK__ # __MMK__ .ELSE # __MMK__ ALPHA_X_ALPHA = 1 IA64_X_IA64 = 1 VAX_X_VAX = 1 .IFDEF $(MMS$ARCH_NAME)_X_ALPHA # $(MMS$ARCH_NAME)_X_ALPHA __ALPHA__ = 1 .ENDIF # $(MMS$ARCH_NAME)_X_ALPHA .IFDEF $(MMS$ARCH_NAME)_X_IA64 # $(MMS$ARCH_NAME)_X_IA64 __IA64__ = 1 .ENDIF # $(MMS$ARCH_NAME)_X_IA64 .IFDEF $(MMS$ARCH_NAME)_X_VAX # $(MMS$ARCH_NAME)_X_VAX __VAX__ = 1 .ENDIF # $(MMS$ARCH_NAME)_X_VAX .ENDIF # __MMK__ # Combine command-line VAX C compiler macros. .IFDEF VAXC # VAXC VAXC_OR_FORCE_VAXC = 1 .ELSE # VAXC .IFDEF FORCE_VAXC # FORCE_VAXC VAXC_OR_FORCE_VAXC = 1 .ENDIF # FORCE_VAXC .ENDIF # VAXC # Analyze architecture-related and option macros. .IFDEF __ALPHA__ # __ALPHA__ DECC = 1 DESTM = ALPHA .ELSE # __ALPHA__ .IFDEF __IA64__ # __IA64__ DECC = 1 DESTM = IA64 .ELSE # __IA64__ .IFDEF __VAX__ # __VAX__ .IFDEF VAXC_OR_FORCE_VAXC # VAXC_OR_FORCE_VAXC DESTM = VAXV .ELSE # VAXC_OR_FORCE_VAXC .IFDEF GNUC # GNUC CC = GCC DESTM = VAXG .ELSE # GNUC DECC = 1 DESTM = VAX .ENDIF # GNUC .ENDIF # VAXC_OR_FORCE_VAXC .ELSE # __VAX__ DESTM = UNK UNK_DEST = 1 .ENDIF # __VAX__ .ENDIF # __IA64__ .ENDIF # __ALPHA__ .IFDEF LARGE # LARGE .IFDEF __VAX__ # __VAX__ .ELSE # __VAX__ DESTL = L .ENDIF # __VAX__ .ENDIF # LARGE DEST = $(DESTM)$(DESTL) SEEK_BZ = $(DESTM) # Library module name suffix for XXX_.OBJ with GNU C. .IFDEF GNUC # GNUC GCC_ = _ .ELSE # GNUC GCC_ = .ENDIF # GNUC # Check for option problems. .IFDEF __VAX__ # __VAX__ .IFDEF LARGE # LARGE LARGE_VAX = 1 .ENDIF # LARGE .IFDEF VAXC_OR_FORCE_VAXC # VAXC_OR_FORCE_VAXC .IFDEF GNUC # GNUC VAX_MULTI_CMPL = 1 .ENDIF # GNUC .ENDIF # VAXC_OR_FORCE_VAXC .ELSE # __VAX__ .IFDEF VAXC_OR_FORCE_VAXC # VAXC_OR_FORCE_VAXC NON_VAX_CMPL = 1 .ELSE # VAXC_OR_FORCE_VAXC .IFDEF GNUC # GNUC NON_VAX_CMPL = 1 .ENDIF # GNUC .ENDIF # VAXC_OR_FORCE_VAXC .ENDIF # __VAX__ # Shortcut to include BZIP2 support from the optional bzip2 source subdir # in the UnZip source location. BZ2DIR_BIN = SYS$DISK:[.BZIP2.$(DESTM)] BZ2_OLB = LIBBZ2_NS.OLB LIB_BZ2_LOCAL = $(BZ2DIR_BIN)$(BZ2_OLB) .IFDEF USEBZ2 # USEBZ2 .IFDEF IZ_BZIP2 # IZ_BZIP2 .ELSE # IZ_BZIP2 IZ_BZIP2 = SYS$DISK:[.BZIP2] LIB_BZ2_DEP = $(LIB_BZ2_LOCAL) BUILD_BZIP2 = 1 .ENDIF # IZ_BZIP2 .ENDIF # USEBZ2 # Complain about any problems (and die) if warranted. Otherwise, show # optional package directories being used, and the destination # directory. Make the destination directory, if necessary. .FIRST .IFDEF __MMK__ # __MMK__ @ write sys$output "" .ENDIF # __MMK__ .IFDEF UNK_DEST # UNK_DEST @ write sys$output - " Unknown system architecture." .IFDEF __MMK__ # __MMK__ @ write sys$output - " MMK on IA64? Try adding ""/MACRO = __IA64__""." .ELSE # __MMK__ @ write sys$output - " MMS too old? Try adding ""/MACRO = MMS$ARCH_NAME=ALPHA""," @ write sys$output - " or ""/MACRO = MMS$ARCH_NAME=IA64"", or ""/MACRO = MMS$ARCH_NAME=VAX""," @ write sys$output - " as appropriate. (Or try a newer version of MMS.)" .ENDIF # __MMK__ @ write sys$output "" I_WILL_DIE_NOW. /$$$$INVALID$$$$ .ELSE # UNK_DEST .IFDEF VAX_MULTI_CMPL # VAX_MULTI_CMPL @ write sys$output - " Macro ""GNUC"" is incompatible with ""VAXC"" or ""FORCE_VAXC""." @ write sys$output "" I_WILL_DIE_NOW. /$$$$INVALID$$$$ .ELSE # VAX_MULTI_CMPL .IFDEF NON_VAX_CMPL # NON_VAX_CMPL @ write sys$output - " Macros ""GNUC"", ""VAXC"", and ""FORCE_VAXC"" are valid only on VAX." @ write sys$output "" I_WILL_DIE_NOW. /$$$$INVALID$$$$ .ELSE # NON_VAX_CMPL .IFDEF LARGE_VAX # LARGE_VAX @ write sys$output - " Macro ""LARGE"" is invalid on VAX." @ write sys$output "" I_WILL_DIE_NOW. /$$$$INVALID$$$$ .ELSE # LARGE_VAX .IFDEF IZ_BZIP2 # IZ_BZIP2 .IFDEF BUILD_BZIP2 # BUILD_BZIP2 @ if (f$search( "$(IZ_BZIP2)bzlib.h") .eqs. "") then - write sys$output " Can not find header file $(IZ_BZIP2)bzlib.h" @ if (f$search( "$(IZ_BZIP2)bzlib.h") .eqs. "") then - write sys$output "" @ if (f$search( "$(IZ_BZIP2)bzlib.h") .eqs. "") then - I_WILL_DIE_NOW. /$$$$INVALID$$$$ @ write sys$output " BZIP2 dir: $(BZ2DIR_BIN)" @ define lib_bzip2 $(BZ2DIR_BIN) @ if (f$search( "$(IZ_BZIP2)$(DESTM).dir") .eqs. "") then - create /directory $(BZ2DIR_BIN) .ELSE # BUILD_BZIP2 @ @[.VMS]FIND_BZIP2_LIB.COM $(IZ_BZIP2) $(SEEK_BZ) $(BZ2_OLB) lib_bzip2 @ if (f$trnlnm( "lib_bzip2") .eqs. "") then - write sys$output " Can not find BZIP2 object library." @ if (f$trnlnm( "lib_bzip2") .eqs. "") then - write sys$output "" @ if (f$trnlnm( "lib_bzip2") .eqs. "") then - I_WILL_DIE_NOW. /$$$$INVALID$$$$ @ write sys$output " BZIP2 dir: ''f$trnlnm( "lib_bzip2")'" .ENDIF # BUILD_BZIP2 @ write sys$output "" @ define incl_bzip2 $(IZ_BZIP2) .ENDIF # IZ_BZIP2 .IFDEF IZ_ZLIB # IZ_ZLIB @ @[.VMS]FIND_BZIP2_LIB.COM $(IZ_ZLIB) $(SEEK_BZ) LIBZ.OLB lib_zlib @ if (f$trnlnm( "lib_zlib") .eqs. "") then - write sys$output " Can not find ZLIB object library." @ if (f$trnlnm( "lib_zlib") .eqs. "") then - write sys$output "" @ if (f$trnlnm( "lib_zlib") .eqs. "") then - I_WILL_DIE_NOW. /$$$$INVALID$$$$ @ write sys$output " ZLIB dir: ''f$trnlnm( "lib_zlib")'" @ write sys$output "" @ define incl_zlib $(IZ_ZLIB) @ @[.VMS]FIND_BZIP2_LIB.COM $(IZ_ZLIB) - contrib.infback9 infback9.h incl_zlib_contrib_infback9 .ENDIF # IZ_ZLIB @ write sys$output " Destination: [.$(DEST)]" @ write sys$output "" if (f$search( "$(DEST).DIR;1") .eqs. "") then - create /directory [.$(DEST)] .ENDIF # LARGE_VAX .ENDIF # NON_VAX_CMPL .ENDIF # VAX_MULTI_CMPL .ENDIF # UNK_DEST # BZIP2 options. .IFDEF IZ_BZIP2 # IZ_BZIP2 CDEFS_BZ = , USE_BZIP2 CFLAGS_INCL = /include = ([], [.VMS]) LIB_BZIP2_OPTS = lib_bzip2:$(BZ2_OLB) /library, .ENDIF # IZ_BZIP2 # ZLIB options. .IFDEF IZ_ZLIB # IZ_ZLIB CDEFS_ZL = , USE_ZLIB .IFDEF CFLAGS_INCL # CFLAGS_INCL .ELSE # CFLAGS_INCL CFLAGS_INCL = /include = ([], [.VMS]) .ENDIF # CFLAGS_INCL LIB_ZLIB_OPTS = LIB_ZLIB:LIBZ.OLB /library, .ELSE # IZ_ZLIB .IFDEF CFLAGS_INCL # CFLAGS_INCL .ELSE # CFLAGS_INCL CFLAGS_INCL = /include = [] .ENDIF # CFLAGS_INCL .ENDIF # IZ_ZLIB # DBG options. .IFDEF DBG # DBG CFLAGS_DBG = /debug /nooptimize LINKFLAGS_DBG = /debug /traceback .ELSE # DBG CFLAGS_DBG = LINKFLAGS_DBG = /notraceback .ENDIF # DBG # Large-file options. .IFDEF LARGE # LARGE CDEFS_LARGE = , LARGE_FILE_SUPPORT .ENDIF # LARGE # C compiler defines. .IFDEF LOCAL_UNZIP C_LOCAL_UNZIP = , $(LOCAL_UNZIP) .ENDIF CDEFS = VMS $(CDEFS_BZ) $(CDEFS_LARGE) $(CDEFS_ZL) $(C_LOCAL_UNZIP) CDEFS_UNX = /define = ($(CDEFS)) CDEFS_CLI = /define = ($(CDEFS), VMSCLI) CDEFS_SFX = /define = ($(CDEFS), SFX) CDEFS_SFX_CLI = /define = ($(CDEFS), SFX, VMSCLI) # Other C compiler options. .IFDEF DECC # DECC CFLAGS_ARCH = /decc /prefix = (all) .ELSE # DECC .IFDEF FORCE_VAXC # FORCE_VAXC CFLAGS_ARCH = /vaxc .IFDEF VAXC # VAXC .ELSE # VAXC VAXC = 1 .ENDIF # VAXC .ELSE # FORCE_VAXC CFLAGS_ARCH = .ENDIF # FORCE_VAXC .ENDIF # DECC # LINK (share) library options. # Omit shareable image options file for NOSHARE. .IFDEF VAXC_OR_FORCE_VAXC # VAXC_OR_FORCE_VAXC .IFDEF NOSHARE # NOSHARE OPT_FILE = LFLAGS_ARCH = .ELSE # NOSHARE OPT_FILE = [.$(DEST)]VAXCSHR.OPT LFLAGS_ARCH = $(OPT_FILE) /options, .ENDIF # NOSHARE .ELSE # VAXC_OR_FORCE_VAXC .IFDEF GNUC # GNUC LFLAGS_GNU = GNU_CC:[000000]GCCLIB.OLB /LIBRARY .IFDEF NOSHARE # NOSHARE OPT_FILE = LFLAGS_ARCH = $(LFLAGS_GNU), .ELSE # NOSHARE OPT_FILE = [.$(DEST)]VAXCSHR.OPT LFLAGS_ARCH = $(LFLAGS_GNU), SYS$DISK:$(OPT_FILE) /options, .ENDIF # NOSHARE .ELSE # GNUC OPT_FILE = LFLAGS_ARCH = .ENDIF # GNUC .ENDIF # VAXC_OR_FORCE_VAXC # LINK NOSHARE options. .IFDEF NOSHARE # NOSHARE .IFDEF __ALPHA__ # __ALPHA__ NOSHARE_OPTS = , SYS$LIBRARY:STARLET.OLB /LIBRARY\ /INCLUDE = CMA$TIS /NOSYSSHR .ELSE # __ALPHA__ .IFDEF __IA64__ # __IA64__ NOSHARE_OPTS = , SYS$LIBRARY:STARLET.OLB /LIBRARY\ /INCLUDE = CMA$TIS /NOSYSSHR .ELSE # __IA64__ OLDVAX_OLDVAX = 1 .IFDEF DECC # DECC .IFDEF OLDVAX_$(NOSHARE) # OLDVAX_$(NOSHARE) NOSHARE_OPTS = , SYS$LIBRARY:DECCRTL.OLB /LIBRARY\ /INCLUDE = CMA$TIS /NOSYSSHR .ELSE # OLDVAX_$(NOSHARE) NOSHARE_OPTS = , SYS$LIBRARY:DECCRTL.OLB /LIBRARY\ /INCLUDE = (CMA$TIS, CMA$TIS_VEC) /NOSYSSHR .ENDIF # OLDVAX_$(NOSHARE) .ELSE # DECC .IFDEF OLDVAX_$(NOSHARE) # OLDVAX_$(NOSHARE) NOSHARE_OPTS = , SYS$LIBRARY:VAXCRTL.OLB /LIBRARY,\ SYS$LIBRARY:IMAGELIB.OLB /LIBRARY /NOSYSSHR .ELSE # OLDVAX_$(NOSHARE) NOSHARE_OPTS = , SYS$LIBRARY:VAXCRTL.OLB /LIBRARY,\ SYS$LIBRARY:DECCRTL.OLB /LIBRARY /INCLUDE = CMA$TIS,\ SYS$LIBRARY:IMAGELIB.OLB /LIBRARY /NOSYSSHR .ENDIF # OLDVAX_$(NOSHARE) .ENDIF # DECC .ENDIF # __IA64__ .ENDIF # __ALPHA__ .ELSE # NOSHARE NOSHARE_OPTS = .ENDIF # NOSHARE # LIST options. .IFDEF LIST # LIST .IFDEF DECC # DECC CFLAGS_LIST = /list = $*.LIS /show = (all, nomessages) .ELSE # DECC CFLAGS_LIST = /list = $*.LIS /show = (all) .ENDIF # DECC LINKFLAGS_LIST = /map = $*.MAP /cross_reference /full .ELSE # LIST CFLAGS_LIST = LINKFLAGS_LIST = .ENDIF # LIST # Common CFLAGS and LINKFLAGS. CFLAGS = \ $(CFLAGS_ARCH) $(CFLAGS_DBG) $(CFLAGS_INCL) $(CFLAGS_LIST) $(CCOPTS) \ /object = $(MMS$TARGET) LINKFLAGS = \ $(LINKFLAGS_DBG) $(LINKFLAGS_LIST) $(LINKOPTS) \ /executable = $(MMS$TARGET) # Object library module=object lists. # Primary object library, []. MODS_OBJS_LIB_UNZIP_N = \ CRC32=[.$(DEST)]CRC32.OBJ \ CRYPT=[.$(DEST)]CRYPT.OBJ \ ENVARGS=[.$(DEST)]ENVARGS.OBJ \ EXPLODE=[.$(DEST)]EXPLODE.OBJ \ EXTRACT=[.$(DEST)]EXTRACT.OBJ \ FILEIO=[.$(DEST)]FILEIO.OBJ \ GLOBALS=[.$(DEST)]GLOBALS.OBJ \ INFLATE=[.$(DEST)]INFLATE.OBJ \ LIST=[.$(DEST)]LIST.OBJ \ MATCH=[.$(DEST)]MATCH.OBJ \ PROCESS=[.$(DEST)]PROCESS.OBJ \ TTYIO=[.$(DEST)]TTYIO.OBJ \ UBZ2ERR=[.$(DEST)]UBZ2ERR.OBJ \ UNREDUCE=[.$(DEST)]UNREDUCE.OBJ \ UNSHRINK=[.$(DEST)]UNSHRINK.OBJ \ ZIPINFO=[.$(DEST)]ZIPINFO.OBJ # Primary object library, [.VMS]. MODS_OBJS_LIB_UNZIP_V = \ VMS=[.$(DEST)]VMS.OBJ MODS_OBJS_LIB_UNZIP = $(MODS_OBJS_LIB_UNZIP_N) $(MODS_OBJS_LIB_UNZIP_V) # CLI object library, [.VMS]. MODS_OBJS_LIB_UNZIPCLI_C_V = \ CMDLINE=[.$(DEST)]CMDLINE.OBJ MODS_OBJS_LIB_UNZIPCLI_CLD_V = \ VMS_UNZIP_CLD=[.$(DEST)]UNZ_CLI.OBJ MODS_OBJS_LIB_UNZIP_CLI = \ $(MODS_OBJS_LIB_UNZIPCLI_C_V) \ $(MODS_OBJS_LIB_UNZIPCLI_CLD_V) # SFX object library, []. MODS_OBJS_LIB_UNZIPSFX_N = \ CRC32$(GCC_)=[.$(DEST)]CRC32_.OBJ \ CRYPT$(GCC_)=[.$(DEST)]CRYPT_.OBJ \ EXTRACT$(GCC_)=[.$(DEST)]EXTRACT_.OBJ \ FILEIO$(GCC_)=[.$(DEST)]FILEIO_.OBJ \ GLOBALS$(GCC_)=[.$(DEST)]GLOBALS_.OBJ \ INFLATE$(GCC_)=[.$(DEST)]INFLATE_.OBJ \ MATCH$(GCC_)=[.$(DEST)]MATCH_.OBJ \ PROCESS$(GCC_)=[.$(DEST)]PROCESS_.OBJ \ TTYIO$(GCC_)=[.$(DEST)]TTYIO_.OBJ \ UBZ2ERR$(GCC_)=[.$(DEST)]UBZ2ERR_.OBJ # SFX object library, [.VMS]. MODS_OBJS_LIB_UNZIPSFX_V = \ VMS$(GCC_)=[.$(DEST)]VMS_.OBJ MODS_OBJS_LIB_UNZIPSFX = \ $(MODS_OBJS_LIB_UNZIPSFX_N) \ $(MODS_OBJS_LIB_UNZIPSFX_V) # SFX object library, [.VMS] (no []). MODS_OBJS_LIB_UNZIPSFX_CLI_C_V = \ CMDLINE$(GCC_)=[.$(DEST)]CMDLINE_.OBJ MODS_OBJS_LIB_UNZIPSFX_CLI_CLD_V = \ VMS_UNZIP_CLD=[.$(DEST)]UNZ_CLI.OBJ MODS_OBJS_LIB_UNZIPSFX_CLI = \ $(MODS_OBJS_LIB_UNZIPSFX_CLI_C_V) \ $(MODS_OBJS_LIB_UNZIPSFX_CLI_CLD_V) # Executables. UNZIP = [.$(DEST)]UNZIP.EXE UNZIP_CLI = [.$(DEST)]UNZIP_CLI.EXE UNZIPSFX = [.$(DEST)]UNZIPSFX.EXE UNZIPSFX_CLI = [.$(DEST)]UNZIPSFX_CLI.EXE