123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- !==========================================================================
- ! MMS description file for bzip2 support in UnZip 6 2008-02-16
- !==========================================================================
- !
- ! To build the LIBBZ2_NS library, edit the USER CUSTOMIZATION
- ! lines below to taste, then do
- ! mms
- ! or
- ! mmk
- ! if you use Matt's Make (free MMS-compatible make utility).
- !
- ! In all other cases where you want to explicitly specify a makefile target,
- ! you have to specify your compiling environment, too. These are:
- !
- ! $ MMS/MACRO=(__ALPHA__=1) ! Alpha AXP, (DEC C)
- ! $ MMS/MACRO=(__IA64__=1) ! IA64, (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 delete all .OBJ, .OLB, .EXE and .HLP files,
- ! mms clean
- ## The "DO_THE_BUILD" target does no longer work with current
- ## releases of the MMS tool, sigh.
- #DO_THE_BUILD :
- # @ decc = f$search("SYS$SYSTEM:DECC$COMPILER.EXE").nes.""
- # @ axp = (f$getsyi("HW_MODEL") .ge. 1024) .and. -
- # (f$getsyi("HW_MODEL") .lt. 4096)
- # @ i64 = f$getsyi("HW_MODEL") .ge. 4096
- # @ macro = "/MACRO=("
- #.IFDEF CCOPTS
- # @ macro = macro + """CCOPTS=$(CCOPTS)"","
- #.ENDIF
- # @ if decc then macro = macro + "__DECC__=1,"
- # @ if axp then macro = macro + "__ALPHA__=1,"
- # @ if i64 then macro = macro + "__IA64__=1,"
- # @ if .not.(axp .or. i64 .or. decc) then macro = macro + "__VAXC__=1,"
- # @ macro = f$extract(0,f$length(macro)-1,macro)+ ")"
- # $(MMS)$(MMSQUALIFIERS)'macro' DEFAULT
- # 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__
- .IFDEF __ALPHA__ # __ALPHA__
- DEST = ALPHA
- #E = .AXP_EXE
- #O = .AXP_OBJ
- #A = .AXP_OLB
- .ELSE # __ALPHA__
- .IFDEF __IA64__ # __IA64__
- DEST = IA64
- #E = .I64_EXE
- #O = .I64_OBJ
- #A = .I64_OLB
- .ELSE # __IA64__
- .IFDEF __DECC__ # __DECC__
- DEST = VAX
- #E = .VAX_DECC_EXE
- #O = .VAX_DECC_OBJ
- #A = .VAX_DECC_OLB
- .ENDIF # __DECC__
- .IFDEF __FORCE_VAXC__ # __FORCE_VAXC__
- __VAXC__ = 1
- .ENDIF # __FORCE_VAXC__
- .IFDEF __VAXC__ # __VAXC__
- DEST = VAXV
- #E = .VAX_VAXC_EXE
- #O = .VAX_VAXC_OBJ
- #A = .VAX_VAXC_OLB
- .ENDIF # __VAXC__
- .IFDEF __GNUC__ # __GNUC__
- DEST = VAXG
- #E = .VAX_GNUC_EXE
- #O = .VAX_GNUC_OBJ
- #A = .VAX_GNUC_OLB
- .ENDIF # __GNUC__
- .ENDIF # __IA64__
- .ENDIF # __ALPHA__
- .IFDEF O # O
- .ELSE # O
- !If EXE and OBJ extensions aren't defined, define them
- E = .EXE
- O = .OBJ
- A = .OLB
- .ENDIF # O
- .IFDEF SRCDIR
- .ELSE
- SRCDIR = []
- .ENDIF
- .IFDEF DSTDIR # DSTDIR
- .ELSE # DSTDIR
- .IFDEF DEST # DEST
- DSTDIR = [.$(DEST)]
- .ELSE # DEST
- DSTDIR = []
- .ENDIF # DEST
- .ENDIF # DSTDIR
- !!!!!!!!!!!!!!!!!!!!!!!!!!! USER CUSTOMIZATION !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- ! add any common optional preprocessor flags (macros) here
- ! (do not forget a trailing comma!!):
- COMMON_DEFS =
- !!!!!!!!!!!!!!!!!!!!!!!! END OF USER CUSTOMIZATION !!!!!!!!!!!!!!!!!!!!!!!!
- .IFDEF __GNUC__
- CC = gcc
- LIBS = ,GNU_CC:[000000]GCCLIB.OLB/LIB
- .ELSE
- CC = cc
- LIBS =
- .ENDIF
- CFLAGS = /NOLIST
- OPTFILE = sys$disk:[.vms]vaxcshr.opt
- .IFDEF __ALPHA__ # __ALPHA__
- CC_OPTIONS = /STANDARD=RELAX/PREFIX=ALL/ANSI/NAMES=(AS_IS)
- CC_DEFS =
- .ELSE # __ALPHA__
- .IFDEF __IA64__ # __IA64__
- CC_OPTIONS = /STANDARD=RELAX/PREFIX=ALL/ANSI/NAMES=(AS_IS)
- CC_DEFS =
- .ELSE # __IA64__
- .IFDEF __DECC__ # __DECC__
- CC_OPTIONS = /DECC/STANDARD=RELAX/PREFIX=ALL/NAMES=(AS_IS)
- CC_DEFS =
- .ELSE # __DECC__
- .IFDEF __FORCE_VAXC__ # __FORCE_VAXC__
- !Select VAXC on systems where DEC C exists
- CC_OPTIONS = /VAXC
- .ELSE # __FORCE_VAXC__
- !No flag allowed/needed on a pure VAXC system
- CC_OPTIONS =
- .ENDIF # __FORCE_VAXC__
- CC_DEFS =
- .ENDIF # __DECC__
- .ENDIF # __IA64__
- .ENDIF # __ALPHA__
- !
- ! The .FIRST target is needed only if we're serious about building,
- ! and then, only if BZIP2 support was requested.
- !
- .IFDEF MMSTARGETS # MMSTARGETS
- .FIRST
- @ write sys$output " Destination: $(DSTDIR)"
- @ write sys$output ""
- if ("$(DEST)" .nes. "") then -
- if (f$search("$(DEST).DIR;1") .eqs. "") then -
- create /directory $(DSTDIR)
- .ENDIF # MMSTARGETS
- CC_DEFS2 =
- CFLAGS_INCL = /INCLUDE = []
- .IFDEF __DEBUG__
- CDEB = /DEBUG/NOOPTIMIZE
- .ELSE
- CDEB =
- .ENDIF
- CFLAGS_ALL = $(CC_OPTIONS) $(CFLAGS) $(CDEB) $(CFLAGS_INCL) -
- /def=($(CC_DEFS) $(COMMON_DEFS) BZ_NO_STDIO, VMS) -
- $(CCOPTS)
- OBJBZ2LIB = \
- $(DSTDIR)blocksort$(O), \
- $(DSTDIR)huffman$(O), \
- $(DSTDIR)crctable$(O), \
- $(DSTDIR)randtable$(O), \
- $(DSTDIR)compress$(O), \
- $(DSTDIR)decompress$(O), \
- $(DSTDIR)bzlib$(O)
- OLBBZ2 = $(DSTDIR)LIBBZ2_NS$(A)
- BZIP2_H = $(SRCDIR)bzlib.h $(SRCDIR)bzlib_private.h
- !!!!!!!!!!!!!!!!!!! override default rules: !!!!!!!!!!!!!!!!!!!
- .suffixes :
- .suffixes : .ANL $(E) $(A) .MLB .HLB .TLB .FLB $(O) -
- .FORM .BLI .B32 .C .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)$(A) :
- If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(LIBR)/Create $(MMS$TARGET)
- $(LIBR)$(LIBRFLAGS) $(MMS$TARGET) $(MMS$SOURCE)
- .c$(O) :
- $(CC) $(CFLAGS_ALL) /OBJ=$(MMS$TARGET) $(MMS$SOURCE)
- !!!!!!!!!!!!!!!!!! here starts the bzip2 specific part !!!!!!!!!!!
- DEFAULT default : CHK_DESTDIR $(OLBBZ2)
- @ ! Do nothing.
- CLEAN.COM 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 : clean.com
- @clean "$(OBJBZ2LIB)"
- @clean "$(OLBBZ2)"
- @- delete/noconfirm/nolog clean.com;*
- @- if ("$(DEST).dir" .nes. "") then -
- if (f$search("$(DEST).dir") .nes. "") then -
- set protect=w:d $(DEST).dir;*
- @- if ("$(DEST).dir" .nes. "") then -
- if (f$search("$(DEST).dir") .nes. "") then -
- delete/noconfirm $(DEST).dir;*
- CHK_DESTDIR chk_destdir :
- @ If ("$(DEST)" .NES. "") Then -
- If "''F$Search("$(DEST).DIR;1")'" .EQS. "" Then -
- Create /directory $(DSTDIR)
- $(OLBBZ2) : $(OBJBZ2LIB)
- If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(LIBR)/Create $(MMS$TARGET)
- $(LIBR)$(LIBRFLAGS) $(MMS$TARGET) $(MMS$CHANGED_LIST)
- @ write sys$output "$(MMS$TARGET) updated."
- $(OBJBZ2LIB) : $(BZIP2_H)
- $(DSTDIR)blocksort$(O) : $(SRCDIR)blocksort.c
- $(DSTDIR)huffman$(O) : $(SRCDIR)huffman.c
- $(DSTDIR)crctable$(O) : $(SRCDIR)crctable.c
- $(DSTDIR)randtable$(O) : $(SRCDIR)randtable.c
- $(DSTDIR)compress$(O) : $(SRCDIR)compress.c
- $(DSTDIR)decompress$(O) : $(SRCDIR)decompress.c
- $(DSTDIR)bzlib$(O) : $(SRCDIR)bzlib.c
|