home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / zip21.zip / amiga / makefile.azt < prev    next >
Makefile  |  1996-04-27  |  5KB  |  165 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 21 April 1996
  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 = -sabfmnpu -wcr0u -ps $(DEFINES)
  12. # -ps means short ints, -sabfmnpu is various small optimizations, -wcr0u
  13. # adjusts type checking strictness; large memory model is no longer used
  14.  
  15. WSIZ = WSIZE=4096
  16. LOWFLAGS = $(CFLAGS) -d $(WSIZ) -d SMALL_MEM
  17. # used for compiling a low-memory-use version of Zip
  18.  
  19. ASOPTS = -n -eAMIGA -eDYN_ALLOC -eCPUTEST -eINT16
  20. LOWASOPTS = $(ASOPTS) -e$(WSIZ) -eSMALL_MEM
  21. # Options used for assembling amiga/deflate.a; must generally match the
  22. # settings in DEFINES.  LOWASOPTS are for the low-memory version.
  23.  
  24. LD = ln
  25. LDLIBS = -lc16
  26. LDFLAGS = -m +q
  27.  
  28.  
  29. # default C rules
  30. .c.o :
  31.     $(CC) $(CFLAGS) -o $@ $*.c
  32.  
  33. # rules for routines containing entries needed by utilities
  34. .c.oo :
  35.     $(CC) $(CFLAGS) -d UTIL -o $@ $*.c
  36.  
  37. # rules for the low-memory version:
  38.  
  39. .c.ol :
  40.     $(CC) $(LOWFLAGS) -o $@ $*.c
  41.  
  42. # object file lists
  43.  
  44. ZIP_H = zip.h ziperr.h tailor.h amiga/osdep.h amiga/z-stat.h
  45.  
  46.  
  47. OBJI = deflate.o trees.o bits.o
  48. OBJA = zipfile.o zipup.o util.o \
  49.         fileio.o globals.o amiga/amiga.o amiga/amigazip.o amiga/crc_68.o \
  50.         crctab.o
  51. OBJU = zipfile.oo fileio.oo util.oo globals.o amiga/amiga.o
  52.  
  53. OBJZ = zip.o $(OBJI) $(OBJA) crypt.o ttyio.o
  54.  
  55. OBJL = zip.ol deflate.ol trees.ol bits.ol zipfile.ol \
  56.         zipup.ol util.ol fileio.ol globals.ol crypt.ol ttyio.ol crctab.ol \
  57.         amiga/amiga.ol amiga/amigazip.ol amiga/crc_68.o
  58.  
  59. OBJN = zipnote.o  $(OBJU)
  60. OBJC = zipcloak.o $(OBJU) crctab.o crypt.oo ttyio.o
  61. OBJS = zipsplit.o $(OBJU)
  62.  
  63.  
  64. #  HERE WE GO:
  65.  
  66. all : Zip ZipNote ZipSplit ZipCloak
  67.  
  68. z : Zip
  69.  
  70. n : ZipNote
  71.  
  72. s : ZipSplit
  73.  
  74. c : ZipCloak
  75.  
  76. l : ZipLM
  77.  
  78. Zip : $(OBJZ) $(ZIP_H)
  79.     $(LD) $(LDFLAGS) -o $@ $(OBJZ) $(LDLIBS)
  80.  
  81. ZipNote : $(OBJN) $(ZIP_H)
  82.     $(LD) $(LDFLAGS) -o $@ $(OBJN) $(LDLIBS)
  83.  
  84. ZipSplit : $(OBJS) $(ZIP_H)
  85.     $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
  86.  
  87. ZipCloak : $(OBJC) $(ZIP_H)
  88.     $(LD) $(LDFLAGS) -o $@ $(OBJC) $(LDLIBS)
  89.  
  90. ZipLM : $(OBJL) $(ZIP_H)
  91.     $(LD) $(LDFLAGS) -o $@ $(OBJL) $(LDLIBS)
  92.  
  93. clean :
  94.     -delete quiet $(OBJZ)
  95.     -delete quiet $(OBJU)
  96.     -delete quiet $(OBJL)
  97.     -delete quiet zipnote.o zipcloak.o zipsplit.o crypt.oo
  98.  
  99. cleaner : clean
  100.     -delete quiet Zip ZipNote ZipSplit ZipCloak ZipLM
  101.  
  102.  
  103. # header dependencies:
  104.  
  105. zip.o zipnote.o zipcloak.o zipsplit.o crypt.o ttyio.o deflate.o \
  106.    trees.o bits.o zipfile.o zipup.o fileio.o util.o crctab.o \
  107.    globals.o amiga/amiga.o : $(ZIP_H)
  108.  
  109. zip.ol zipnote.ol zipcloak.ol zipsplit.ol crypt.ol ttyio.ol deflate.ol \
  110.    trees.ol bits.ol zipfile.ol zipup.ol fileio.ol util.ol crctab.ol \
  111.    globals.ol amiga/amiga.ol : $(ZIP_H)
  112.  
  113. crypt.oo zipfile.oo fileio.oo util.oo : $(ZIP_H)
  114.  
  115. amiga/amigazip.o amiga/amigazip.ol : amiga/amiga.h $(ZIP_H)
  116.  
  117. zip.o zipnote.o zipcloak.o zipsplit.o zipup.o \
  118.    zip.ol zipnote.ol zipcloak.ol zipsplit.ol zipup.ol : revision.h
  119.  
  120. bits.o bits.ol amiga/amiga.o amiga/amiga.ol : crypt.h
  121.  
  122. crypt.o crypt.oo crypt.ol ttyio.o ttyio.ol zipcloak.o zipcloak.ol \
  123.    zip.o zip.ol zipup.o zipup.ol : crypt.h ttyio.h
  124.  
  125. zipup.o zipup.ol : amiga/zipup.h
  126.  
  127.  
  128. # SPECIAL CASES:
  129.  
  130. # -mr changes expression parsing; avoids a bogus "expression too complex" error:
  131. trees.o : trees.c
  132.     $(CC) $(CFLAGS) -mr -o trees.o trees.c
  133.  
  134. trees.ol : trees.c
  135.     $(CC) $(LOWFLAGS) -mr -o trees.ol trees.c
  136.  
  137. # Substitute the assembly version of deflate.c:
  138. deflate.o : amiga/deflate.a
  139.     $(AS) $(ASOPTS) -o deflate.o amiga/deflate.a
  140.  
  141. deflate.ol : amiga/deflate.a
  142.     $(AS) $(LOWASOPTS) -o deflate.ol amiga/deflate.a
  143.  
  144. # The assembly CRC function:
  145. amiga/crc_68.o : amiga/crc_68.a
  146.     $(AS) -n -o amiga/crc_68.o amiga/crc_68.a
  147.  
  148. # Put the Amiga internal version data with today's date into amiga.c:
  149. amiga/amiga.o : amiga/amiga.c amiga/filedate.c amiga/stat.c
  150.     rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'"
  151.     $(CC) $(CFLAGS) -o amiga/amiga.o amiga/amiga.c
  152.  
  153. amiga/amiga.ol : amiga/amiga.c amiga/filedate.c amiga/stat.c
  154.     rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'"
  155.     $(CC) $(LOWFLAGS) -o amiga/amiga.ol amiga/amiga.c
  156.  
  157. # Put the compiler version number into amigazip.c:
  158. amiga/amigazip.o : amiga/amigazip.c
  159.     $(CC) $(CFLAGS) -o amiga/amigazip.o \
  160.             -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c
  161.  
  162. amiga/amigazip.ol : amiga/amigazip.c
  163.     $(CC) $(LOWFLAGS) -o amiga/amigazip.ol \
  164.             -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c
  165.