⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile.vms

📁 给出了 zip 压缩算法的完整实现过程。
💻 VMS
字号:
#============================================================================# Makefile for VMS Zip, ZipCloak, ZipNote  and ZipSplit          Greg Roelofs# Version:  2.0 [for use with Todd Aven's MAKE/VMS 3.4]          25-JUN-1998#============================================================================# ChangeLog:  10-SEP-1993 08:53 by Hunter Goatley (add AXP support)#             15-OCT-1995 22:40 by Chr. Spieler (Zip 2.1)#             11-DEC-1995 12:09 by Chr. Spieler (AXP uses RELAXED_ANSI mode)#             08-JAN-1996 19:08 by Chr. Spieler (updated header dependencies)#             16-JAN-1996 19:08 by Chr. Spieler (crypt -> crypt & ttyio)#             25-JUL-1997 22:25 by Chr. Spieler (syncronized with descrip.mms)#             25-JUN-1998 23:53 by Chr. Spieler (removed bits.c source)########################### USER CUSTOMIZATION ############################# add any optional preprocessor flags (macros) to the following line# for a custom version (do not forget a trailing comma##):COMMON_DEFS =######################## END OF USER CUSTOMIZATION ############################################## MACRO DEFINITIONS ######################CFLAGS = /NOLIST/INCL=(SYS$DISK:[])CC = ccLIB =# Define the macro __GNUC__ to use the GNU compiler (also add /undef=__STDC__# to CFLAGS, and possibly replace /obj=$@ [below] with copy/rename/delete# setup).  NOT TESTED.OPTFILE = sys$disk:[.vms]vaxcshr.opt%IFDEF __ALPHACC = CC/STANDARD=RELAX/PREFIX=ALL/ANSIE = .AXP_EXEO = .AXP_OBJOPTFILE_LIST =OPTIONS =%ELSE%IFDEF __DECC__CC = CC/DECC/STANDARD=VAXC/PREFIX=ALLE = .VAX_DECC_exeO = .VAX_DECC_objOPTFILE_LIST =OPTIONS =%ELSE%IFDEF __GNUC__CC = gccE = .VAX_GNUC_exeO = .VAX_GNUC_objLIB = gnu_cc:[000000]gcclib.olb/lib,%ELSEE = .VAX_VAXC_exeO = .VAX_VAXC_obj%ENDIFOPTFILE_LIST = ,$(OPTFILE)OPTIONS = ,$(OPTFILE)/OPTIONS%ENDIF%ENDIFCFLAGS_ALL  = $(CFLAGS) /def=($(COMMON_DEFS) VMS)CFLAGS_CLI  = $(CFLAGS) /def=($(COMMON_DEFS) VMSCLI, VMS)CFLAGS_UTIL = $(CFLAGS) /def=($(COMMON_DEFS) UTIL, VMS)LD = LINKLDFLAGS = /NOTRACE# object file listsOBJM =	zip$O, zipcli$OOBJZ =	crc32$O, crctab$O, crypt$O, ttyio$O,-	zipfile$O, zipup$O, fileio$O, globals$O, util$OOBJV =	vmszip$O, vms$O, vmsmunch$OOBJI =	deflate$O, trees$OOBJU =	zipfile_$O, fileio_$O, globals$O,-	util_$O, vms_$O, vmsmunch$OOBJR =  crctab$O, crypt_$O, ttyio$OOBJC =	zipcloak$O, $(OBJR), $(OBJU)OBJN =	zipnote$O, $(OBJU)OBJS =	zipsplit$O, $(OBJU)ZIPX_UNX = zipZIPX_CLI = zip_cliOBJSZIPLIB = $(OBJZ), $(OBJI), $(OBJV)OBJSZIP = zip$O, $(OBJSZIPLIB)OBJSCLI = zipcli$O, zip_cli$O, cmdline$OOBJSZIP_CLI = $(OBJSCLI), $(OBJSZIPLIB)ZIPHELP_UNX_RNH = [.vms]vms_zip.rnhZIPHELP_CLI_RNH = [.vms]zip_cli.rnhZIP_H =	zip.h ziperr.h tailor.h [.vms]osdep.hZIPS = $(ZIPX_UNX)$E $(ZIPX_CLI)$E zipcloak$E zipnote$E zipsplit$EZIPHELPS = $(ZIPX_UNX).hlp $(ZIPX_CLI).hlp################################################ BASIC COMPILE INSTRUCTIONS AND DEPENDENCIES ################################################default :	$(ZIPS) $(ZIPHELPS)# suffix rules*$O:	*.c				# `*.c' necessary?	$(CC)$(CFLAGS_ALL)/OBJECT=$@ $<*.hlp:	*.rnh	runoff /out=$@ $<# executables makerules (trailing `$' makes line a data line)$(ZIPX_UNX)$E :	$(OBJSZIP) $(OPTFILE_LIST)	$(LD) $(LDFLAGS)/EXEC=$(ZIPX_UNX)$E $(OBJSZIP) $(LIB) $(OPTIONS)$(ZIPX_CLI)$E :	$(OBJSZIP_CLI) $(OPTFILE_LIST)	$(LD) $(LDFLAGS)/EXEC=$(ZIPX_CLI)$E $(OBJSZIP_CLI) $(LIB) $(OPTIONS)zipcloak$E :	$(OBJC) $(OPTFILE_LIST)	$(LD) $(LDFLAGS)/EXEC=ZIPCLOAK$E $(OBJC) $(LIB) $(OPTIONS)zipnote$E :	$(OBJN) $(OPTFILE_LIST)	$(LD) $(LDFLAGS)/EXEC=ZIPNOTE$E $(OBJN) $(LIB) $(OPTIONS)zipsplit$E :	$(OBJS) $(OPTFILE_LIST)	$(LD) $(LDFLAGS)/EXEC=ZIPSPLIT$E $(OBJS) $(LIB) $(OPTIONS)$(OPTFILE) :	open/write tmp $(OPTFILE)	write tmp "SYS$SHARE:VAXCRTL.EXE/SHARE"	close tmp$(ZIPHELP_CLI_RNH)	: [.vms]zip_cli.help	set default [.vms]	edit/tpu/nosection/nodisplay/command=cvthelp.tpu zip_cli.help	set default [-]$(ZIPX_UNX).hlp : $(ZIPHELP_UNX_RNH)	runoff /out=$@ $<$(ZIPX_CLI).hlp : $(ZIPHELP_CLI_RNH)# dependencies for zip, zipnote, zipcloak, and zipsplitvmszip$O :	[.vms]vmszip.c [.vms]vmsmunch.h	$(CC)$(CFLAGS_ALL)/OBJECT=vmszip$O [.vms]vmszip.cvms$O :		[.vms]vms.c [.vms]vms_im.c [.vms]vms_pk.c \	[.vms]vms.h [.vms]vmsdefs.h	$(CC)$(CFLAGS_ALL)/OBJECT=vms$O [.vms]vms.cvmsmunch$O :	[.vms]vmsmunch.c [.vms]vmsmunch.h [.vms]vmsdefs.h	$(CC)$(CFLAGS_ALL)/OBJECT=vmsmunch$O [.vms]vmsmunch.czipcli$O : zip.c [.vms]vmsmunch.h	$(CC) $(CFLAGS_CLI) /OBJ=$(MMS$TARGET) $<cmdline$O : [.vms]cmdline.c $(ZIP_H) crypt.h revision.h	$(CC) $(CFLAGS_CLI) /OBJ=$(MMS$TARGET) $<zip_cli$O : [.vms]zip_cli.cldcrypt_$O :	crypt.c crypt.h ttyio.h	$(CC)$(CFLAGS_UTIL)/OBJECT=crypt_$O crypt.czipfile_$O :	zipfile.c [.vms]vmsmunch.h [.vms]vmsdefs.h	$(CC)$(CFLAGS_UTIL)/OBJECT=zipfile_$O zipfile.cfileio_$O :	fileio.c	$(CC)$(CFLAGS_UTIL)/OBJECT=fileio_$O fileio.cutil_$O :	util.c	$(CC)$(CFLAGS_UTIL)/OBJECT=util_$O util.cvms_$O :	[.vms]vms.c [.vms]vms_im.c [.vms]vms_pk.c \	[.vms]vms.h [.vms]vmsdefs.h	$(CC)$(CFLAGS_UTIL)/OBJECT=vms_$O [.vms]vms.c$(OBJM) zipcloak$O zipnote$O zipsplit$O zipup$O : revision.h$(OBJM) zipcloak$O zipup$O crypt$O ttyio$O : crypt.h$(OBJM) zipcloak$O crypt$O ttyio$O : ttyio.hzipup$O :	[.vms]zipup.hzipfile$O :	[.vms]vmsmunch.h [.vms]vmsdefs.hzip$O :		[.vms]vmsmunch.h$(OBJM) :	$(ZIP_H)$(OBJZ) :	$(ZIP_H)$(OBJI) :	$(ZIP_H)$(OBJN) :	$(ZIP_H)$(OBJS) :	$(ZIP_H)$(OBJC) :	$(ZIP_H)clean.com :	@ open/write tmp $@	@ write tmp "$!"	@ write tmp "$!	Clean.com --	procedure to delete files. It always returns success"	@ write tmp "$!			status despite any error or warnings. Also it extracts"	@ write tmp "$!			filename from MMS ""module=file"" format."	@ write tmp "$!"	@ write tmp "$ on control_y then goto ctly"	@ write tmp "$ if p1.eqs."""" then exit 1"	@ write tmp "$ i = -1"	@ write tmp "$scan_list:"	@ write tmp "$	i = i+1"	@ write tmp "$	item = f$elem(i,"","",p1)"	@ write tmp "$	if item.eqs."""" then goto scan_list"	@ write tmp "$	if item.eqs."","" then goto done		! End of list"	@ write tmp "$	item = f$edit(item,""trim"")		! Clean of blanks"	@ write tmp "$	wild = f$elem(1,""="",item)"	@ write tmp "$	show sym wild"	@ write tmp "$	if wild.eqs.""="" then wild = f$elem(0,""="",item)"	@ write tmp "$	vers = f$parse(wild,,,""version"",""syntax_only"")"	@ write tmp "$	if vers.eqs."";"" then wild = wild - "";"" + "";*"""	@ write tmp "$scan:"	@ write tmp "$		f = f$search(wild)"	@ write tmp "$		if f.eqs."""" then goto scan_list"	@ write tmp "$		on error then goto err"	@ write tmp "$		on warning then goto warn"	@ write tmp "$		delete/log 'f'"	@ write tmp "$warn:"	@ write tmp "$err:"	@ write tmp "$		goto scan"	@ write tmp "$done:"	@ write tmp "$ctly:"	@ write tmp "$	exit 1"	@ close tmpclean : clean.com	@clean "$(OBJM)"	@clean "$(OBJZ)"	@clean "$(OBJI)"	@clean "$(OBJV)"	@clean "$(OBJU)"	@clean "$(OBJR)"	@clean "$(OBJN)"	@clean "$(OBJS)"	@clean "$(OBJC)"	@clean "$(ZIPS)"	@clean "$(ZIPHELP_CLI_RNH)"	@clean "$(ZIPHELPS)"	- delete/noconfirm/nolog clean.com;*# the backslash '\' is the continuation character if it occurs as# the last non-white character on the line.# the hyphen '-' is the DCL continuation character, so if it occurs# as the last non-white character on the line, the next line will# not have the dollar sign '$' prepended.################################# INDIVIDUAL MACHINE MAKERULES #################################generic :	default		# first try if unknowngeneric2 :	default		# second try if unknownvax :		defaultvms :		defaultall :		$(ZIPS)zip :		zip$Ezipcloak :	zipcloak$Ezipnote :	zipnote$Ezipsplit :	zipsplit$E

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -