| 1 | # Makefile for zlib |
| 2 | |
| 3 | # WARNING: the small model is supported but only for small values of |
| 4 | # MAX_WBITS and MAX_MEM_LEVEL. If you wish to reduce the memory |
| 5 | # requirements (default 256K for big objects plus a few K), you can add |
| 6 | # to CFLAGS below: -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 |
| 7 | # See zconf.h for details about the memory requirements. |
| 8 | |
| 9 | !if "$(RM)" == "" |
| 10 | RM= erase |
| 11 | !endif |
| 12 | |
| 13 | !ifndef FINAL |
| 14 | FINAL=0 |
| 15 | !endif |
| 16 | |
| 17 | !if "$(FINAL)" == "0" |
| 18 | CFLAGS=/nologo /Od $(CRTFLAG) /GX /Fo$@ |
| 19 | _CRTFLAG=/MDd |
| 20 | !else if "$(FINAL)" == "hybrid" |
| 21 | CFLAGS=/nologo /Od $(CRTFLAG) /GX /Fo$@ |
| 22 | _CRTFLAG=/MD |
| 23 | !else |
| 24 | CFLAGS=/nologo -O2 $(CRTFLAG) /GX /Fo$@ |
| 25 | _CRTFLAG=/MD |
| 26 | !endif |
| 27 | |
| 28 | !if "$(CRTFLAG)" == "" |
| 29 | CRTFLAG=$(_CRTFLAG) |
| 30 | !endif |
| 31 | |
| 32 | |
| 33 | CC=cl |
| 34 | LD=cl |
| 35 | LIB=tlib |
| 36 | LDFLAGS=$(MODEL) |
| 37 | O=.obj |
| 38 | |
| 39 | !if "$(FINAL)" == "1" |
| 40 | LIBTARGET=..\..\lib\zlib.lib |
| 41 | D=Release |
| 42 | !else if "$(FINAL)" == "hybrid" |
| 43 | LIBTARGET=..\..\lib\zlibh.lib |
| 44 | D=Hybrid |
| 45 | !else |
| 46 | LIBTARGET=..\..\lib\zlibd.lib |
| 47 | D=Debug |
| 48 | !endif |
| 49 | |
| 50 | # variables |
| 51 | OBJ1 = $D\adler32$(O) $D\compress$(O) $D\crc32$(O) $D\gzio$(O) \ |
| 52 | $D\uncompr$(O) $D\deflate$(O) $D\trees$(O) |
| 53 | OBJ2 = $D\zutil$(O) $D\inflate$(O) $D\infblock$(O) $D\inftrees$(O) \ |
| 54 | $D\infcodes$(O) $D\infutil$(O) $D\inffast$(O) |
| 55 | |
| 56 | all: $D $(LIBTARGET) |
| 57 | |
| 58 | $D: |
| 59 | mkdir .\$D |
| 60 | |
| 61 | $D\adler32.obj: adler32.c zutil.h zlib.h zconf.h |
| 62 | $(CC) -c $(CFLAGS) $(*B).c |
| 63 | |
| 64 | $D\compress.obj: compress.c zlib.h zconf.h |
| 65 | $(CC) -c $(CFLAGS) $(*B).c |
| 66 | |
| 67 | $D\crc32.obj: crc32.c zutil.h zlib.h zconf.h |
| 68 | $(CC) -c $(CFLAGS) $(*B).c |
| 69 | |
| 70 | $D\deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h |
| 71 | $(CC) -c $(CFLAGS) $(*B).c |
| 72 | |
| 73 | $D\gzio.obj: gzio.c zutil.h zlib.h zconf.h |
| 74 | $(CC) -c $(CFLAGS) $(*B).c |
| 75 | |
| 76 | $D\infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\ |
| 77 | infcodes.h infutil.h |
| 78 | $(CC) -c $(CFLAGS) $(*B).c |
| 79 | |
| 80 | $D\infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\ |
| 81 | infcodes.h inffast.h |
| 82 | $(CC) -c $(CFLAGS) $(*B).c |
| 83 | |
| 84 | $D\inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h |
| 85 | $(CC) -c $(CFLAGS) $(*B).c |
| 86 | |
| 87 | $D\inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h |
| 88 | $(CC) -c $(CFLAGS) $(*B).c |
| 89 | |
| 90 | $D\infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h |
| 91 | $(CC) -c $(CFLAGS) $(*B).c |
| 92 | |
| 93 | $D\inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h |
| 94 | $(CC) -c $(CFLAGS) $(*B).c |
| 95 | |
| 96 | $D\trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h |
| 97 | $(CC) -c $(CFLAGS) $(*B).c |
| 98 | |
| 99 | $D\uncompr.obj: uncompr.c zlib.h zconf.h |
| 100 | $(CC) -c $(CFLAGS) $(*B).c |
| 101 | |
| 102 | $D\zutil.obj: zutil.c zutil.h zlib.h zconf.h |
| 103 | $(CC) -c $(CFLAGS) $(*B).c |
| 104 | |
| 105 | LIBOBJECTS = $(OBJ1) $(OBJ2) |
| 106 | |
| 107 | $(LIBTARGET): $(LIBOBJECTS) |
| 108 | -erase $(LIBTARGET) |
| 109 | lib @<< |
| 110 | -out:$(LIBTARGET) |
| 111 | $(LIBOBJECTS) |
| 112 | << |
| 113 | |
| 114 | clean: |
| 115 | -$(RM) $D\*.obj |
| 116 | -$(RM) *.exe |
| 117 | -$(RM) *.sbr |
| 118 | -$(RM) $(LIBTARGET) |