home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / zip22.zip / amiga / makefile.azt < prev    next >
Makefile  |  1997-08-17  |  8KB  |  283 lines

  1. # Makefile for Zip, ZipNote, ZipCloak, ZipSplit for Aztec C 5.2
  2. # Also ZipLM, a version of Zip that needs much less free memory
  3. #   -- Paul Kienitz, last updated 26 Jul 1997
  4.  
  5. # Make sure platform is defined correctly, and select memory usage options:
  6. DEFINES = -d AMIGA -d DYN_ALLOC -d ASM_CRC
  7. # ASM_CRC now serves only as a notation for "Zip -L".
  8.  
  9. CC = cc
  10. AS = as
  11. CFLAGS = -psb0e -sabfmnpu -wcr0u $(DEFINES)
  12. # -pbs means unsigned chars and short ints, -sabfmnpu is various small
  13. # optimizations, -wcr0u adjusts type checking strictness
  14.  
  15. CFLAGD = -bs -psb0e -s0f0n -wcr0u $(DEFINES)
  16. # -bs is include source debugging info, -s0f0n is avoid hard-to-debug optimizations
  17.  
  18. WSIZ = WSIZE=4096
  19. LOWFLAGS = $(CFLAGS) -d $(WSIZ) -d SMALL_MEM
  20. # used for compiling a low-memory-use version of Zip
  21.  
  22. LOWFLAGD = $(CFLAGD) -d $(WSIZ) -d SMALL_MEM
  23. # for the debuggable low-memory-use version
  24.  
  25. ASOPTS = -n -eAMIGA -eDYN_ALLOC -eCPUTEST -eINT16
  26. LOWASOPTS = $(ASOPTS) -e$(WSIZ) -eSMALL_MEM
  27. # Options used for assembling amiga/deflate.a; must generally match the
  28. # settings in DEFINES.  LOWASOPTS are for the low-memory version.
  29.  
  30. LD = ln
  31. LDLIBS = -lc16
  32. LDFLAGS = -m +q
  33.  
  34. LDFLAGD = -m +q -g -w
  35.  
  36.  
  37. # default C rules
  38. .c.o :
  39.     $(CC) $(CFLAGS) -o $@ $*.c
  40.  
  41. # rules for routines containing entries needed by utilities
  42. .c.oo :
  43.     $(CC) $(CFLAGS) -d UTIL -o $@ $*.c
  44.  
  45. # rules for the low-memory version:
  46.  
  47. .c.ol :
  48.     $(CC) $(LOWFLAGS) -o $@ $*.c
  49.  
  50. # default C rules for debugging
  51. .c.od :
  52.     $(CC) $(CFLAGD) -o $@ $*.c
  53.  
  54. # debugging rules for routines containing entries needed by utilities
  55. .c.dd :
  56.     $(CC) $(CFLAGD) -d UTIL -o $@ $*.c
  57.  
  58. # rules for the low-memory version:
  59.  
  60. .c.dl :
  61.     $(CC) $(LOWFLAGD) -o $@ $*.c
  62.  
  63.  
  64. # object file lists
  65.  
  66. ZIP_H = zip.h ziperr.h tailor.h amiga/osdep.h amiga/z-stat.h
  67.  
  68.  
  69. OBJZ = zip.o deflate.o trees.o bits.o zipfile.o zipup.o util.o \
  70.         fileio.o globals.o amiga/amiga.o amiga/amigazip.o amiga/crc_68.o \
  71.         amiga/time_lib.o crctab.o crypt.o ttyio.o
  72.  
  73. OBJL = zip.ol deflate.ol trees.ol bits.ol zipfile.ol \
  74.         zipup.ol util.ol fileio.ol globals.ol crypt.ol ttyio.ol crctab.ol \
  75.         amiga/amiga.ol amiga/amigazip.ol amiga/crc_68.o amiga/time_lib.o
  76.  
  77. OBJU = zipfile.oo fileio.oo util.oo globals.o amiga/amiga.oo \
  78.         amiga/amigazip.oo amiga/time_lib.o
  79. OBJN = zipnote.o  $(OBJU)
  80. OBJC = zipcloak.o $(OBJU) crctab.o crypt.oo ttyio.o
  81. OBJS = zipsplit.o $(OBJU)
  82.  
  83. # These are the debuggable versions:
  84.  
  85. DBJZ = zip.od deflate.od trees.od bits.od zipfile.od zipup.od \
  86.         util.od fileio.od globals.od amiga/amiga.od amiga/amigazip.od \
  87.         amiga/crc_68.o amiga/time_lib.od crctab.od crypt.od ttyio.od
  88.  
  89. DBJL = zip.dl deflate.dl trees.dl bits.dl zipfile.dl zipup.dl util.dl \
  90.         fileio.dl globals.dl amiga/amiga.dl amiga/amigazip.dl amiga/crc_68.o \
  91.         amiga/time_lib.od crctab.dl crypt.dl ttyio.dl
  92.  
  93. DBJU = zipfile.dd fileio.dd util.dd globals.od amiga/amiga.dd \
  94.         amiga/amigazip.dd amiga/time_lib.od
  95. DBJN = zipnote.od  $(DBJU)
  96. DBJC = zipcloak.od $(DBJU) crctab.od crypt.dd ttyio.od
  97. DBJS = zipsplit.od $(DBJU)
  98.  
  99.  
  100. #  HERE WE GO:
  101.  
  102. all : Zip ZipNote ZipSplit ZipCloak
  103.  
  104. z : Zip
  105.  
  106. n : ZipNote
  107.  
  108. s : ZipSplit
  109.  
  110. c : ZipCloak
  111.  
  112. l : ZipLM
  113.  
  114. # Debug versions:
  115.  
  116. dall : Zip.dbg ZipNote.dbg ZipSplit.dbg ZipCloak.dbg
  117.  
  118. dz : Zip.dbg
  119.  
  120. dn : ZipNote.dbg
  121.  
  122. ds : ZipSplit.dbg
  123.  
  124. dc : ZipCloak.dbg
  125.  
  126. dl : ZipLM.dbg
  127.  
  128.  
  129. Zip : $(OBJZ) $(ZIP_H)
  130.     $(LD) $(LDFLAGS) -o $@ $(OBJZ) $(LDLIBS)
  131.     -@delete Zip.dbg
  132.  
  133. ZipNote : $(OBJN) $(ZIP_H)
  134.     $(LD) $(LDFLAGS) -o $@ $(OBJN) $(LDLIBS)
  135.     -@delete ZipNote.dbg
  136.  
  137. ZipSplit : $(OBJS) $(ZIP_H)
  138.     $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
  139.     -@delete ZipSplit.dbg
  140.  
  141. ZipCloak : $(OBJC) $(ZIP_H)
  142.     $(LD) $(LDFLAGS) -o $@ $(OBJC) $(LDLIBS)
  143.     -@delete ZipCloak.dbg
  144.  
  145. ZipLM : $(OBJL) $(ZIP_H)
  146.     $(LD) $(LDFLAGS) -o $@ $(OBJL) $(LDLIBS)
  147.     -@delete ZipLM.dbg
  148.  
  149.  
  150. Zip.dbg : $(DBJZ) $(ZIP_H)
  151.     $(LD) $(LDFLAGD) -o Zip $(DBJZ) $(LDLIBS)
  152.  
  153. ZipNote.dbg : $(DBJN) $(ZIP_H)
  154.     $(LD) $(LDFLAGD) -o ZipNote $(DBJN) $(LDLIBS)
  155.  
  156. ZipSplit.dbg : $(DBJS) $(ZIP_H)
  157.     $(LD) $(LDFLAGD) -o ZipSplit $(DBJS) $(LDLIBS)
  158.  
  159. ZipCloak.dbg : $(DBJC) $(ZIP_H)
  160.     $(LD) $(LDFLAGD) -o ZipCloak $(DBJC) $(LDLIBS)
  161.  
  162. ZipLM.dbg : $(DBJL) $(ZIP_H)
  163.     $(LD) $(LDFLAGD) -o ZipLM $(DBJL) $(LDLIBS)
  164.  
  165.  
  166. clean : bugclean
  167.     -delete quiet $(OBJZ)
  168.     -delete quiet $(OBJL)
  169.     -delete quiet zipnote.o zipcloak.o zipsplit.o \
  170.             zipfile.oo fileio.oo util.oo crypt.oo
  171.  
  172. bugclean :
  173.     -delete quiet $(DBJZ)
  174.     -delete quiet $(DBJL)
  175.     -delete quiet zipnote.od zipcloak.od zipsplit.od \
  176.             zipfile.dd fileio.dd util.dd crypt.dd
  177.  
  178. cleaner : clean
  179.     -delete quiet Zip ZipNote ZipSplit ZipCloak ZipLM
  180.     -delete quiet Zip.dbg ZipNote.dbg ZipSplit.dbg ZipCloak.dbg ZipLM.dbg
  181.  
  182.  
  183. # header dependencies:
  184.  
  185. zip.o zipnote.o zipcloak.o zipsplit.o crypt.o ttyio.o deflate.o \
  186.    trees.o bits.o zipfile.o zipup.o fileio.o util.o crctab.o \
  187.    globals.o amiga/amiga.o : $(ZIP_H)
  188.  
  189. zip.ol zipnote.ol zipcloak.ol zipsplit.ol crypt.ol ttyio.ol deflate.ol \
  190.    trees.ol bits.ol zipfile.ol zipup.ol fileio.ol util.ol crctab.ol \
  191.    globals.ol amiga/amiga.ol : $(ZIP_H)
  192.  
  193. crypt.oo zipfile.oo fileio.oo util.oo : $(ZIP_H)
  194.  
  195. amiga/amigazip.o amiga/amigazip.ol amiga/amigazip.oo : amiga/amiga.h $(ZIP_H)
  196.  
  197. zip.o zipnote.o zipcloak.o zipsplit.o zipup.o \
  198.    zip.ol zipnote.ol zipcloak.ol zipsplit.ol zipup.ol : revision.h
  199.  
  200. bits.o bits.ol amiga/amiga.o amiga/amiga.ol : crypt.h
  201.  
  202. crypt.o crypt.oo crypt.ol ttyio.o ttyio.ol zipcloak.o zipcloak.ol \
  203.    zip.o zip.ol zipup.o zipup.ol : crypt.h ttyio.h
  204.  
  205. zipup.o zipup.ol : amiga/zipup.h
  206.  
  207.  
  208. # SPECIAL CASES:
  209.  
  210. # -mr changes expression parsing; avoids a bogus "expression too complex" error:
  211. trees.o : trees.c
  212.     $(CC) $(CFLAGS) -mr -o $@ trees.c
  213.  
  214. trees.ol : trees.c
  215.     $(CC) $(LOWFLAGS) -mr -o $@ trees.c
  216.  
  217. trees.od : trees.c
  218.     $(CC) $(CFLAGD) -mr -o $@ trees.c
  219.  
  220. trees.ld : trees.c
  221.     $(CC) $(LOWFLAGD) -mr -o $@ trees.c
  222.  
  223. # Substitute the assembly version of deflate.c: (but not in debug version)
  224. deflate.o : amiga/deflate.a
  225.     $(AS) $(ASOPTS) -o $@ amiga/deflate.a
  226.  
  227. deflate.ol : amiga/deflate.a
  228.     $(AS) $(LOWASOPTS) -o $@ amiga/deflate.a
  229.  
  230. # The assembly CRC function:
  231. amiga/crc_68.o : amiga/crc_68.a
  232.     $(AS) -n -o $@ amiga/crc_68.a
  233.  
  234. # Put the Amiga internal version data with today's date into amiga.c:
  235. amiga/amiga.o : amiga/amiga.c amiga/filedate.c amiga/stat.c
  236.     rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'"
  237.     $(CC) $(CFLAGS) -o $@ amiga/amiga.c
  238.     delete env:VersionDate
  239.  
  240. amiga/amiga.ol : amiga/amiga.c amiga/filedate.c amiga/stat.c
  241.     rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'"
  242.     $(CC) $(LOWFLAGS) -o $@ amiga/amiga.c
  243.     delete env:VersionDate
  244.  
  245. amiga/amiga.od : amiga/amiga.c amiga/filedate.c amiga/stat.c
  246.     rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'"
  247.     $(CC) $(CFLAGD) -o $@ amiga/amiga.c
  248.     delete env:VersionDate
  249.  
  250. amiga/amiga.ld : amiga/amiga.c amiga/filedate.c amiga/stat.c
  251.     rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'"
  252.     $(CC) $(LOWFLAGD) -o $@ amiga/amiga.c
  253.     delete env:VersionDate
  254.  
  255. amiga/amiga.oo : amiga/amiga.c amiga/filedate.c amiga/stat.c
  256.     rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'"
  257.     $(CC) $(CFLAGS) -d UTIL -o $@ amiga/amiga.c
  258.     delete env:VersionDate
  259.  
  260. amiga/amiga.dd : amiga/amiga.c amiga/filedate.c amiga/stat.c
  261.     rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'"
  262.     $(CC) $(CFLAGD) -d UTIL -o $@ amiga/amiga.c
  263.     delete env:VersionDate
  264.  
  265. # Put the compiler version number into amigazip.c:
  266. amiga/amigazip.o : amiga/amigazip.c
  267.     $(CC) $(CFLAGS) -o $@ -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c
  268.  
  269. amiga/amigazip.ol : amiga/amigazip.c
  270.     $(CC) $(LOWFLAGS) -o $@ -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c
  271.  
  272. amiga/amigazip.od : amiga/amigazip.c
  273.     $(CC) $(CFLAGD) -o $@ -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c
  274.  
  275. amiga/amigazip.ld : amiga/amigazip.c
  276.     $(CC) $(LOWFLAGD) -o $@ -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c
  277.  
  278. amiga/amigazip.oo : amiga/amigazip.c
  279.     $(CC) $(CFLAGS) -d UTIL -o $@ -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c
  280.  
  281. amiga/amigazip.dd : amiga/amigazip.c
  282.     $(CC) $(CFLAGD) -d UTIL -o $@ -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c
  283.