home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / unzip540.zip / amiga / makefile.azt < prev    next >
Makefile  |  1998-11-17  |  4KB  |  129 lines

  1. # Makefile for UnZip 5.4 using Manx Aztec C 5.2, last revised 18 Nov 98.
  2. # Define EXTRA=xxx on the Make command line for e.g. -dUSE_UNSHRINK.
  3.  
  4. EXTRA =
  5.  
  6. CC = cc
  7. VERNUMS = -d __VERSION__=5 -d __REVISION__=2
  8. CFLAGS = -ps -sabfmnpu -wcpr0u -d AMIGA $(EXTRA)
  9. # -ps means short ints, -sabfmnpu is optimizations, -wcpr0u is type checking
  10. # option flags MORE and ASM_* are now set in the Aztec section of amiga/amiga.h;
  11. # it's cleaner, and that way any changes forces a recompile.
  12.  
  13. LD = ln
  14. LDFLAGS = +q -m
  15. LDLIBS = -lc16
  16. # linker arg -m suppresses warnings about overriding c.lib functions
  17.  
  18. OBJS = unzip.o process.o crypt.o ttyio.o envargs.o explode.o \
  19.          unshrink.o extract.o zipinfo.o inflate.o match.o unreduce.o \
  20.          fileio.o list.o globals.o crctab.o amiga/amiga.o amiga/crc_68.o \
  21.          amiga/flate.o amiga/time_lib.o
  22.  
  23. XOBJS = unzip.xo process.xo crypt.o ttyio.o extract.xo fileio.o \
  24.          inflate.o match.o globals.o crctab.o amiga/flate.o amiga/amiga.xo \
  25.          amiga/crc_68.o amiga/time_lib.o
  26.  
  27. FOBJS = funzip.o crypt.fo ttyio.fo inflate.fo globals.fo \
  28.          amiga/flate.fo amiga/crc_68.o amiga/filedate.fo
  29.  
  30.  
  31. .c.o :
  32.     $(CC) -o $@ $(CFLAGS) $*.c
  33.  
  34. .c.xo:
  35.     $(CC) -o $@ -d SFX $(CFLAGS) $*.c
  36.  
  37. .c.fo:
  38.     $(CC) -o $@ -d FUNZIP $(CFLAGS) $*.c
  39.  
  40. all : UnZip UnZipSFX fUnZip MakeSFX
  41.  
  42. u : UnZip
  43.  
  44. f : fUnZip
  45.  
  46. x : UnZipSFX
  47.  
  48. m : MakeSFX
  49.  
  50. UnZip :     $(OBJS)
  51.     $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
  52.  
  53. UnZipSFX :  $(XOBJS) MakeSFX
  54.     $(LD) $(LDFLAGS) -o $@ $(XOBJS) $(LDLIBS)
  55.  
  56. fUnZip :    $(FOBJS)
  57.     $(LD) $(LDFLAGS) -o $@ $(FOBJS) $(LDLIBS)
  58.  
  59. MakeSFX :   amiga/makesfx.c
  60.     $(CC) $(CFLAGS) -o t:makesfx.o amiga/makesfx.c
  61.     $(LD) $(LDFLAGS) -o MakeSFX t:makesfx.o $(LDLIBS)
  62.     -@delete t:makesfx.o
  63.  
  64. clean :
  65.     -delete $(OBJS)
  66.     -delete $(XOBJS)
  67.     -delete $(FOBJS)
  68.     -delete amiga/G_offs.a amiga/G_offs.fa amiga/mkGoff amiga/FmkGoff
  69.  
  70. cleaner : clean
  71.     -delete UnZip fUnZip UnZipSFX MakeSFX
  72.  
  73.  
  74. $(OBJS) $(XOBJS) $(FOBJS) : unzip.h unzpriv.h globals.h \
  75.                              amiga/amiga.h amiga/z-stat.h amiga/z-time.h
  76.  
  77. crypt.o crypt.fo ttyio.o ttyio.fo : zip.h
  78.  
  79. inflate.o inflate.fo : inflate.h
  80.  
  81. fileio.o : ebcdic.h
  82. funzip.o : tables.h
  83.  
  84. crypt.o crypt.fo ttyio.o ttyio.fo unzip.o unzip.xo funzip.o : crypt.h
  85. fileio.o extract.o extract.xo inflate.o inflate.fo amiga/filedate.fo : crypt.h
  86. amiga/mkGoff amiga/FmkGoff : crypt.h
  87.  
  88. crypt.o crypt.fo ttyio.o ttyio.fo funzip.o fileio.o : ttyio.h
  89.  
  90. unzip.o unzip.xo : version.h consts.h
  91.  
  92.  
  93. # Special case object files:
  94.  
  95. amiga/amiga.o : amiga/filedate.c amiga/stat.c amiga/amiga.c
  96.     rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'"
  97.     $(CC) -o amiga/amiga.o $(CFLAGS) $(VERNUMS) amiga/amiga.c
  98.  
  99. amiga/amiga.xo : amiga/filedate.c amiga/stat.c amiga/amiga.c
  100.     $(CC) -o amiga/amiga.xo $(CFLAGS) $(VERNUMS) -d SFX amiga/amiga.c
  101.  
  102. amiga/crc_68.o : amiga/crc_68.a
  103.     as -n -o amiga/crc_68.o amiga/crc_68.a
  104.  
  105. amiga/flate.o : amiga/flate.a amiga/G_offs.a
  106.     as -n -o amiga/flate.o -eINT16 amiga/flate.a
  107.  
  108. amiga/flate.fo : amiga/flate.a amiga/G_offs.fa
  109.     as -n -o amiga/flate.fo -eINT16 -eFUNZIP -eAZTEC amiga/flate.a
  110.  
  111. # These special files are generated on the fly by a program we compile and
  112. # then run, and then included into amiga/flate.a to provide definitions for it:
  113.  
  114. amiga/G_offs.a : amiga/mkGoff
  115.     amiga/mkGoff > amiga/G_offs.a
  116.  
  117. amiga/G_offs.fa : amiga/FmkGoff
  118.     amiga/FmkGoff > amiga/G_offs.fa
  119.  
  120. amiga/mkGoff : amiga/mkGoff.c globals.h crypt.h
  121.     $(CC) -o t:mkgoff.o $(CFLAGS) amiga/mkGoff.c
  122.     $(LD) $(LDFLAGS) -o amiga/mkGoff t:mkgoff.o $(LDLIBS)
  123.     -@delete t:mkgoff.o
  124.  
  125. amiga/FmkGoff : amiga/mkGoff.c globals.h crypt.h
  126.     $(CC) -o t:mkgoff.o $(CFLAGS) -d FUNZIP amiga/mkGoff.c
  127.     $(LD) $(LDFLAGS) -o amiga/FmkGoff t:mkgoff.o $(LDLIBS)
  128.     -@delete t:mkgoff.o
  129.