| 1 | # Makefile for UnZip(SFX) and fUnZip for Borland C++ for Windows 95/NT |
| 2 | # Version: 5.4 and later Alvin Koh, Jim Knoble, Christian Spieler, etc. |
| 3 | # Adapted from the MS-DOS makefile by E-Yen Tan |
| 4 | # |
| 5 | # Last revised: 24 Nov 98 |
| 6 | # |
| 7 | # |
| 8 | |
| 9 | |
| 10 | # Optional nonstandard preprocessor flags (as -DCHECK_EOF or -DDOS_WILD) |
| 11 | # should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added |
| 12 | # to the declaration of LOC here: |
| 13 | LOC = $(LOCAL_UNZIP) |
| 14 | |
| 15 | # Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc. |
| 16 | CPU_TYP = 4 |
| 17 | |
| 18 | # (De)Select inclusion of optimized assembler CRC32 routine: |
| 19 | USE_ASMCRC = 0 |
| 20 | |
| 21 | # If you have bcc32i, you should define: |
| 22 | # CC = bcc32i |
| 23 | # This compiler generates a faster code. |
| 24 | CC = bcc32 |
| 25 | AS = tasm32 |
| 26 | |
| 27 | !if $(USE_ASMCRC) |
| 28 | ASMFLG = -DASM_CRC |
| 29 | ASMOBJS = crc_i386.obj |
| 30 | !else |
| 31 | ASMFLG = |
| 32 | ASMOBJS = |
| 33 | !endif |
| 34 | |
| 35 | !if $(UNCLEAN) |
| 36 | DIRT = -DUSE_SMITH_CODE -DUSE_UNSHRINK |
| 37 | !else |
| 38 | DIRT = |
| 39 | !endif |
| 40 | |
| 41 | # compiler flags |
| 42 | |
| 43 | ASCPUFLAG = __$(CPU_TYP)86 |
| 44 | !if $(CPU_TYP) != 0 |
| 45 | CC_CPUFLG = -$(CPU_TYP) |
| 46 | !endif |
| 47 | ASFLAGS = -ml -m2 -w0 -D$(ASCPUFLAG) $(LOC) |
| 48 | 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 |
| 49 | LDFLAGS = -L$(WXWIN)\lib -aa -c # for bcc |
| 50 | LINK = ilink32 |
| 51 | LIBS = wx32 cw32mt import32 ole2w32 winpng zlib jpeg xpm tiff |
| 52 | |
| 53 | UNFLAGS = $(CFLAGS) |
| 54 | |
| 55 | # implicit rules |
| 56 | |
| 57 | .asm.obj: |
| 58 | $(AS) $(ASFLAGS) $< |
| 59 | |
| 60 | .c.obj: |
| 61 | $(CC) -c $(UNFLAGS) {$< } |
| 62 | |
| 63 | # list macros |
| 64 | |
| 65 | OBJU1 = unzip.obj crc32.obj crctab.obj crypt.obj envargs.obj explode.obj |
| 66 | OBJU2 = extract.obj fileio.obj globals.obj inflate.obj list.obj match.obj |
| 67 | OBJU3 = process.obj ttyio.obj unreduce.obj unshrink.obj zipinfo.obj |
| 68 | OBJUS = win32.obj nt.obj install.obj wxmain.obj instsup.obj $(ASMOBJS) |
| 69 | OBJU = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJUS) |
| 70 | |
| 71 | UNZIP_H = ../inczip/unzip.h ../inczip/unzpriv.h ../inczip/globals.h ../inczip/w32cfg.h |
| 72 | |
| 73 | # explicit rules |
| 74 | |
| 75 | all: sfx.exe |
| 76 | |
| 77 | sfx.exe: $(OBJU) sfx.res |
| 78 | $(LINK) $(LDFLAGS) @&&! |
| 79 | c0w32.obj $(OBJU) |
| 80 | sfx.exe |
| 81 | nul |
| 82 | $(LIBS) |
| 83 | |
| 84 | sfx.res |
| 85 | ! |
| 86 | |
| 87 | clean: |
| 88 | -erase *.obj |
| 89 | -erase *.exe |
| 90 | -erase *.res |
| 91 | -erase *.map |
| 92 | -erase *.rws |
| 93 | -erase *.tds |
| 94 | -erase *.il? |
| 95 | |
| 96 | # individual file dependencies |
| 97 | |
| 98 | crc32.obj: crc32.c $(UNZIP_H) ../inczip/zip.h |
| 99 | crctab.obj: crctab.c $(UNZIP_H) ../inczip/zip.h |
| 100 | crypt.obj: crypt.c $(UNZIP_H) ../inczip/zip.h ../inczip/crypt.h ../inczip/ttyio.h |
| 101 | envargs.obj: envargs.c $(UNZIP_H) |
| 102 | explode.obj: explode.c $(UNZIP_H) |
| 103 | extract.obj: extract.c $(UNZIP_H) ../inczip/crypt.h |
| 104 | fileio.obj: fileio.c $(UNZIP_H) ../inczip/crypt.h ../inczip/ttyio.h ../inczip/ebcdic.h |
| 105 | globals.obj: globals.c $(UNZIP_H) |
| 106 | inflate.obj: inflate.c ../inczip/inflate.h $(UNZIP_H) |
| 107 | list.obj: list.c $(UNZIP_H) |
| 108 | match.obj: match.c $(UNZIP_H) |
| 109 | process.obj: process.c $(UNZIP_H) |
| 110 | ttyio.obj: ttyio.c $(UNZIP_H) ../inczip/zip.h ../inczip/crypt.h ../inczip/ttyio.h |
| 111 | unreduce.obj: unreduce.c $(UNZIP_H) |
| 112 | unshrink.obj: unshrink.c $(UNZIP_H) |
| 113 | unzip.obj: unzip.c $(UNZIP_H) ../inczip/crypt.h ../inczip/version.h ../inczip/consts.h |
| 114 | zipinfo.obj: zipinfo.c $(UNZIP_H) |
| 115 | |
| 116 | #crc_i386.obj: win32/crc_i386.asm |
| 117 | # $(AS) $(ASFLAGS) win32\crc_i386.asm, $*.obj ; |
| 118 | |
| 119 | win32.obj: win32.c $(UNZIP_H) |
| 120 | $(CC) -c $(UNFLAGS) win32.c |
| 121 | |
| 122 | nt.obj: nt.c $(UNZIP_H) |
| 123 | $(CC) -c $(UNFLAGS) nt.c |
| 124 | |
| 125 | install.obj: ../install.c $(UNZIP_H) |
| 126 | $(CC) -c $(UNFLAGS) ../install.c |
| 127 | |
| 128 | wxmain.obj: ../wxmain.cpp $(UNZIP_H) |
| 129 | $(CC) -P- -c $(UNFLAGS) ../wxmain.cpp |
| 130 | |
| 131 | instsup.obj: ../instsup.cpp $(UNZIP_H) |
| 132 | $(CC) -P- -c $(UNFLAGS) ../instsup.cpp |
| 133 | |
| 134 | sfx.res : sfx.rc $(WXWIN)\include\wx\msw\wx.rc |
| 135 | brc32 -r /i$(BCCDIR)\include /i$(WXWIN)\include /i$(WXWIN)\contrib\include sfx |