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

📄 smakefile

📁 压缩解压,是unzip540的升级,这个外国网站摘来的源码,是evb编写.
💻
📖 第 1 页 / 共 2 页
字号:
#===========================================================================# Makefile for UnZip, ZipInfo, fUnZip, MakeSFX      AMIGA SAS/C Version 6.58# Version:  5.5                                     last revised:  13 Feb 01#===========================================================================# from John Bush <john.bush@east.sun.com>#            or: <JBush@bix.com># updated for SAS/C Version 6.56+ and AmigaDOS 3.1 (V40)# by Haidinger Walter <walthaid@unix.ict.tuwien.ac.at># additional supplements and maintenance by Paul Kienitz# This makefile should work with at least AmigaDOS 2.04 (V37)  (not tested)# and will probably not work with AmigaDOS 1.3 (V34)# If you have any improvements, critics or else please feel free to mail.# Any response is appreciated. Haidinger Walter <walthaid@unix.ict.tuwien.ac.at># Available targets:# all           builds all executables below# unzip         builds unzip executable# unzipsfx      builds unzipsfx executable# funzip        builds funzip executable# makesfx       builds makesfx executable# clean         remove all files created by the compilation# spotless      like clean target but removes binaries too########################### USER MACRO DEFINITIONS ############################ Set the processor to generate code for UnZip and fUnZip. Specify one of:# ANY 68000 68010 68020 68030 68040 68060  (Default: ANY or 68000)# Use of the assembly versions is not supported yet since some of the asm# source file do not assemble with 68000 instructions.# Any help is appreciated of course.CUSECPU = ANY# Uncomment both CUTIL and LUTIL to make use of utility.library of OS 2.04+# The utility.library is *not* used for UnZipSFX to ensure maximum portability# between the different Amiga systems (minimal config: 68000 and OS 1.2).# You can change this by adding the $(LUTIL) macro in the UnZipSFX linking# rules (See below: Final output targets, UnZipSFX:).# WARNINGS when using the utility library:# 1. All Executables will *only* work with AmigaDOS 2.04 (v37) or higher.# 2. You *need not* compile/link with short-integers using the#    utility.library. It will crash your machine. See Libraries below.## Default: commented (not used)##CUTIL = UTILLIB DEFINE=_UTILLIB#LUTIL = WITH SC:LIB/utillib.with    # include necessary linker defines# Choose one stack-handling method (default=faster)# StackExtend: Dynamic runtime stack extension. You won't notice stack overflows.# StackCheck: On a stack overflow a requester appears which allows you to exit.# Note that either stack watching will slow down your executable because of the# extra code run on each function entry. On the other hand, you won't crash# anymore due to stack overflows. However, you should not have *any* stack# problems with info-zip if you raise your stack to 20000 (which I'd# recommend as a minimum default stack for all applications) or more using the# shell stack command. Type 'Stack 20000' or add it to your S:Shell-Startup.# BTW: Typing 'Stack' prints your current stack size.#CSTACK = NOSTACKCHECK STACKEXTEND     # slow, but always works#CSTACK = STACKCHECK NOSTACKEXTEND    # slow, requester & graceful exit#CSTACK = NOSTACKCHECK NOSTACKEXTEND  # faster but relies on larger stack (>=10K)## LIBRARIES# ---------# Choose one DATAOPTS , SASLIB and LSTARTUP# Always comment/uncomment all macros of a set.# Library to use with near data and 2-byte integers# Notes: o  slower than 4-byte integers with 68000 cpu#        o  *not* recommended due to poor overall performance#        o  see comment in amiga/osdep.h#DATAOPTS = DATA=NEAR SHORTINTEGERS DEF=_NEAR_DATA#SASLIB   = scs#LSTARTUP = cres.o# Library to use with near data and 4-byte integers (DEFAULT)# *** use this with the utility.library ***DATAOPTS = DATA=NEAR DEF=_NEAR_DATASASLIB   = scLSTARTUP = cres.o# Library to use with far data and 2-byte integers# use if DYN_ALLOC is not defined# old default - far data always works but is slower#DATAOPTS = DATA=FAR SHORTINTEGERS DEF=_FAR_DATA#SASLIB   = scsnb#LSTARTUP = c.o# Library to use with far data and 4-byte integers# if everything else fails: try this#DATAOPTS = DATA=FAR DEF=_FAR_DATA#SASLIB   = scnb#LSTARTUP = c.o## DEBUGGING# ---------# Default: No debugging information added.# The two macros below will be overwritten if you choose to add# debug info, therefore need to comment.CDBG = NODEBUG NOPROFILE NOCOVERAGE    # default: no debug infoLDBG = STRIPDEBUG                      # default: no debug info# Compiler and loader debug flags.  Uncomment as needed.  Recomment when done.# Optimization disabled for faster compilation (by using NOOPT)#CDBG1 = DEF=DEBUG DEF=DEBUG_TIME     # enables Info-ZIP's debug output# Enable profiling and coverage when desired. Option COVERAGE commented# seperately because running coverage may corrupt your drive in case of a# system crash since a file 'cover.dat' is created in your working directory.# Note that the use of COVERAGE forces the use of the c.o startup module.#CDBG2 = PROFILE#CDBG3 = COVERAGE        # must use c.o startup code:#LSTARTUP = c.o          # Uncomment *only* when you use COVERAGE# *Uncomment* _HERE_ macros CDBG and LDBG to include debugging information#CDBG = $(CDBG1) $(CDBG2) $(CDBG3) ADDSYM DEBUG=FULLFLUSH STACKCHECK NOOPT#LDBG = ADDSYM# Optional use of memwatch.library which can be found in your# sc:extras/memlib directory. Please read the short docs (memlib.doc).# Note that memlib has a small bug: MWTerm() displays always the first entry.# Get the latest version from aminet (dev/debug/memlib.lha) or# contact me to get the patch. Uncomment all macros to use.#CMEMLIB  = DEFINE=MWDEBUG=1       # define to enable library#LMEMLIB  = SC:LIB/memwatch.lib    # path to library#LSTARTUP = c.o                    # must use c.o with memlib!## MAPPING# -------# Map filenames used when mapping (no need to comment)#MAPFS = unzip.map               # UnZip    map filenameMAPFX = unzipsfx.map            # UnZipSFX map filenameMAPFF = funzip.map              # fUnZip   map filenameMAPFM = makesfx.map             # MakeSFX  map filename# Map file output: Uncomment to highlight and bold headings.##MAPFSTYLE = FANCY# Map flags for each EXECUTABLE. Uncomment to enable mapping.# For map options please refer to:# SAS/C v6 manual, volume 1: user's guide, chapter 8, page 136: map# Default: all options enabled: f,h,l,o,s,x#                                 |-> options start here#LMAPS = $(MAPFSTYLE) MAP $(MAPFS) f,h,l,o,s,x   # UnZip    maps#LMAPX = $(MAPFSTYLE) MAP $(MAPFX) f,h,l,o,s,x   # UnZipSFX maps#LMAPF = $(MAPFSTYLE) MAP $(MAPFF) f,h,l,o,s,x   # fUnZip   maps#LMAPM = $(MAPFSTYLE) MAP $(MAPFM) f,h,l,o,s,x   # MakeSFX  maps## LISTINGS# --------# Listfile-extensions for each executable (enter *with* dot)#LISTEXTS = .lst         # extension for UnZip and MakeSFX listfilesLISTEXTX = .xlst        # extension for UnZipSFX listfilesLISTEXTF = .flst        # extension for fUnZip listfiles# List files and cross references for each OBJECT.# Add/remove flags as needed. All listed by default.# Use LISTINCLUDES only to determine the dependencies for smake#CLISTOPT = LISTHEADERS LISTMACROS # LISTSYSTEM LISTINCLUDESCXREFOPT = XHEAD XSYS## Uncomment to enable listing (default: commented)# *** WARNING: List files require *lots* of disk space!##CLIST = LIST $(CLISTOPT)#CXREF = XREF $(CXREFOPT)## SUPPRESSED COMPILER WARNINGS# ----------------------------# Compiler warnings to ignore## Warning 105 : module does not define any externally-known symbols# Warning 304 : Dead assignment eliminated...# Note    306 : ...function inlined...# Warning 317 : possibly uninitialized variable...# Comment to enable.#CIGNORE = IGNORE=105,304,306,317## OBJECT EXTENSIONS## Extensions used for objects of each executeable.# Transformation rules require unique extensions.# Enter *with* dot.#O  = .o         # general extension for objectsOX = .xo        # extension for special UnZipSFX objectsOF = .fo        # extension for special fUnZip objects# Filename used to store converted options from environment variable# LOCAL_UNZIP. Default: scoptions_local_unzip#CWITHOPT = scoptions_local_unzip# Filenames to store compiler options to prevent command line overflow## Options file for UnZip and fUnZipCFILEC = scoptions-unzip# Options file for UnZipSFXCFILEX = scoptions-unzipsfx# Special options for MakeSFXCFILEM = scoptions-makesfx# Temp filenames for object lists to load using linker "WITH" command.#OBJLISTS = unzip_objlist.with            # UnZip    object listOBJLISTX = unzipsfx_objlist.with         # UnZipSFX object listOBJLISTF = funzip_objlist.with           # fUnZip   object listOBJLISTM = makesfx_objlist.with          # MakeSFX  object list# Filenames to store linker options#LWITHS = unzip.lnk                       # UnZip    linker optionsLWITHX = unzipsfx.lnk                    # UnZipSFX linker optionsLWITHF = funzip.lnk                      # fUnZip   linker optionsLWITHM = makesfx.lnk                     # MakeSFX  linker options#######################################  NOTHING TO CHANGE BEYOND HERE ... ######################################## Compiler definitions#CC = sc## Optimizer flags#OPTPASSES = 6     # set number of global optimizer passes#OPT1 = OPT OPTINL OPTINLOCAL OPTTIME OPTLOOP OPTSCHEDOPT2 = OPTCOMP=$(OPTPASSES) OPTDEP=$(OPTPASSES) OPTRDEP=$(OPTPASSES)OPT  = $(OPT1) $(OPT2)# Compiler flags## cpu flags for UnZip and fUnZipCCPUOPTSF = CPU=$(CUSECPU) $(CUTIL)# cpu flags for UnzipSFX and MakeSFX (ensures portability to all Amigas)CCPUOPTXM = CPU=ANYCDEFINES = $(CMEMLIB) $(CDEFINES) DEF=AMIGA DEF=PROTOCOPTIONS = CODE=NEAR NMINC VERBOSE STRINGMERGE PARAMETERS=BOTHCOPTIONS = $(COPTIONS) ERRORREXX NOERRORCONSOLE MEMSIZE=HUGE $(CLIST) $(CXREF)COPTIONS = $(COPTIONS) $(CSTACK) STRICT UNSCHAR NOICONSCOPTIONS = $(COPTIONS) $(CIGNORE) $(OPT) $(CDBG)# common compiler flagsCFLAGSC  = $(CDEFINES) $(DATAOPTS) $(COPTIONS)# special compiler flags with $(DATAOPTS) excludedCFLAGSS  = $(CDEFINES) $(COPTIONS)# Linker definitions#  See SASLIB definition above#LD = slink# special linker flags for UnZip to create pure (i.e. resident) binary.LDFLAGSS = FROM SC:LIB/$(LSTARTUP)# common linker flags for all other executeablesLDFLAGSC = FROM SC:LIB/c.oLDFLAGS2 = NOICONS $(LDBG)# special linker flags to select library set aboveLIBFLAGSS = LIB $(LMEMLIB) SC:LIB/$(SASLIB).lib SC:LIB/amiga.lib# common linker flagsLIBFLAGSC = LIB $(LMEMLIB) SC:LIB/sc.lib SC:LIB/amiga.lib################### TARGET OBJECTS #################### UnZip ObjectsOBJS1 = unzip$(O) crc32$(O) crctab$(O) crypt$(O) envargs$(O) explode$(O)OBJS2 = extract$(O) fileio$(O) globals$(O) list$(O) inflate$(O) match$(O)OBJS3 = process$(O) ttyio$(O) unreduce$(O) unshrink$(O) zipinfo$(O)OBJSA = amiga$(O) timezone$(O)OBJS  = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJSA)

⌨️ 快捷键说明

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