makefile.msc
资源名称:unzip540.zip [点击查看]
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:7k
源码类别:
压缩解压
开发平台:
MultiPlatform
- #------------------------------------------------------------------------------
- # Makefile for UnZip 5.2 and later Greg Roelofs and others
- # Version: Microsoft C (5.x and later) 31 Mar 96
- #------------------------------------------------------------------------------
- # Users of MSC 6/7 and NMAKE can use the Unix Makefile (target msc_dos),
- # if desired. This makefile works just fine, too, however. OS/2 users
- # can cross-compile using os2/makefile.os2 (target mscdos). Note that
- # there is possibly a bug in MSC 6 which screws up funzip (goes into
- # infinite loop? --this has not been confirmed in over a year...). There
- # is definitely a bug (internal compiler error) in MSC 6.00 while com-
- # piling explode.c (fixed in 6.0a, 6.0ax, 6.0ax2, 7.*, 8.*).
- # GNU make doesn't like the return value from "rem"
- #STRIP=rem
- STRIP=echo Ignore this line.
- # If you don't have LZEXE or PKLITE, get one of them. Then define:
- #STRIP=lzexe
- # or
- #STRIP=pklite
- # and remove /e from LDFLAGS.
- # This makes a big difference in .exe size (and possibly load time).
- # Optional nonstandard preprocessor flags (as -DCHECK_EOF or -DDOS_WILD)
- # should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added
- # to the declaration of LOC here:
- LOC = $(LOCAL_UNZIP)
- # Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.
- CPU_TYP = 0
- # small model for MSC 6.0 and 7.0?
- #UNMODEL=S # small model for UnZip and UnZipSFX
- # with MSC 5.1 and 8.x, small model exceeds 64k code segment; use medium instead
- UNMODEL=M # medium model for UnZip and UnZipSFX
- FUMODEL=S # always use small model for fUnZip
- # name of Flag to select memory model for assembler compiles, supported
- # values are __SMALL__ , __MEDIUM__ , __COMPACT__ , __LARGE__ :
- #ASUNMODEL=__SMALL__ # keep in sync with UNMODEL definition !!
- # for MSC 5.1 and 8.x use:
- ASUNMODEL=__MEDIUM__ # keep in sync with UNMODEL definition !!
- ASFUMODEL=__SMALL__ # keep in sync with FUMODEL definition !!
- # Uncomment the following three macros to use the optimized CRC32 assembler
- # routine in UnZip and UnZipSFX:
- ASMFLG = -DASM_CRC
- ASMOBJS = crc_i86.obj
- ASMOBJF = crc_i86_.obj
- ASCPUFLAG = __$(CPU_TYP)86
- CC = cl # -Ox does not work for inflate.c
- # add -G2(3,4) for 286 (386, 486) and/or -FPi87 for 80x87:
- CFLAGS = -nologo -DMSC $(ASMFLG) $(LOC) -G$(CPU_TYP) -Oait -Gs -I.
- AS = masm
- ASFLAGS = -ml -D$(ASCPUFLAG) $(LOC)
- LD = Link # mixed case to disable special handling by GNU Make
- # remove /e if you have LZEXE or PKLITE:
- LDFLAGS = /nologo/noi/e/st:0x0c00/farcall/packcode
- # "/farcall/packcode" are only useful for `large code' memory models
- # but should be a "no-op" for small code models.
- LDFLAGS2 = ,$*
- LDFLAGS2_UN = $(LDFLAGS2);
- LDFLAGS2_FU = $(LDFLAGS2);
- OBJS1 = unzip.obj crc32.obj crctab.obj crypt.obj envargs.obj explode.obj
- OBJS2 = extract.obj fileio.obj globals.obj inflate.obj list.obj match.obj
- OBJS3 = process.obj ttyio.obj unreduce.obj unshrink.obj zipinfo.obj
- OBJS4 = msdos.obj $(ASMOBJS)
- OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4)
- OBJX1 = unzipsfx.obj crc32.obj crctab.obj crypt.obj extract_.obj fileio.obj
- OBJX2 = globals.obj inflate.obj match.obj process_.obj ttyio.obj
- OBJX3 = msdos_.obj $(ASMOBJS)
- OBJX = $(OBJX1) $(OBJX2) $(OBJX3)
- OBJF = funzip.obj crc32_.obj crypt_.obj globals_.obj inflate_.obj ttyio_.obj
- $(ASMOBJF)
- UNZIP_H = unzip.h unzpriv.h globals.h msdos/doscfg.h
- default: unzip.exe funzip.exe unzipsfx.exe
- #clean:
- # As long as the brain damaged old ``Make'' utility from MSC 5.1 and earlier
- # (NMAKE from MSC 6.0 + would work !) remains supported, a "clean" target
- # cannot be inserted !!
- # pattern rules for implicit dependencies:
- .asm.obj:
- $(AS) $(ASFLAGS) -D$(ASUNMODEL) $<, $@;
- .c.obj:
- $(CC) -c -A$(UNMODEL) $(CFLAGS) $*.c
- # individual dependencies and action rules:
- crc_i86.obj: msdos/crc_i86.asm
- $(AS) $(ASFLAGS) -D$(ASUNMODEL) msdos/crc_i86.asm, $@;
- crc_i86_.obj: msdos/crc_i86.asm
- $(AS) $(ASFLAGS) -D$(ASFUMODEL) msdos/crc_i86.asm, $@;
- crc32.obj: crc32.c $(UNZIP_H) zip.h
- crc32_.obj: crc32.c $(UNZIP_H) zip.h
- $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Focrc32_.obj crc32.c
- crctab.obj: crctab.c $(UNZIP_H) zip.h
- crypt.obj: crypt.c $(UNZIP_H) crypt.h ttyio.h zip.h
- crypt_.obj: crypt.c $(UNZIP_H) crypt.h ttyio.h zip.h
- $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Focrypt_.obj crypt.c
- envargs.obj: envargs.c $(UNZIP_H)
- explode.obj: explode.c $(UNZIP_H)
- extract.obj: extract.c $(UNZIP_H) crypt.h
- extract_.obj: extract.c $(UNZIP_H) crypt.h
- $(CC) -c -A$(UNMODEL) $(CFLAGS) -DSFX -Foextract_.obj extract.c
- fileio.obj: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h
- funzip.obj: funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h
- $(CC) -c -A$(FUMODEL) $(CFLAGS) funzip.c
- globals.obj: globals.c $(UNZIP_H)
- globals_.obj: globals.c $(UNZIP_H)
- $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Foglobals_.obj globals.c
- inflate.obj: inflate.c inflate.h $(UNZIP_H)
- inflate_.obj: inflate.c inflate.h $(UNZIP_H) crypt.h
- $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Foinflate_.obj inflate.c
- list.obj: list.c $(UNZIP_H)
- match.obj: match.c $(UNZIP_H)
- msdos.obj: msdos/msdos.c $(UNZIP_H)
- $(CC) -c -A$(UNMODEL) $(CFLAGS) msdos/msdos.c
- msdos_.obj: msdos/msdos.c $(UNZIP_H)
- $(CC) -c -A$(UNMODEL) $(CFLAGS) -DSFX -Fomsdos_.obj msdos/msdos.c
- process.obj: process.c $(UNZIP_H)
- process_.obj: process.c $(UNZIP_H)
- $(CC) -c -A$(UNMODEL) $(CFLAGS) -DSFX -Foprocess_.obj process.c
- ttyio.obj: ttyio.c $(UNZIP_H) crypt.h ttyio.h zip.h
- ttyio_.obj: ttyio.c $(UNZIP_H) crypt.h ttyio.h zip.h
- $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Fottyio_.obj ttyio.c
- unreduce.obj: unreduce.c $(UNZIP_H)
- unshrink.obj: unshrink.c $(UNZIP_H)
- unzip.obj: unzip.c $(UNZIP_H) crypt.h version.h consts.h
- unzipsfx.obj: unzip.c $(UNZIP_H) crypt.h version.h consts.h
- $(CC) -c -A$(UNMODEL) $(CFLAGS) -DSFX -Founzipsfx.obj unzip.c
- zipinfo.obj: zipinfo.c $(UNZIP_H)
- # MS make:
- # -------
- unzip.exe: $(OBJS)
- echo $(OBJS1)+ > unzip.rsp
- echo $(OBJS2)+ >> unzip.rsp
- echo $(OBJS3)+ >> unzip.rsp
- echo $(OBJS4) >> unzip.rsp
- echo $(LDFLAGS2_UN) >> unzip.rsp
- $(LD) $(LDFLAGS) @unzip.rsp
- del unzip.rsp
- $(STRIP) unzip.exe
- unzipsfx.exe: $(OBJX)
- echo $(OBJX1)+ > unzipsfx.rsp
- echo $(OBJX2)+ >> unzipsfx.rsp
- echo $(OBJX3) >> unzipsfx.rsp
- echo $(LDFLAGS2_UN) >> unzipsfx.rsp
- $(LD) $(LDFLAGS) @unzipsfx.rsp
- del unzipsfx.rsp
- $(STRIP) unzipsfx.exe
- funzip.exe: $(OBJF)
- echo $(OBJF) > funzip.rsp
- echo $(LDFLAGS2_FU) >> funzip.rsp
- $(LD) $(LDFLAGS) @funzip.rsp
- del funzip.rsp
- $(STRIP) funzip.exe
- # better makes which know how to deal with 128-char limit on command line:
- # -----------------------------------------------------------------------
- #unzip.exe: $(OBJS)
- # $(LD) $(LDFLAGS) $(OBJS) $(LDFLAGS2)
- # $(STRIP) unzip.exe
- #
- #unzipsfx.exe: $(OBJX)
- # $(LD) $(LDFLAGS) $(OBJX) $(LDFLAGS2)
- # $(STRIP) unzipsfx.exe
- #
- #funzip.exe: $(OBJF)
- # $(LD) $(LDFLAGS) $(OBJF) $(LDFLAGS2_FU)
- # $(STRIP) funzip.exe