Fossil

Hex Artifact Content
Login

Artifact 98e97dcbaf0e7da0531f7a0367b052adc382fb29:


0000: 23 20 4d 61 6b 65 66 69 6c 65 20 66 6f 72 20 7a  # Makefile for z
0010: 6c 69 62 0a 23 20 54 75 72 62 6f 20 43 20 32 2e  lib.# Turbo C 2.
0020: 30 31 2c 20 54 75 72 62 6f 20 43 2b 2b 20 31 2e  01, Turbo C++ 1.
0030: 30 31 0a 23 20 4c 61 73 74 20 75 70 64 61 74 65  01.# Last update
0040: 64 3a 20 31 35 2d 4d 61 72 2d 32 30 30 33 0a 0a  d: 15-Mar-2003..
0050: 23 20 54 6f 20 75 73 65 2c 20 64 6f 20 22 6d 61  # To use, do "ma
0060: 6b 65 20 2d 66 6d 61 6b 65 66 69 6c 65 2e 74 63  ke -fmakefile.tc
0070: 22 0a 23 20 54 6f 20 63 6f 6d 70 69 6c 65 20 69  ".# To compile i
0080: 6e 20 73 6d 61 6c 6c 20 6d 6f 64 65 6c 2c 20 73  n small model, s
0090: 65 74 20 62 65 6c 6f 77 3a 20 4d 4f 44 45 4c 3d  et below: MODEL=
00a0: 73 0a 0a 23 20 57 41 52 4e 49 4e 47 3a 20 74 68  s..# WARNING: th
00b0: 65 20 73 6d 61 6c 6c 20 6d 6f 64 65 6c 20 69 73  e small model is
00c0: 20 73 75 70 70 6f 72 74 65 64 20 62 75 74 20 6f   supported but o
00d0: 6e 6c 79 20 66 6f 72 20 73 6d 61 6c 6c 20 76 61  nly for small va
00e0: 6c 75 65 73 20 6f 66 0a 23 20 4d 41 58 5f 57 42  lues of.# MAX_WB
00f0: 49 54 53 20 61 6e 64 20 4d 41 58 5f 4d 45 4d 5f  ITS and MAX_MEM_
0100: 4c 45 56 45 4c 2e 20 46 6f 72 20 65 78 61 6d 70  LEVEL. For examp
0110: 6c 65 3a 0a 23 20 20 20 20 2d 44 4d 41 58 5f 57  le:.#    -DMAX_W
0120: 42 49 54 53 3d 31 31 20 2d 44 4d 41 58 5f 4d 45  BITS=11 -DMAX_ME
0130: 4d 5f 4c 45 56 45 4c 3d 33 0a 23 20 49 66 20 79  M_LEVEL=3.# If y
0140: 6f 75 20 77 69 73 68 20 74 6f 20 72 65 64 75 63  ou wish to reduc
0150: 65 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 71  e the memory req
0160: 75 69 72 65 6d 65 6e 74 73 20 28 64 65 66 61 75  uirements (defau
0170: 6c 74 20 32 35 36 4b 20 66 6f 72 20 62 69 67 0a  lt 256K for big.
0180: 23 20 6f 62 6a 65 63 74 73 20 70 6c 75 73 20 61  # objects plus a
0190: 20 66 65 77 20 4b 29 2c 20 79 6f 75 20 63 61 6e   few K), you can
01a0: 20 61 64 64 20 74 6f 20 43 46 4c 41 47 53 20 62   add to CFLAGS b
01b0: 65 6c 6f 77 3a 0a 23 20 20 20 2d 44 4d 41 58 5f  elow:.#   -DMAX_
01c0: 4d 45 4d 5f 4c 45 56 45 4c 3d 37 20 2d 44 4d 41  MEM_LEVEL=7 -DMA
01d0: 58 5f 57 42 49 54 53 3d 31 34 0a 23 20 53 65 65  X_WBITS=14.# See
01e0: 20 7a 63 6f 6e 66 2e 68 20 66 6f 72 20 64 65 74   zconf.h for det
01f0: 61 69 6c 73 20 61 62 6f 75 74 20 74 68 65 20 6d  ails about the m
0200: 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e  emory requiremen
0210: 74 73 2e 0a 0a 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  ts...# ---------
0220: 2d 2d 2d 20 54 75 72 62 6f 20 43 20 32 2e 30 31  --- Turbo C 2.01
0230: 2c 20 54 75 72 62 6f 20 43 2b 2b 20 31 2e 30 31  , Turbo C++ 1.01
0240: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 4d 4f   ------------.MO
0250: 44 45 4c 3d 6c 0a 43 43 3d 74 63 63 0a 4c 44 3d  DEL=l.CC=tcc.LD=
0260: 74 63 63 0a 41 52 3d 74 6c 69 62 0a 23 20 43 46  tcc.AR=tlib.# CF
0270: 4c 41 47 53 3d 2d 4f 32 20 2d 47 20 2d 5a 20 2d  LAGS=-O2 -G -Z -
0280: 6d 24 28 4d 4f 44 45 4c 29 20 2d 44 4d 41 58 5f  m$(MODEL) -DMAX_
0290: 57 42 49 54 53 3d 31 31 20 2d 44 4d 41 58 5f 4d  WBITS=11 -DMAX_M
02a0: 45 4d 5f 4c 45 56 45 4c 3d 33 0a 43 46 4c 41 47  EM_LEVEL=3.CFLAG
02b0: 53 3d 2d 4f 32 20 2d 47 20 2d 5a 20 2d 6d 24 28  S=-O2 -G -Z -m$(
02c0: 4d 4f 44 45 4c 29 0a 4c 44 46 4c 41 47 53 3d 2d  MODEL).LDFLAGS=-
02d0: 6d 24 28 4d 4f 44 45 4c 29 20 2d 66 2d 0a 0a 0a  m$(MODEL) -f-...
02e0: 23 20 76 61 72 69 61 62 6c 65 73 0a 5a 4c 49 42  # variables.ZLIB
02f0: 5f 4c 49 42 20 3d 20 7a 6c 69 62 5f 24 28 4d 4f  _LIB = zlib_$(MO
0300: 44 45 4c 29 2e 6c 69 62 0a 0a 4f 42 4a 31 20 3d  DEL).lib..OBJ1 =
0310: 20 61 64 6c 65 72 33 32 2e 6f 62 6a 20 63 6f 6d   adler32.obj com
0320: 70 72 65 73 73 2e 6f 62 6a 20 63 72 63 33 32 2e  press.obj crc32.
0330: 6f 62 6a 20 64 65 66 6c 61 74 65 2e 6f 62 6a 20  obj deflate.obj 
0340: 67 7a 63 6c 6f 73 65 2e 6f 62 6a 20 67 7a 6c 69  gzclose.obj gzli
0350: 62 2e 6f 62 6a 20 67 7a 72 65 61 64 2e 6f 62 6a  b.obj gzread.obj
0360: 0a 4f 42 4a 32 20 3d 20 67 7a 77 72 69 74 65 2e  .OBJ2 = gzwrite.
0370: 6f 62 6a 20 69 6e 66 62 61 63 6b 2e 6f 62 6a 20  obj infback.obj 
0380: 69 6e 66 66 61 73 74 2e 6f 62 6a 20 69 6e 66 6c  inffast.obj infl
0390: 61 74 65 2e 6f 62 6a 20 69 6e 66 74 72 65 65 73  ate.obj inftrees
03a0: 2e 6f 62 6a 20 74 72 65 65 73 2e 6f 62 6a 20 75  .obj trees.obj u
03b0: 6e 63 6f 6d 70 72 2e 6f 62 6a 20 7a 75 74 69 6c  ncompr.obj zutil
03c0: 2e 6f 62 6a 0a 4f 42 4a 50 31 20 3d 20 2b 61 64  .obj.OBJP1 = +ad
03d0: 6c 65 72 33 32 2e 6f 62 6a 2b 63 6f 6d 70 72 65  ler32.obj+compre
03e0: 73 73 2e 6f 62 6a 2b 63 72 63 33 32 2e 6f 62 6a  ss.obj+crc32.obj
03f0: 2b 64 65 66 6c 61 74 65 2e 6f 62 6a 2b 67 7a 63  +deflate.obj+gzc
0400: 6c 6f 73 65 2e 6f 62 6a 2b 67 7a 6c 69 62 2e 6f  lose.obj+gzlib.o
0410: 62 6a 2b 67 7a 72 65 61 64 2e 6f 62 6a 0a 4f 42  bj+gzread.obj.OB
0420: 4a 50 32 20 3d 20 2b 67 7a 77 72 69 74 65 2e 6f  JP2 = +gzwrite.o
0430: 62 6a 2b 69 6e 66 62 61 63 6b 2e 6f 62 6a 2b 69  bj+infback.obj+i
0440: 6e 66 66 61 73 74 2e 6f 62 6a 2b 69 6e 66 6c 61  nffast.obj+infla
0450: 74 65 2e 6f 62 6a 2b 69 6e 66 74 72 65 65 73 2e  te.obj+inftrees.
0460: 6f 62 6a 2b 74 72 65 65 73 2e 6f 62 6a 2b 75 6e  obj+trees.obj+un
0470: 63 6f 6d 70 72 2e 6f 62 6a 2b 7a 75 74 69 6c 2e  compr.obj+zutil.
0480: 6f 62 6a 0a 0a 0a 23 20 74 61 72 67 65 74 73 0a  obj...# targets.
0490: 61 6c 6c 3a 20 24 28 5a 4c 49 42 5f 4c 49 42 29  all: $(ZLIB_LIB)
04a0: 20 65 78 61 6d 70 6c 65 2e 65 78 65 20 6d 69 6e   example.exe min
04b0: 69 67 7a 69 70 2e 65 78 65 0a 0a 2e 63 2e 6f 62  igzip.exe...c.ob
04c0: 6a 3a 0a 09 24 28 43 43 29 20 2d 63 20 24 28 43  j:..$(CC) -c $(C
04d0: 46 4c 41 47 53 29 20 24 2a 2e 63 0a 0a 61 64 6c  FLAGS) $*.c..adl
04e0: 65 72 33 32 2e 6f 62 6a 3a 20 61 64 6c 65 72 33  er32.obj: adler3
04f0: 32 2e 63 20 7a 6c 69 62 2e 68 20 7a 63 6f 6e 66  2.c zlib.h zconf
0500: 2e 68 0a 0a 63 6f 6d 70 72 65 73 73 2e 6f 62 6a  .h..compress.obj
0510: 3a 20 63 6f 6d 70 72 65 73 73 2e 63 20 7a 6c 69  : compress.c zli
0520: 62 2e 68 20 7a 63 6f 6e 66 2e 68 0a 0a 63 72 63  b.h zconf.h..crc
0530: 33 32 2e 6f 62 6a 3a 20 63 72 63 33 32 2e 63 20  32.obj: crc32.c 
0540: 7a 6c 69 62 2e 68 20 7a 63 6f 6e 66 2e 68 20 63  zlib.h zconf.h c
0550: 72 63 33 32 2e 68 0a 0a 64 65 66 6c 61 74 65 2e  rc32.h..deflate.
0560: 6f 62 6a 3a 20 64 65 66 6c 61 74 65 2e 63 20 64  obj: deflate.c d
0570: 65 66 6c 61 74 65 2e 68 20 7a 75 74 69 6c 2e 68  eflate.h zutil.h
0580: 20 7a 6c 69 62 2e 68 20 7a 63 6f 6e 66 2e 68 0a   zlib.h zconf.h.
0590: 0a 67 7a 63 6c 6f 73 65 2e 6f 62 6a 3a 20 67 7a  .gzclose.obj: gz
05a0: 63 6c 6f 73 65 2e 63 20 7a 6c 69 62 2e 68 20 7a  close.c zlib.h z
05b0: 63 6f 6e 66 2e 68 20 67 7a 67 75 74 73 2e 68 0a  conf.h gzguts.h.
05c0: 0a 67 7a 6c 69 62 2e 6f 62 6a 3a 20 67 7a 6c 69  .gzlib.obj: gzli
05d0: 62 2e 63 20 7a 6c 69 62 2e 68 20 7a 63 6f 6e 66  b.c zlib.h zconf
05e0: 2e 68 20 67 7a 67 75 74 73 2e 68 0a 0a 67 7a 72  .h gzguts.h..gzr
05f0: 65 61 64 2e 6f 62 6a 3a 20 67 7a 72 65 61 64 2e  ead.obj: gzread.
0600: 63 20 7a 6c 69 62 2e 68 20 7a 63 6f 6e 66 2e 68  c zlib.h zconf.h
0610: 20 67 7a 67 75 74 73 2e 68 0a 0a 67 7a 77 72 69   gzguts.h..gzwri
0620: 74 65 2e 6f 62 6a 3a 20 67 7a 77 72 69 74 65 2e  te.obj: gzwrite.
0630: 63 20 7a 6c 69 62 2e 68 20 7a 63 6f 6e 66 2e 68  c zlib.h zconf.h
0640: 20 67 7a 67 75 74 73 2e 68 0a 0a 69 6e 66 62 61   gzguts.h..infba
0650: 63 6b 2e 6f 62 6a 3a 20 69 6e 66 62 61 63 6b 2e  ck.obj: infback.
0660: 63 20 7a 75 74 69 6c 2e 68 20 7a 6c 69 62 2e 68  c zutil.h zlib.h
0670: 20 7a 63 6f 6e 66 2e 68 20 69 6e 66 74 72 65 65   zconf.h inftree
0680: 73 2e 68 20 69 6e 66 6c 61 74 65 2e 68 20 5c 0a  s.h inflate.h \.
0690: 20 69 6e 66 66 61 73 74 2e 68 20 69 6e 66 66 69   inffast.h inffi
06a0: 78 65 64 2e 68 0a 0a 69 6e 66 66 61 73 74 2e 6f  xed.h..inffast.o
06b0: 62 6a 3a 20 69 6e 66 66 61 73 74 2e 63 20 7a 75  bj: inffast.c zu
06c0: 74 69 6c 2e 68 20 7a 6c 69 62 2e 68 20 7a 63 6f  til.h zlib.h zco
06d0: 6e 66 2e 68 20 69 6e 66 74 72 65 65 73 2e 68 20  nf.h inftrees.h 
06e0: 69 6e 66 6c 61 74 65 2e 68 20 5c 0a 20 69 6e 66  inflate.h \. inf
06f0: 66 61 73 74 2e 68 0a 0a 69 6e 66 6c 61 74 65 2e  fast.h..inflate.
0700: 6f 62 6a 3a 20 69 6e 66 6c 61 74 65 2e 63 20 7a  obj: inflate.c z
0710: 75 74 69 6c 2e 68 20 7a 6c 69 62 2e 68 20 7a 63  util.h zlib.h zc
0720: 6f 6e 66 2e 68 20 69 6e 66 74 72 65 65 73 2e 68  onf.h inftrees.h
0730: 20 69 6e 66 6c 61 74 65 2e 68 20 5c 0a 20 69 6e   inflate.h \. in
0740: 66 66 61 73 74 2e 68 20 69 6e 66 66 69 78 65 64  ffast.h inffixed
0750: 2e 68 0a 0a 69 6e 66 74 72 65 65 73 2e 6f 62 6a  .h..inftrees.obj
0760: 3a 20 69 6e 66 74 72 65 65 73 2e 63 20 7a 75 74  : inftrees.c zut
0770: 69 6c 2e 68 20 7a 6c 69 62 2e 68 20 7a 63 6f 6e  il.h zlib.h zcon
0780: 66 2e 68 20 69 6e 66 74 72 65 65 73 2e 68 0a 0a  f.h inftrees.h..
0790: 74 72 65 65 73 2e 6f 62 6a 3a 20 74 72 65 65 73  trees.obj: trees
07a0: 2e 63 20 7a 75 74 69 6c 2e 68 20 7a 6c 69 62 2e  .c zutil.h zlib.
07b0: 68 20 7a 63 6f 6e 66 2e 68 20 64 65 66 6c 61 74  h zconf.h deflat
07c0: 65 2e 68 20 74 72 65 65 73 2e 68 0a 0a 75 6e 63  e.h trees.h..unc
07d0: 6f 6d 70 72 2e 6f 62 6a 3a 20 75 6e 63 6f 6d 70  ompr.obj: uncomp
07e0: 72 2e 63 20 7a 6c 69 62 2e 68 20 7a 63 6f 6e 66  r.c zlib.h zconf
07f0: 2e 68 0a 0a 7a 75 74 69 6c 2e 6f 62 6a 3a 20 7a  .h..zutil.obj: z
0800: 75 74 69 6c 2e 63 20 7a 75 74 69 6c 2e 68 20 7a  util.c zutil.h z
0810: 6c 69 62 2e 68 20 7a 63 6f 6e 66 2e 68 0a 0a 65  lib.h zconf.h..e
0820: 78 61 6d 70 6c 65 2e 6f 62 6a 3a 20 74 65 73 74  xample.obj: test
0830: 2f 65 78 61 6d 70 6c 65 2e 63 20 7a 6c 69 62 2e  /example.c zlib.
0840: 68 20 7a 63 6f 6e 66 2e 68 0a 0a 6d 69 6e 69 67  h zconf.h..minig
0850: 7a 69 70 2e 6f 62 6a 3a 20 74 65 73 74 2f 6d 69  zip.obj: test/mi
0860: 6e 69 67 7a 69 70 2e 63 20 7a 6c 69 62 2e 68 20  nigzip.c zlib.h 
0870: 7a 63 6f 6e 66 2e 68 0a 0a 0a 23 20 74 68 65 20  zconf.h...# the 
0880: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 69 73 20  command line is 
0890: 63 75 74 20 74 6f 20 66 69 74 20 69 6e 20 74 68  cut to fit in th
08a0: 65 20 4d 53 2d 44 4f 53 20 31 32 38 20 62 79 74  e MS-DOS 128 byt
08b0: 65 20 6c 69 6d 69 74 3a 0a 24 28 5a 4c 49 42 5f  e limit:.$(ZLIB_
08c0: 4c 49 42 29 3a 20 24 28 4f 42 4a 31 29 20 24 28  LIB): $(OBJ1) $(
08d0: 4f 42 4a 32 29 0a 09 2d 64 65 6c 20 24 28 5a 4c  OBJ2)..-del $(ZL
08e0: 49 42 5f 4c 49 42 29 0a 09 24 28 41 52 29 20 24  IB_LIB)..$(AR) $
08f0: 28 5a 4c 49 42 5f 4c 49 42 29 20 24 28 4f 42 4a  (ZLIB_LIB) $(OBJ
0900: 50 31 29 0a 09 24 28 41 52 29 20 24 28 5a 4c 49  P1)..$(AR) $(ZLI
0910: 42 5f 4c 49 42 29 20 24 28 4f 42 4a 50 32 29 0a  B_LIB) $(OBJP2).
0920: 0a 65 78 61 6d 70 6c 65 2e 65 78 65 3a 20 65 78  .example.exe: ex
0930: 61 6d 70 6c 65 2e 6f 62 6a 20 24 28 5a 4c 49 42  ample.obj $(ZLIB
0940: 5f 4c 49 42 29 0a 09 24 28 4c 44 29 20 24 28 4c  _LIB)..$(LD) $(L
0950: 44 46 4c 41 47 53 29 20 65 78 61 6d 70 6c 65 2e  DFLAGS) example.
0960: 6f 62 6a 20 24 28 5a 4c 49 42 5f 4c 49 42 29 0a  obj $(ZLIB_LIB).
0970: 0a 6d 69 6e 69 67 7a 69 70 2e 65 78 65 3a 20 6d  .minigzip.exe: m
0980: 69 6e 69 67 7a 69 70 2e 6f 62 6a 20 24 28 5a 4c  inigzip.obj $(ZL
0990: 49 42 5f 4c 49 42 29 0a 09 24 28 4c 44 29 20 24  IB_LIB)..$(LD) $
09a0: 28 4c 44 46 4c 41 47 53 29 20 6d 69 6e 69 67 7a  (LDFLAGS) minigz
09b0: 69 70 2e 6f 62 6a 20 24 28 5a 4c 49 42 5f 4c 49  ip.obj $(ZLIB_LI
09c0: 42 29 0a 0a 74 65 73 74 3a 20 65 78 61 6d 70 6c  B)..test: exampl
09d0: 65 2e 65 78 65 20 6d 69 6e 69 67 7a 69 70 2e 65  e.exe minigzip.e
09e0: 78 65 0a 09 65 78 61 6d 70 6c 65 0a 09 65 63 68  xe..example..ech
09f0: 6f 20 68 65 6c 6c 6f 20 77 6f 72 6c 64 20 7c 20  o hello world | 
0a00: 6d 69 6e 69 67 7a 69 70 20 7c 20 6d 69 6e 69 67  minigzip | minig
0a10: 7a 69 70 20 2d 64 0a 0a 63 6c 65 61 6e 3a 0a 09  zip -d..clean:..
0a20: 2d 64 65 6c 20 2a 2e 6f 62 6a 0a 09 2d 64 65 6c  -del *.obj..-del
0a30: 20 2a 2e 6c 69 62 0a 09 2d 64 65 6c 20 2a 2e 65   *.lib..-del *.e
0a40: 78 65 0a 09 2d 64 65 6c 20 7a 6c 69 62 5f 2a 2e  xe..-del zlib_*.
0a50: 62 61 6b 0a 09 2d 64 65 6c 20 66 6f 6f 2e 67 7a  bak..-del foo.gz
0a60: 0a                                               .