# Makefile for UnZip(SFX) and fUnZip for Borland C++ for Windows 95/NT # Version: 5.4 and later Alvin Koh, Jim Knoble, Christian Spieler, etc. # Adapted from the MS-DOS makefile by E-Yen Tan # # Last revised: 24 Nov 98 # # # 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 = 4 # (De)Select inclusion of optimized assembler CRC32 routine: USE_ASMCRC = 0 # If you have bcc32i, you should define: # CC = bcc32i # This compiler generates a faster code. CC = bcc32 AS = tasm32 !if $(USE_ASMCRC) ASMFLG = -DASM_CRC ASMOBJS = crc_i386.obj !else ASMFLG = ASMOBJS = !endif !if $(UNCLEAN) DIRT = -DUSE_SMITH_CODE -DUSE_UNSHRINK !else DIRT = !endif # compiler flags ASCPUFLAG = __$(CPU_TYP)86 !if $(CPU_TYP) != 0 CC_CPUFLG = -$(CPU_TYP) !endif ASFLAGS = -ml -m2 -w0 -D$(ASCPUFLAG) $(LOC) CFLAGS = -Od -w- $(CC_CPUFLG) -ff- -k- -P-.C -I. -I.. -I../inczip -I../../../include $(ASMFLG) $(LOC) $(DIRT) -v -D__WXMSW__ -DWXDEBUG=1 -D__WXDEBUG__ -DUSE_DEFINE -DWIN32 -D__WIN95__ -D__WINDOWS__ -I$(WXDIR)\include LDFLAGS = -L$(WXWIN)\lib -aa -c # for bcc LINK = ilink32 LIBS = wx32 cw32mt import32 ole2w32 winpng zlib jpeg xpm tiff UNFLAGS = $(CFLAGS) # implicit rules .asm.obj: $(AS) $(ASFLAGS) $< .c.obj: $(CC) -c $(UNFLAGS) {$< } # list macros OBJU1 = unzip.obj crc32.obj crctab.obj crypt.obj envargs.obj explode.obj OBJU2 = extract.obj fileio.obj globals.obj inflate.obj list.obj match.obj OBJU3 = process.obj ttyio.obj unreduce.obj unshrink.obj zipinfo.obj OBJUS = win32.obj nt.obj install.obj wxmain.obj instsup.obj $(ASMOBJS) OBJU = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJUS) UNZIP_H = ../inczip/unzip.h ../inczip/unzpriv.h ../inczip/globals.h ../inczip/w32cfg.h # explicit rules all: sfx.exe sfx.exe: $(OBJU) sfx.res $(LINK) $(LDFLAGS) @&&! c0w32.obj $(OBJU) sfx.exe nul $(LIBS) sfx.res ! clean: -erase *.obj -erase *.exe -erase *.res -erase *.map -erase *.rws -erase *.tds -erase *.il? # individual file dependencies crc32.obj: crc32.c $(UNZIP_H) ../inczip/zip.h crctab.obj: crctab.c $(UNZIP_H) ../inczip/zip.h crypt.obj: crypt.c $(UNZIP_H) ../inczip/zip.h ../inczip/crypt.h ../inczip/ttyio.h envargs.obj: envargs.c $(UNZIP_H) explode.obj: explode.c $(UNZIP_H) extract.obj: extract.c $(UNZIP_H) ../inczip/crypt.h fileio.obj: fileio.c $(UNZIP_H) ../inczip/crypt.h ../inczip/ttyio.h ../inczip/ebcdic.h globals.obj: globals.c $(UNZIP_H) inflate.obj: inflate.c ../inczip/inflate.h $(UNZIP_H) list.obj: list.c $(UNZIP_H) match.obj: match.c $(UNZIP_H) process.obj: process.c $(UNZIP_H) ttyio.obj: ttyio.c $(UNZIP_H) ../inczip/zip.h ../inczip/crypt.h ../inczip/ttyio.h unreduce.obj: unreduce.c $(UNZIP_H) unshrink.obj: unshrink.c $(UNZIP_H) unzip.obj: unzip.c $(UNZIP_H) ../inczip/crypt.h ../inczip/version.h ../inczip/consts.h zipinfo.obj: zipinfo.c $(UNZIP_H) #crc_i386.obj: win32/crc_i386.asm # $(AS) $(ASFLAGS) win32\crc_i386.asm, $*.obj ; win32.obj: win32.c $(UNZIP_H) $(CC) -c $(UNFLAGS) win32.c nt.obj: nt.c $(UNZIP_H) $(CC) -c $(UNFLAGS) nt.c install.obj: ../install.c $(UNZIP_H) $(CC) -c $(UNFLAGS) ../install.c wxmain.obj: ../wxmain.cpp $(UNZIP_H) $(CC) -P- -c $(UNFLAGS) ../wxmain.cpp instsup.obj: ../instsup.cpp $(UNZIP_H) $(CC) -P- -c $(UNFLAGS) ../instsup.cpp sfx.res : sfx.rc $(WXWIN)\include\wx\msw\wx.rc brc32 -r /i$(BCCDIR)\include /i$(WXWIN)\include /i$(WXWIN)\contrib\include sfx