home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1998 February / PCOnline_02_1998.iso / filesbbs / os2 / pgp263.arj / PGP263I.SRC / PGP263II.ZIP / src / smakefile < prev    next >
Makefile  |  1996-01-18  |  7KB  |  198 lines

  1. #
  2. # Makefile for SAS/C 6.51 to create the Amiga version of PGP 2.6.3i
  3. #
  4. # Also makes PGP 2.6.3
  5. #
  6. # Peter Simons <simons@peti.rhein.de> & Rob Knop <rknop@mop.caltech.edu>
  7. #
  8.  
  9. #
  10. # Comments:
  11. # =========
  12. #
  13. # These settings will generate the fastest version of PGP to run on
  14. # 68000-processors. 68020+ users should add "CPU=68020" to the CFLAGS
  15. # and un-comment the AFLAGS line to get an even faster version.
  16. #
  17. #                                                            -peter
  18. #
  19. #
  20. # Use "smake PGP2.6.3" to build PGP 2.6.3 (legal to use in the USA).
  21. # "smake PGP2.6.3i", "smake PGP", or just "smake" builds the
  22. # international PGP 2.6.3i,  which is illegal to use in the USA.
  23. # 68020 options for both the USA &  International versions are
  24. # as mentioned by Peter above.
  25. #
  26. # You will have to aquire the RSAREF libraries in order to build PGP 2.6.3
  27. # from this source.  I will make a .lha with the source code and Amiga
  28. # smakefile available on ftp.csn.net and (perhaps) elsewhere.
  29. #
  30. # NOTE -- if you are for whatever reason compiling two versions of PGP
  31. # from the same directory (e.g. 68020 and 68000, or 2.6.3 and 2.6.3i),
  32. # it is important to delete all the object files (.o files) before starting
  33. # the compilation of a different version from the version the .o files were
  34. # originally compiled for.
  35. #                                                            -Rob
  36. #
  37.  
  38. # Labels:
  39. # =======
  40. #
  41. # Compile a version based on the MPILIB
  42. RSALIBS =
  43. RSAINCDIR =
  44. RSAOBJS = rsaglue1.o
  45.  
  46. # Compile a version using the RSAREF 1.0 code
  47. RSADIR = /rsaref/
  48. RSALIBDIR = $(RSADIR)install/amiga/
  49. USA_RSAINCDIR = IDIR=$(RSADIR)source/ IDIR=$(RSADIR)test/
  50. USA_RSALIBS = $(RSALIBDIR)rsaref.lib
  51. USA_RSAOBJS = rsaglue2.o
  52.  
  53. ZIPOBJS  = zbits.o zdeflate.o zfile_io.o zglobals.o zinflate.o zip.o zipup.o ztrees.o zunzip.o
  54. OBJS_EXT = amiga_asm.o amiga__main.o
  55. OBJ1     = pgp.o crypto.o keymgmt.o fileio.o mdfile.o more.o armor.o \
  56.   mpilib.o mpiio.o genprime.o rsagen.o random.o idea.o passwd.o \
  57.   md5.o system.o language.o getopt.o keyadd.o config.o keymaint.o \
  58.   charset.o randpool.o noise.o
  59. OBJS     = $(OBJ1) $(RSAOBJS) $(ZIPOBJS) $(OBJS_EXT)
  60.  
  61.  
  62. #
  63. # Compiler Flags:
  64. # ===============
  65. #
  66. # Define one one the following flags to get the wanted effect:
  67. #
  68. # USA          - to get a version that is legal to use within the US
  69. # DEBUG        - to include debugging information
  70. # DYN_ALLOC    - if your compiler does not support large static arrays
  71. # IDEA32       - to make the IDEA module use 32bit variables
  72. #
  73. # MERRITT      - Merritt's modmult (fast on risc machines)
  74. # PEASANT      - Russian peasant modulo multiply algorithm
  75. # UPTON        - use Upton's modmult algorithm
  76. # SMITH        - use Smith's modmult
  77. # See also the file platform.h for system defaults
  78. #
  79. # If you don't have a working FIONREAD ioctl you must use one of these:
  80. # -DUSE_SELECT to use select() system call
  81. # -DUSE_NBIO   to use non-blocking read()
  82.  
  83. #
  84. # CFLAGS for Amiga
  85. # ================
  86. #
  87. # Options common for 2.6.3i and 2.6.3 are in SCOPTIONS.  There are two sets
  88. # of non-common flags here, CFLAGS for 2.6.3i and CFLAGS_USA for 2.6.3.
  89. #
  90. # Note that the USEMPILIB definition in the USA version simply uses a faster
  91. # modulo exponentiation routine from MPILIB.  The RSAREF libraries are still
  92. # being used, so the executable produced is still a legit MIT version.
  93. #
  94. # DYN_ALLOC and IDEA32, mentioned above, are defined in SCOPTIONS.
  95. #
  96. # CFLAGS= CPU=68020
  97. # CFLAGS_USA= DEF=USA DEF=USEMPILIB DEF=AMIGA_ASM $(USA_RSAINCDIR) CPU=68020
  98. CFLAGS=
  99. CFLAGS_USA= DEF=USA DEF=USEMPILIB DEF=AMIGA_ASM $(USA_RSAINCDIR)
  100.  
  101. #
  102. # Assembler Flags:
  103. # ================
  104. #
  105. # Define one one the following flags to get the wanted effect:
  106. # _M68020      - to include the 68020-optimized P_SMUL routine (will require
  107. #                -m2 to surpress the warnings, too)
  108. #
  109. # AFLAGS= -D_M68020 -m2
  110. AFLAGS=
  111.  
  112. #
  113. # Targets:
  114. # ========
  115. #
  116. PGP2.6.3i:
  117.         smake pgp
  118.  
  119. PGP2.6.3:
  120.         smake pgp "RSAOBJS=$(USA_RSAOBJS)" "RSALIBS=$(USA_RSALIBS)" \
  121.                    "RSAINCDIR=$(USA_RSAINCDIR)" "CFLAGS=$(CFLAGS_USA)"
  122.  
  123. pgp:          $(OBJS)
  124.         slink lib:cres.o $(OBJS) TO PGP LIB LIB:sc.lib LIB:amiga.lib $(RSALIBS)
  125.  
  126.  
  127. #
  128. # Actions:
  129. # ========
  130. #
  131. .c.o:
  132.         sc $(CFLAGS) $*.c
  133. .a.o:
  134.         asm $(AFLAGS) $*.a
  135.  
  136. mc68020.o:    mc68020.s
  137.     $(ASM) mc68020.s
  138.  
  139. #
  140. # Dependencies:
  141. # =============
  142. #
  143.  
  144. amiga__main.o: amiga__main.c
  145. amiga_asm.o: amiga_asm.a
  146.  
  147. armor.o : armor.c mpilib.h usuals.h platform.h fileio.h mpiio.h language.h \
  148.   pgp.h more.h armor.h crypto.h charset.h
  149. charset.o : charset.c usuals.h language.h charset.h system.h
  150. config.o : config.c usuals.h fileio.h pgp.h more.h armor.h config.h \
  151.   charset.h
  152. crypto.o : crypto.c mpilib.h usuals.h platform.h mpiio.h random.h idea.h \
  153.   crypto.h keymgmt.h keymaint.h mdfile.h md5.h fileio.h charset.h language.h \
  154.   pgp.h more.h armor.h exitpgp.h zipup.h rsaglue.h
  155. fileio.o : fileio.c random.h usuals.h mpilib.h platform.h mpiio.h fileio.h \
  156.   language.h pgp.h more.h armor.h exitpgp.h charset.h system.h
  157. genprime.o : genprime.c mpilib.h usuals.h platform.h genprime.h random.h
  158. getopt.o : getopt.c getopt.h
  159. idea.o : idea.c idea.h usuals.h
  160. keyadd.o : keyadd.c mpilib.h usuals.h platform.h crypto.h fileio.h \
  161.   keymgmt.h charset.h language.h pgp.h more.h armor.h exitpgp.h keyadd.h \
  162.   keymaint.h
  163. keymaint.o : keymaint.c mpilib.h usuals.h platform.h random.h crypto.h \
  164.   fileio.h keymgmt.h keymaint.h mpiio.h charset.h language.h pgp.h more.h \
  165.   armor.h
  166. keymgmt.o : keymgmt.c system.h mpilib.h usuals.h platform.h idea.h random.h \
  167.   crypto.h fileio.h keymgmt.h rsagen.h mpiio.h language.h pgp.h more.h \
  168.   armor.h md5.h charset.h keymaint.h
  169. language.o : language.c usuals.h fileio.h language.h pgp.h more.h armor.h \
  170.   charset.h
  171. md5.o : md5.c md5.h
  172. mdfile.o : mdfile.c mpilib.h usuals.h platform.h mdfile.h md5.h fileio.h \
  173.   language.h pgp.h more.h armor.h
  174. more.o : more.c system.h mpilib.h usuals.h platform.h language.h fileio.h \
  175.   pgp.h more.h armor.h charset.h
  176. mpiio.o : mpiio.c mpilib.h # usuals.h platform.h mpiio.h pgp.h more.h armor.h
  177. mpilib.o : mpilib.c mpilib.h # usuals.h platform.h
  178. passwd.o : passwd.c random.h usuals.h md5.h language.h pgp.h more.h armor.h
  179. pgp.o : pgp.c system.h mpilib.h usuals.h platform.h random.h crypto.h \
  180.   fileio.h keymgmt.h language.h pgp.h more.h armor.h exitpgp.h charset.h \
  181.   getopt.h config.h keymaint.h keyadd.h rsaglue.h
  182. random.o : random.c system.h random.h usuals.h language.h
  183. rsagen.o : rsagen.c mpilib.h usuals.h platform.h genprime.h rsagen.h \
  184.   random.h rsaglue.h
  185. rsaglue.o : rsaglue.c mpilib.h mpiio.h pgp.h rsaglue.h
  186. system.o : system.c exitpgp.h system.h charset.h
  187. zbits.o : zbits.c zip.h ztailor.h ziperr.h
  188. zdeflate.o : zdeflate.c zunzip.h usuals.h system.h zip.h ztailor.h ziperr.h
  189. zfile_io.o : zfile_io.c zunzip.h usuals.h system.h
  190. zglobals.o : zglobals.c zip.h ztailor.h ziperr.h
  191. zinflate.o : zinflate.c zunzip.h usuals.h system.h exitpgp.h
  192. zip.o : zip.c usuals.h fileio.h language.h pgp.h more.h armor.h exitpgp.h
  193. zipup.o : zipup.c zip.h ztailor.h ziperr.h zrevisio.h
  194. ztrees.o : ztrees.c zip.h ztailor.h ziperr.h
  195. zunzip.o : zunzip.c zunzip.h usuals.h system.h
  196. r3000.o : r3000.c mpilib.h usuals.h platform.h lmul.h
  197.  
  198.