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
		
			
				
	
	
		
			217 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			217 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| #------------------------------------------------------------------------------
 | |
| # 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
 |