which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			343 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			343 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| !==========================================================================
 | |
| ! MMS description file for UnZip/UnZipSFX 5.20 or later           11 Feb 96
 | |
| !==========================================================================
 | |
| !
 | |
| ! To build UnZip that uses shared libraries, edit the USER CUSTOMIZATION
 | |
| ! lines below to taste, then do
 | |
| !	mms
 | |
| ! or
 | |
| !	mmk
 | |
| ! if you use Matt's Make (free MMS-compatible make utility).
 | |
| !
 | |
| ! (One-time users will find it easier to use the MAKE_UNZ.COM command file,
 | |
| ! which generates both UnZip and UnZipSFX.  Just type "@[.VMS]MAKE_UNZ", or
 | |
| ! "@[.VMS]MAKE_UNZ GCC" if you want to use GNU C.)
 | |
| 
 | |
| ! Only when you try to build the default target
 | |
| !   "all executables (linked against shareable images), and help file"
 | |
| ! you can simply type "mmk" or "mms".
 | |
| ! (You have to copy the description file to your working directory for MMS,
 | |
| ! with MMK you can alternatively use the /DESCR=[.VMS] qualifier.
 | |
| !
 | |
| ! In all other cases where you want to explicitely specify a makefile target,
 | |
| ! you have to specify your compiling environment, too. These are:
 | |
| !
 | |
| !	$ MMS/MACRO=(__ALPHA__=1)		! Alpha AXP, (DEC C)
 | |
| !	$ MMS/MACRO=(__DECC__=1)		! VAX, using DEC C
 | |
| !	$ MMS/MACRO=(__FORCE_VAXC__=1)		! VAX, prefering VAXC over DECC
 | |
| !	$ MMS/MACRO=(__VAXC__=1)		! VAX, where VAXC is default
 | |
| !	$ MMS/MACRO=(__GNUC__=1)		! VAX, using GNU C
 | |
| !
 | |
| 
 | |
| ! To build UnZip without shared libraries,
 | |
| !	mms noshare
 | |
| 
 | |
| ! To delete all .OBJ, .OLB, .EXE and .HLP files,
 | |
| !	mms clean
 | |
| 
 | |
| DO_THE_BUILD :
 | |
| 	@ decc = f$search("SYS$SYSTEM:DECC$COMPILER.EXE").nes.""
 | |
| 	@ axp = f$getsyi("HW_MODEL").ge.1024
 | |
| 	@ macro = "/MACRO=("
 | |
| 	@ if decc then macro = macro + "__DECC__=1,"
 | |
| 	@ if axp then macro = macro + "__ALPHA__=1,"
 | |
| 	@ if .not.(axp.or.decc) then macro = macro + "__VAXC__=1,"
 | |
| 	@ macro = f$extract(0,f$length(macro)-1,macro)+ ")"
 | |
| 	$(MMS)$(MMSQUALIFIERS)'macro' default
 | |
| 
 | |
| .IFDEF __ALPHA__
 | |
| E = .AXP_EXE
 | |
| O = .AXP_OBJ
 | |
| A = .AXP_OLB
 | |
| .ELSE
 | |
| .IFDEF __DECC__
 | |
| E = .VAX_DECC_EXE
 | |
| O = .VAX_DECC_OBJ
 | |
| A = .VAX_DECC_OLB
 | |
| .ENDIF
 | |
| .IFDEF __FORCE_VAXC__
 | |
| __VAXC__ = 1
 | |
| .ENDIF
 | |
| .IFDEF __VAXC__
 | |
| E = .VAX_VAXC_EXE
 | |
| O = .VAX_VAXC_OBJ
 | |
| A = .VAX_VAXC_OLB
 | |
| .ENDIF
 | |
| .IFDEF __GNUC__
 | |
| E = .VAX_GNUC_EXE
 | |
| O = .VAX_GNUC_OBJ
 | |
| A = .VAX_GNUC_OLB
 | |
| .ENDIF
 | |
| .ENDIF
 | |
| 
 | |
| .IFDEF O
 | |
| .ELSE
 | |
| !If EXE and OBJ extentions aren't defined, define them
 | |
| E = .EXE
 | |
| O = .OBJ
 | |
| A = .OLB
 | |
| .ENDIF
 | |
| 
 | |
| !!!!!!!!!!!!!!!!!!!!!!!!!!! USER CUSTOMIZATION !!!!!!!!!!!!!!!!!!!!!!!!!!!!
 | |
| ! uncomment the following line if you want the VMS CLI$ interface:
 | |
| !VMSCLI = VMSCLI,
 | |
| 
 | |
| ! add VMSWILD, RETURN_CODES, and/or any other optional
 | |
| ! macros (except VMSCLI, above) to the following line for a custom version:
 | |
| COMMON_DEFS =
 | |
| !!!!!!!!!!!!!!!!!!!!!!!! END OF USER CUSTOMIZATION !!!!!!!!!!!!!!!!!!!!!!!!
 | |
| 
 | |
| .IFDEF __GNUC__
 | |
| CC = gcc
 | |
| LIBS = ,GNU_CC:[000000]GCCLIB.OLB/LIB
 | |
| .ELSE
 | |
| CC = cc
 | |
| LIBS =
 | |
| .ENDIF
 | |
| 
 | |
| CFLAGS = /NOLIST/INCL=(SYS$DISK:[])
 | |
| 
 | |
| OPTFILE = [.vms]vaxcshr.opt
 | |
| 
 | |
| .IFDEF __ALPHA__
 | |
| CC_OPTIONS = /STANDARD=VAXC/PREFIX=ALL/ANSI
 | |
| CC_DEFS = MODERN,
 | |
| OPTFILE_LIST =
 | |
| OPTIONS = $(LIBS)
 | |
| NOSHARE_OPTS = $(LIBS)/NOSYSSHR
 | |
| .ELSE
 | |
| .IFDEF __DECC__
 | |
| CC_OPTIONS = /DECC/STANDARD=VAXC/PREFIX=ALL
 | |
| CC_DEFS = MODERN,
 | |
| OPTFILE_LIST =
 | |
| OPTIONS = $(LIBS)
 | |
| NOSHARE_OPTS = $(LIBS),SYS$LIBRARY:DECCRTL.OLB/LIB/INCL=(CMA$TIS)/NOSYSSHR
 | |
| .ELSE
 | |
| .IFDEF __FORCE_VAXC__		!Select VAXC on systems where DEC C exists
 | |
| CC_OPTIONS = /VAXC
 | |
| .ELSE				!No flag allowed/needed on a pure VAXC system
 | |
| CC_OPTIONS =
 | |
| .ENDIF
 | |
| CC_DEFS =
 | |
| OPTFILE_LIST = ,$(OPTFILE)
 | |
| OPTIONS = $(LIBS),$(OPTFILE)/OPTIONS
 | |
| NOSHARE_OPTS = $(LIBS),SYS$LIBRARY:VAXCRTL.OLB/LIB/NOSYSSHR
 | |
| .ENDIF
 | |
| .ENDIF
 | |
| 
 | |
| .IFDEF __DEBUG__
 | |
| CDEB = /DEBUG/NOOPTIMIZE
 | |
| LDEB = /DEBUG
 | |
| .ELSE
 | |
| CDEB =
 | |
| LDEB = /NOTRACE
 | |
| .ENDIF
 | |
| 
 | |
| CFLAGS_SFX  = $(CC_OPTIONS) $(CFLAGS) $(CDEB) -
 | |
|               /def=($(CC_DEFS) $(COMMON_DEFS) $(VMSCLI) SFX, VMS)
 | |
| CFLAGS_ALL  = $(CC_OPTIONS) $(CFLAGS) $(CDEB) -
 | |
|               /def=($(CC_DEFS) $(COMMON_DEFS) $(VMSCLI) VMS)
 | |
| 
 | |
| LINKFLAGS   = $(LDEB)
 | |
| 
 | |
| 
 | |
| COMMON_OBJS1 =	unzip$(O),crc32$(O),crctab$(O),crypt$(O),envargs$(O),-
 | |
| 		explode$(O),extract$(O),fileio$(O),globals$(O)
 | |
| COMMON_OBJS2 =	inflate$(O),list$(O),match$(O),process$(O),ttyio$(O),-
 | |
| 		unreduce$(O),unshrink$(O),zipinfo$(O),-
 | |
| 		vms$(O)
 | |
| COMMON_OBJS =	$(COMMON_OBJS1),$(COMMON_OBJS2)
 | |
| 
 | |
| COMMON_OBJX1 =	UNZIP=unzipsfx$(O),-
 | |
| 		crc32$(O),crctab$(O),crypt$(O),-
 | |
| 		EXTRACT=extract_$(O),-
 | |
| 		fileio$(O),globals$(O)
 | |
| COMMON_OBJX2 =	inflate$(O),match$(O),-
 | |
| 		PROCESS=process_$(O),-
 | |
| 		ttyio$(O),-
 | |
| 		VMS=vms_$(O)
 | |
| COMMON_OBJX =	$(COMMON_OBJX1),$(COMMON_OBJX2)
 | |
| 
 | |
| .IFDEF VMSCLI
 | |
| CLI_OBJS = VMS_UNZIP_CLD=unz_cli$(O),-
 | |
| 	VMS_UNZIP_CMDLINE=cmdline$(O)
 | |
| OBJS =	$(COMMON_OBJS),$(CLI_OBJS)
 | |
| CLI_OBJX = VMS_UNZIP_CLD=unz_cli$(O),-
 | |
| 	VMS_UNZIP_CMDLINE=cmdline_$(O)
 | |
| OBJX =	$(COMMON_OBJX),$(CLI_OBJX)
 | |
| .ELSE
 | |
| CLI_OBJS =
 | |
| OBJS =	$(COMMON_OBJS)
 | |
| OBJX =	$(COMMON_OBJX)
 | |
| .ENDIF
 | |
| 
 | |
| UNZIP_H = unzip.h unzpriv.h globals.h
 | |
| 
 | |
| !!!!!!!!!!!!!!!!!!! override default rules: !!!!!!!!!!!!!!!!!!!
 | |
| .suffixes :
 | |
| .suffixes : .ANL $(E) $(A) .MLB .HLB .TLB .FLB $(O) -
 | |
| 	    .FORM .BLI .B32 .C .COB -
 | |
| 	    .FOR .BAS .B16 .PLI .PEN .PAS .MAC .MAR .M64 .CLD .MSG .COR .DBL -
 | |
| 	    .RPG .SCN .IFDL .RBA .RC .RCO .RFO .RPA .SC .SCO .SFO .SPA .SPL -
 | |
| 	    .SQLADA .SQLMOD .RGK .RGC .MEM .RNO .HLP .RNH .L32 .REQ .R32 -
 | |
| 	    .L16 .R16 .TXT .H .FRM .MMS .DDL .COM .DAT .OPT .CDO .SDML .ADF -
 | |
| 	    .GDF .LDF .MDF .RDF .TDF
 | |
| 
 | |
| $(O)$(E) :
 | |
| 	$(LINK) $(LINKFLAGS) /EXE=$(MMS$TARGET) $(MMS$SOURCE)
 | |
| 
 | |
| $(O)$(A) :
 | |
| 	If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(LIBR)/Create $(MMS$TARGET)
 | |
| 	$(LIBR)$(LIBRFLAGS) $(MMS$TARGET) $(MMS$SOURCE)
 | |
| 
 | |
| .CLD$(O) :
 | |
| 	SET COMMAND /OBJECT=$(MMS$TARGET) $(CLDFLAGS) $(MMS$SOURCE)
 | |
| 
 | |
| .C$(O) :
 | |
| 	$(CC) $(CFLAGS_ALL) /OBJ=$(MMS$TARGET) $(MMS$SOURCE)
 | |
| 
 | |
| !!!!!!!!!!!!!!!!!! here starts the unzip specific part !!!!!!!!!!!
 | |
| 
 | |
| default	:   	unzip$(E) unzipsfx$(E) unzip.hlp
 | |
| 	@	!	Do nothing.
 | |
| 
 | |
| noshare :	unzip_noshare$(E) unzipsfx_noshare$(E) unzip.hlp
 | |
| 	@	!	Do nothing.
 | |
| 
 | |
| unzip$(E) :	UNZIP$(A)($(OBJS))$(OPTFILE_LIST)
 | |
| 	$(LINK)$(LINKFLAGS) /EXE=$(MMS$TARGET) -
 | |
| 	UNZIP$(A)/INCLUDE=UNZIP/LIBRARY$(OPTIONS), -
 | |
| 	[.vms]unzip.opt/OPT
 | |
| 
 | |
| unzipsfx$(E) :	UNZIPSFX$(A)($(OBJX))$(OPTFILE_LIST)
 | |
| 	$(LINK)$(LINKFLAGS) /EXE=$(MMS$TARGET) -
 | |
| 	UNZIPSFX$(A)/INCLUDE=UNZIP/LIBRARY$(OPTIONS), -
 | |
| 	[.vms]unzipsfx.opt/OPT
 | |
| 
 | |
| unzip_noshare$(E) :	UNZIP$(A)($(OBJS))
 | |
| 	$(LINK)$(LINKFLAGS) /EXE=$(MMS$TARGET) -
 | |
| 	UNZIP$(A)/INCLUDE=UNZIP/LIBRARY$(NOSHARE_OPTS), -
 | |
| 	sys$disk:[.vms]unzip.opt/OPT
 | |
| 
 | |
| unzipsfx_noshare$(E) :	UNZIPSFX$(A)($(OBJX))
 | |
| 	$(LINK)$(LINKFLAGS) /EXE=$(MMS$TARGET) -
 | |
| 	UNZIPSFX$(A)/INCLUDE=UNZIP/LIBRARY$(NOSHARE_OPTS), -
 | |
| 	sys$disk:[.vms]unzipsfx.opt/OPT
 | |
| 
 | |
| $(OPTFILE) :
 | |
| 	@ open/write tmp $(MMS$TARGET)
 | |
| 	@ write tmp "SYS$SHARE:VAXCRTL.EXE/SHARE"
 | |
| 	@ close tmp
 | |
| 
 | |
| clean.com :
 | |
| 	@ open/write tmp $(MMS$TARGET)
 | |
| 	@ 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 tmp
 | |
| 
 | |
| clean : clean.com
 | |
| 	! delete *$(O);*, *$(A);*, unzip$(exe);*, unzipsfx$(exe);*, -
 | |
| 	!  unzip.hlp;*, [.vms]unzip.rnh;*
 | |
| !	@clean "$(OBJS)"
 | |
| 	@clean "$(COMMON_OBJS1)"
 | |
| 	@clean "$(COMMON_OBJS2)"
 | |
| 	@clean "$(CLI_OBJS)"
 | |
| !	@clean "$(OBJX)"
 | |
| 	@clean "$(COMMON_OBJX1)"
 | |
| 	@clean "$(COMMON_OBJX2)"
 | |
| 	@clean "$(CLI_OBJX)"
 | |
|         @clean "$(OPTFILE)"
 | |
| 	@clean unzip$(A),unzipsfx$(A)
 | |
| 	@clean unzip$(E),unzipsfx$(E)
 | |
| 	@clean unzip_noshare$(E),unzipsfx_noshare$(E)
 | |
| 	@clean unzip.hlp,[.vms]unzip.rnh
 | |
| 	- delete/noconfirm/nolog clean.com;*
 | |
| 
 | |
| crc32$(O)		: crc32.c $(UNZIP_H) zip.h
 | |
| crctab$(O)		: crctab.c $(UNZIP_H) zip.h
 | |
| crypt$(O)		: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
 | |
| envargs$(O)		: envargs.c $(UNZIP_H)
 | |
| explode$(O)		: explode.c $(UNZIP_H)
 | |
| extract$(O)		: extract.c $(UNZIP_H) crypt.h
 | |
| fileio$(O)		: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h
 | |
| globals$(O)		: globals.c $(UNZIP_H)
 | |
| inflate$(O)		: inflate.c inflate.h $(UNZIP_H)
 | |
| list$(O)		: list.c $(UNZIP_H)
 | |
| match$(O)		: match.c $(UNZIP_H)
 | |
| process$(O)		: process.c $(UNZIP_H)
 | |
| ttyio$(O)		: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
 | |
| unreduce$(O)		: unreduce.c $(UNZIP_H)
 | |
| unshrink$(O)		: unshrink.c $(UNZIP_H)
 | |
| unzip$(O)		: unzip.c $(UNZIP_H) crypt.h version.h consts.h
 | |
| unzip.hlp		: [.vms]unzip.rnh
 | |
| zipinfo$(O)		: zipinfo.c $(UNZIP_H)
 | |
| cmdline$(O)		: [.vms]cmdline.c $(UNZIP_H) version.h
 | |
| unz_cli$(O)		: [.vms]unz_cli.cld
 | |
| 
 | |
| cmdline_$(O)		: [.vms]cmdline.c $(UNZIP_H) version.h
 | |
| 	$(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) [.vms]cmdline.c
 | |
| 
 | |
| extract_$(O)		: extract.c $(UNZIP_H) crypt.h
 | |
| 	$(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) extract.c
 | |
| 
 | |
| process_$(O)		: process.c $(UNZIP_H)
 | |
| 	$(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) process.c
 | |
| 
 | |
| unzipsfx$(O)		: unzip.c $(UNZIP_H) crypt.h version.h consts.h
 | |
| 	$(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) unzip.c
 | |
| 
 | |
| vms$(O)			: [.vms]vms.c [.vms]vms.h [.vms]vmsdefs.h $(UNZIP_H)
 | |
| !	@ x = ""
 | |
| !	@ if f$search("SYS$LIBRARY:SYS$LIB_C.TLB").nes."" then x = "+SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARY"
 | |
| 	$(CC) $(CFLAGS_ALL) /OBJ=$(MMS$TARGET) [.vms]vms.c
 | |
| 
 | |
| vms_$(O)		: [.vms]vms.c [.vms]vms.h [.vms]vmsdefs.h $(UNZIP_H)
 | |
| !	@ x = ""
 | |
| !	@ if f$search("SYS$LIBRARY:SYS$LIB_C.TLB").nes."" then x = "+SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARY"
 | |
| 	$(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) [.vms]vms.c
 | |
| 
 | |
| 
 | |
| .IFDEF VMSCLI
 | |
| 
 | |
| [.vms]unzip.rnh		: [.vms]unzip_cli.help
 | |
| 	@ set default [.vms]
 | |
| 	edit/tpu/nosection/nodisplay/command=cvthelp.tpu unzip_cli.help
 | |
| 	rename unzip_cli.rnh unzip.rnh
 | |
| 	@ set default [-]
 | |
| 
 | |
| .ELSE
 | |
| 
 | |
| [.vms]unzip.rnh		: [.vms]unzip_def.rnh
 | |
| 	copy [.vms]unzip_def.rnh [.vms]unzip.rnh
 | |
| 
 | |
| .ENDIF
 |