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

  1. # Makefile for PGP (Unix)
  2. #
  3. #
  4. # This makefile is intended for PGP 2.6.3i. PGP 2.6.3i is based on MIT's
  5. # PGP 2.6.2, but has been modified so that it:
  6. #
  7. #  (1) does not use RSAREF
  8. #  (2) allows you to disable the "legal kludge"
  9. #  (3) corrects a number of bugs present in PGP 2.6.2
  10. #  (4) adds a number of new features without breaking compatibility
  11. #      with older versions
  12. #
  13. # PGP 2.6.3i is probably illegal to use within the USA, so if you're
  14. # physically inside the US, you should do the following:
  15. #
  16. #  (1) Obtain and build a copy of the RSAREF 1.0 library (included with
  17. #      MIT PGP 2.6 and later)
  18. #  (2) Add the -DUSA compiler switch to CFLAGS for your system below
  19. #  (3) Comment out the lines for MPILIB (rsaglue1.o) and uncomment the
  20. #      lines for RSAREF (rsaglue2.o) below
  21. #
  22. # This will give you a version of PGP called 2.6.3, which is identical
  23. # to 2.6.3i, except that it uses RSAREF and the "legal kludge" cannot
  24. # be disabled.
  25. #
  26. #
  27. # CFLAGS options:
  28. #
  29. # -DUSA       to get a version that is legal to use within the US
  30. # -DHIGHFIRST if building PGP on a big-endian system
  31. # -DDEBUG     to include debugging information
  32. # -DNOTERMIO  if your system has no termios
  33. # -DSVR2      for System V release 2
  34. # -DDYN_ALLOC if your compiler does not support large static arrays
  35. # -DSMALL_MEM if your machine has a small memory (required for MSDOS)
  36. # -DIDEA32    if your int's are 32 bits this is probably faster
  37. #
  38. # -DPORTABLE  and
  39. # -DMPORTABLE to build the portable version of the RSA primitives
  40. #             (ie if no optimized asm versions are available)
  41. #
  42. # Define one of:
  43. # -DMERRITT    Merritt's modmult (fast on risc machines)
  44. # -DPEASANT    Russian peasant modulo multiply algorithm
  45. # -DUPTON      use Upton's modmult algorithm
  46. # -DSMITH      use Smith's modmult
  47. # See also the file platform.h for system defaults
  48. #
  49. # If you don't have a working FIONREAD ioctl you must use one of these:
  50. # -DUSE_SELECT to use select() system call
  51. # -DUSE_NBIO   to use non-blocking read()
  52.  
  53. CFLAGS= -O -DUNIX -DPORTABLE $(BYTEORDER)
  54.  
  55. # must set byte order for targets "sysv" and "bsd"
  56. # BYTEORDER= -DHIGHFIRST
  57.  
  58. CC      = cc
  59. LD      = cc            # Link command
  60. LDFLAGS = 
  61. CPP     = $(CC) -E
  62. DBG     = -O
  63. RM      = rm -f
  64.  
  65. # uncomment this for old versions of make
  66. #MAKE   = make
  67.  
  68. ASM     = $(CC) -c              # Assembler command
  69.  
  70. OBJS_EXT=                       # ASM obj. files
  71. LIBS_EXT=                       # Libararies
  72.  
  73. PROJ    = pgp
  74.  
  75. default:
  76.     @echo "To build PGP on your flavour of Unix, type:"
  77.     @echo "        make <system>"
  78.     @echo ""
  79.     @echo "where <system> can be:"
  80.     @echo "    386bsd, 3b1, 3b1_asm, aix370, aix386, amix-68k-gcc, apollo,"
  81.     @echo "    apollo-gcc, atari,aux(*), aux-gcc, bsd, bsdgcc, convexos,"
  82.     @echo "    dgux, djgpp, encore, freebsd, hpux-68k(*), hpux-68k-ansi,"
  83.     @echo "    hpux-68k-gcc, hpux-pa(*), hpux-pa-ansi, hpux-pa-gcc,"
  84.     @echo "    hpux9-pa-ansi, irix, irix_asm, isc, isc_asm, linux, linux-68k,"
  85.     @echo "    machten, mach_386, mips-ultrix, netbsd, netbsd_68k, newsasm,"
  86.     @echo "    newsgcc, next, next-intel, next486, nextHP, os2, osf, qnx4,"
  87.     @echo "    riscos501, rs6000, rt_aos4, sco-2.0, sco-3.0, sco-3.0-gcc,"
  88.     @echo "    sco386cc, sgigcc, sgigcc_asm, sinix, solx86gcc, sun386i,"
  89.     @echo "    sun3asm, sun3cc(*), sun3gcc, sun4cc(*), sun4gcc,"
  90.     @echo "    sun4sunos5gcc, sun4acc, sun4sunos5acc, sunspc, sysv, sysvgcc,"
  91.     @echo "    sysv_386, sysv_386_gcc, unixware, vax-ultrix, vax_bsd43,"
  92.     @echo "    xenix286(*), xenix386"
  93.     @echo ""
  94.     @echo "For targets marked with (*) you must first get unproto."
  95.     @echo "See setup.doc for further details."
  96.  
  97. all: $(PROJ)
  98.  
  99. # For a pure MPILIB version, uncomment the following lines
  100. RSALIBS =
  101. RSAOBJS = rsaglue1.o
  102.  
  103. # For an RSAREF version, uncomment the following lines
  104. #RSADIR = ../rsaref
  105. #RSALIBDIR = $(RSADIR)/install/unix
  106. #RSAINCDIR = -I$(RSADIR)/source -I$(RSADIR)/test $(USEMPILIB)
  107. #RSALIBS = $(RSALIBDIR)/rsaref.a
  108. #RSAOBJS = rsaglue2.o
  109.  
  110. # If you want to use MPILIB as a back end to RSAREF, uncomment this line:
  111. #USEMPILIB = -DUSEMPILIB
  112.  
  113. # Assembly-language subroutine dependencies
  114.  
  115. _80386.o:    80386.S
  116.     $(CPP) $(ASMDEF) 80386.S > _80386.s
  117.     $(ASM) -o _80386.o _80386.s
  118.     $(RM) _80386.s
  119.  
  120. 8086.o:    8086.asm
  121.     cp 8086.asm 8086.s
  122.     $(ASM) -o 8086.o 8086.s
  123.     $(RM) 8086.s
  124.  
  125. _zmatch.o:    zmatch.S
  126.     $(CPP) $(ASMDEF) zmatch.S > _zmatch.s
  127.     $(ASM) -o _zmatch.o _zmatch.s
  128.     $(RM) _zmatch.s
  129.  
  130. sparc.o:    sparc.S
  131.     $(CPP) $(ASMDEF) sparc.S | grep -v '^# ' > _sparc.s
  132.     $(ASM) -o sparc.o _sparc.s
  133.     $(RM) _sparc.s
  134.  
  135. mc68020.o:
  136.     $(ASM) -o mc68020.o mc68020.s
  137.  
  138. ZIPOBJS= zbits.o zdeflate.o zfile_io.o zglobals.o \
  139.     zinflate.o zip.o zipup.o ztrees.o zunzip.o 
  140.  
  141. OBJ1 =  pgp.o crypto.o keymgmt.o fileio.o \
  142.     mdfile.o more.o armor.o mpilib.o mpiio.o \
  143.     genprime.o rsagen.o random.o idea.o passwd.o \
  144.     md5.o system.o language.o getopt.o keyadd.o \
  145.     config.o keymaint.o charset.o \
  146.     randpool.o noise.o
  147.  
  148. OBJS =  $(OBJ1) $(ZIPOBJS) $(RSAOBJS) $(OBJS_EXT)
  149. CFLAGS = $(CFLAGS) -I$(RSAINCDIR)
  150.  
  151. $(PROJ):    $(OBJS)
  152.         $(LD) -o $(PROJ) $(OBJS) $(LDFLAGS) $(LIBS_EXT) $(RSALIBS)
  153.  
  154. #  Commodore Amiga Running SVR4 2.1p2a with GCC 2.6.0 LER
  155. amix-68k-gcc:
  156.     $(MAKE) all CC=gcc LD=gcc \
  157.     CFLAGS="$(RSAINCDIR) -O2 -DHIGHFIRST -DUNIX \
  158.     -DPORTABLE -DIDEA32"
  159.  
  160. # Atari-version with gcc 2.5.8
  161. atari:
  162.     $(MAKE) all CC=gcc LD=gcc PROJ=pgp.ttp \
  163.     CFLAGS="$(RSAINCDIR) $(USEMPILIB) -O2 -DATARI -DHIGHFIRST -DPORTABLE \
  164.     -DUNIT32 -DIDEA32"
  165.  
  166. linux:
  167.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \
  168.     CFLAGS="$(RSAINCDIR) -O6 -g3 -DUNIX -DLINUX -DIDEA32 -DASM"
  169.  
  170. linux-68k:
  171.     $(MAKE) all CC=gcc LD=gcc \
  172.     CFLAGS="$(RSAINCDIR) -O2 -DHIGHFIRST -DUNIX -DPORTABLE -DIDEA32"
  173.  
  174. freebsd:
  175.     $(MAKE) all LD="$(CC) -s" OBJS_EXT="_80386.o _zmatch.o" \
  176.     CFLAGS="$(RSAINCDIR) -O2 -fno-strength-reduce -DUNIX -DIDEA32 -DASM \
  177.     -DMAX_NAMELEN=255"
  178.  
  179. 386bsd:
  180.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \
  181.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DASM -DMAX_NAMELEN=255"
  182.  
  183. netbsd:
  184.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \
  185.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DASM -DMAX_NAMELEN=255"
  186.  
  187. netbsd_68k:
  188.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="mc68020.o" \
  189.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DHIGHFIRST -DIDEA32 -DMAX_NAMELEN=255"
  190.  
  191. # Sun 3 with gcc
  192. # change -traditional-cpp to -traditional for gcc < 2.0
  193. sun3gcc:
  194.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT=memmove.o \
  195.     CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DUNIX -DHIGHFIRST \
  196.     -DIDEA32 -DPORTABLE"
  197.  
  198. sun3asm:
  199.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="mc68020.o memmove.o" \
  200.     CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32"
  201.  
  202. # Sun 3 with standard cc: compile with unproto
  203. sun3cc: unproto/cpp
  204.     $(MAKE) all CC=cc LD=cc OBJS_EXT=memmove.o \
  205.     CFLAGS="$(RSAINCDIR) -Qpath unproto -O -DUNIX -DHIGHFIRST \
  206.     -DIDEA32 -DPORTABLE"
  207.  
  208. # Sun 4 SPARC with gcc (tested with gcc 1.39 and newer, sparc.s can not be
  209. # used with older versions of gcc)
  210. # change -traditional-cpp to -traditional for gcc < 2.0
  211. sun4gcc:
  212.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="sparc.o memmove.o" \
  213.     CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32"
  214.  
  215. # Sun 4 SPARC with standard cc: compile with unproto
  216. sun4cc: unproto/cpp
  217.     $(MAKE) all CC=cc LD=cc OBJS_EXT="sparc.o memmove.o"  \
  218.     CFLAGS="$(RSAINCDIR) -Qpath unproto -Dconst= -O -DUNIX \
  219.     -DHIGHFIRST -DIDEA32"
  220.  
  221. # Sun 4 using SunPro C compiler
  222. sun4acc:
  223.     $(MAKE) all CC=acc LD=acc CPP="cc -E" OBJS_EXT="sparc.o memmove.o" \
  224.     CFLAGS="-w $(RSAINCDIR) -xO4 -DUNIX -DHIGHFIRST -DIDEA32" \
  225.  
  226. # Sun 4 running Sunos5 (Solaris) using gcc
  227. sun4sunos5gcc:
  228.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT=sparc.o \
  229.     CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DSOLARIS -DUNIX -DHIGHFIRST \
  230.     -DIDEA32" ASMDEF=-DSYSV
  231.  
  232. # Sun 4 running SunOs 5 (Solaris) using SunPro C compiler
  233. sun4sunos5acc:
  234.     $(MAKE) all CC=cc LD=cc \
  235.     CFLAGS="-w $(RSAINCDIR) -xO2 -DSOLARIS -DUNIX -DHIGHFIRST -DIDEA32 \
  236.     -DPORTABLE"
  237.  
  238. sun386i:
  239.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o memmove.o" \
  240.     CFLAGS="$(RSAINCDIR) -I. -O -DUNIX -DIDEA32 -DNOTERMIO" \
  241.     ASMDEF=-DSYSV
  242.  
  243. sunspc:
  244.     $(MAKE) all CC="ccspc -B/1.8.6/sun4 -ansi -w -I/usr/include" \
  245.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DHIGHFIRST -DUNIT32 \
  246.     -DMERRITT" OBJS_EXT=sparc.o
  247.  
  248. # x86 running SunOS 5 (Solaris)...
  249. solx86gcc:
  250.     $(MAKE) all CC=gcc LD=gcc \
  251.     CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DSOLARIS -DUNIX -DIDEA32 \
  252.         -DPORTABLE"
  253.  
  254. # Sony newsos v3 for m68k, with gcc
  255. # change -traditional-cpp to -traditional for gcc < 2.0
  256. newsgcc:
  257.     $(MAKE) all CC=gcc LD=gcc \
  258.     CFLAGS="$(RSAINCDIR) -O -I. -traditional-cpp -DNOTERMIO -D_BSD \
  259.     -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE"
  260.  
  261. #  with asm
  262. newsasm:
  263.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.s CFLAGS="$(RSAINCDIR) -O \
  264.     -I. -traditional-cpp -DNOTERMIO -D_BSD -DUNIX -DHIGHFIRST -DIDEA32"
  265.  
  266. qnx4:
  267.     $(MAKE) all \
  268.     CFLAGS="$(RSAINCDIR) -3 -O -I. -b -DNO_PARAM_H -DUNIX -DIDEA32 \
  269.     -DPORTABLE -DMPORTABLE $(BYTEORDER) -DMAX_NAMELEN=255"
  270.  
  271. encore:
  272.     $(MAKE) all CC=gcc LD=gcc CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE \
  273.     -DMPORTABLE -DUSE_NBIO -DIDEA32 -DUPTON -DHIGHFIRST"
  274.  
  275. sysv:
  276.     $(MAKE) all CPP=/lib/cpp \
  277.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
  278.  
  279. sysvgcc:
  280.     $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp \
  281.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
  282.  
  283. # Optimized version with 80386.S
  284. sysv_386:
  285.     $(MAKE) all CPP="/lib/cpp -DSYSV" OBJS_EXT="_80386.o _zmatch.o" \
  286.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DASM"
  287.  
  288. # gcc tested on ESIX 4.0.3a with gcc 2.5.8
  289. sysv_386_gcc:
  290.     $(MAKE) all CC=gcc LD=gcc CPP="/lib/cpp -DSYSV" \
  291.     OBJS_EXT="_80386.o _zmatch.o" \
  292.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DASM"
  293.  
  294. # Interactive Unix SVR3/386 version 3.2 with gcc
  295. isc:
  296.     $(MAKE) all CC=gcc LD=gcc LDFLAGS="-lcposix -lrpc" OBJS_EXT=memmove.o \
  297.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DPORTABLE \
  298.     -DNO_ITIMER"
  299.  
  300. isc_asm:
  301.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o memmove.o" ASMDEF=-DSYSV \
  302.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DNO_ITIMER" \
  303.     LDFLAGS="-lcposix -lrpc"
  304.  
  305. mach_386:
  306.     $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp OBJS_EXT=_80386.o \
  307.     CFLAGS="$(RSAINCDIR) -O -I. -DMACH -DUNIX -DIDEA32 -DNOTERMIO"
  308.  
  309. machten:
  310.     $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp OBJS_EXT=mc68020.o \
  311.     CFLAGS="$(RSAINCDIR) -O -I. -DMACH -DUNIX -DHIGHFIRST \
  312.     -DIDEA32 -DNOTERMIO"
  313.  
  314. sco-2.0:
  315.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/xcpp OBJS_EXT=_80386.o \
  316.     ASMDEF=-DSYSV CFLAGS="$(RSAINCDIR) -Dsco -O -DUNIX -DIDEA32 -DUSE_NBIO"
  317.  
  318. sco-3.0:
  319.     $(MAKE) all CC=cc LD=cc CPP=/lib/cpp OBJS_EXT=_80386.o \
  320.     ASMDEF=-DSYSV CFLAGS="$(RSAINCDIR) -Dsco -O -DUNIX -DIDEA32 \
  321.     -DUSE_NBIO" LDFLAGS="-lsocket"
  322.  
  323. sco-3.0-gcc:
  324.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/xcpp OBJS_EXT=_80386.o \
  325.     ASMDEF=-DSYSV CFLAGS="-traditional-cpp $(RSAINCDIR) -Dsco -O \
  326.     -DUNIX -DIDEA32 -DUSE_NBIO" LIBS_EXT=-lsocket
  327.  
  328. sco386cc:
  329.     $(MAKE) all CPP=/usr/lib/xcpp OBJS_EXT=_80386.o ASMDEF=-DSYSV \
  330.     CFLAGS="$(RSAINCDIR) -Dsco -O -DUNIX -DIDEA32 -DUSE_NBIO -I." \
  331.     LDFLAGS="-lsocket"
  332.  
  333. # Siemens RM 400 running Sinix 5.42, using the Siemens compiler
  334. sinix:
  335.     $(MAKE) all CPP=/lib/cpp \
  336.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST"
  337.  
  338. # Data General Unix using gcc
  339. dgux:
  340.     $(MAKE) all CPP=/lib/cpp CC=gcc LD=gcc\
  341.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO  \
  342.     -DIDEA32 -DHIGHFIRST"
  343.  
  344. x286:    xenix286
  345. xenix286:
  346.     $(MAKE) all CC="sh ccc.x286 -M2l" LD="cc -M2l" ASM="cc -M2l" \
  347.     OBJS_EXT=8086.o  LDFLAGS="-F 3000" \
  348.     CFLAGS="$(RSAINCDIR) -LARGE -Ot -DUNIX -DNOPROTO -DSMALL_MEM \
  349.     -DDYN_ALLOC -DUSE_NBIO -DSVR2"
  350.  
  351. xenix386:
  352.     $(MAKE) all CPP=/lib/cpp OBJS_EXT="_80386.o _zmatch.o" \
  353.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DSVR2 -DIDEA32 -DUSE_NBIO -DASM"
  354.  
  355. 3b1:
  356.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \
  357.     CFLAGS="$(RSAINCDIR) -O -I. -DUNIX -DSVR2 -DPORTABLE -DUSE_NBIO \
  358.     -DHIGHFIRST -DMAX_NAMELEN=14"
  359.  
  360. 3b1_asm:
  361.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT=3b168010.o \
  362.     CFLAGS="$(RSAINCDIR) -O -I. -DUNIX -DSVR2 -DUSE_NBIO -DHIGHFIRST \
  363.     -DMAX_NAMELEN=14"
  364.  
  365. # Silicon Graphics Iris IRIX
  366. sgigcc:
  367.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \
  368.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST"
  369.  
  370. # SGI with assembler modules
  371. sgigcc_asm:
  372.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT="r3000.o r3kd.o" \
  373.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DUSE_NBIO -DHIGHFIRST"
  374.  
  375. irix:
  376.     $(MAKE) all CC=cc LD=cc \
  377.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST -acpp"
  378.  
  379. irix_asm:
  380.     $(MAKE) all CC=cc LD=cc OBJS_EXT="r3000.o r3kd.o" \
  381.     CFLAGS="$(RSAINCDIR) -O -g -DUNIX -DUSE_NBIO -DHIGHFIRST -acpp"
  382.  
  383. # Users of PGP versions < 2.5 will expect a target 'hpux' to build for
  384. # a snake (HP Series 700 RISC machine).  Don't disappoint them.
  385. hpux:    hpux-pa-ansi
  386.  
  387. # HP series 700 pa-risc running HP/UX with HP's ANSI cc
  388. hpux-pa-ansi:
  389.     $(MAKE) all CPP=/usr/lib/cpp \
  390.     CFLAGS="$(RSAINCDIR) -Aa +O3 +Obb5000 -D_HPUX_SOURCE -DHIGHFIRST \
  391.     -DUNIX -DPORTABLE -DUSE_SELECT -DIDEA32 -DMERRITT"
  392.  
  393. # HP series 700/800 pa-risc running HP/UX 9.* with cc
  394. hpux9-pa-ansi:
  395.     $(MAKE) all CPP=/lib/cpp \
  396.     CFLAGS="$(RSAINCDIR) -Ae -D_HPUX_SOURCE +O3 +Onolimit -DHIGHFIRST \
  397.     -DUNIX -DPORTABLE -DUSE_SELECT -DIDEA32 -DMERRITT"
  398.  
  399.  
  400. # HP series 700 pa-risc running HP/UX with gcc
  401. hpux-pa-gcc:
  402.     $(MAKE) all CC=gcc LD=gcc \
  403.     CFLAGS="$(RSAINCDIR) -O2 -D_HPUX_SOURCE -DHIGHFIRST -DUNIX \
  404.     -DPORTABLE -DUSE_SELECT -DIDEA32 -DMERRITT"
  405.  
  406. # HP series 700 pa-risc running HP/UX with HP's standard cc: use unproto
  407. hpux-pa: unproto/cpp
  408.     $(MAKE) all \
  409.     CFLAGS="-tp,./unproto/cpp $(RSAINCDIR) -DHIGHFIRST \
  410.     -DUNIX -DPORTABLE -DUSE_SELECT -DIDEA32 -DMERRITT"
  411.  
  412. # HP series 300 mc68k running HP/UX with HP's ANSI cc
  413. hpux-68k-ansi:
  414.     $(MAKE) all \
  415.     CFLAGS="$(RSAINCDIR) -Aa +O2 -D_HPUX_SOURCE -DHIGHFIRST -DUNIX \
  416.     -DPORTABLE -DUSE_SELECT -DIDEA32"
  417.  
  418. # HP series 300 mc68k running HP/UX with gcc
  419. hpux-68k-gcc:
  420.     $(MAKE) all CC=gcc LD=gcc \
  421.     CFLAGS="$(RSAINCDIR) -O2 -D_HPUX_SOURCE -DHIGHFIRST -DUNIX \
  422.     -DPORTABLE -DUSE_SELECT -DIDEA32"
  423.  
  424. # HP series 300 mc68k running HP/UX with HP's standard cc: use unproto
  425. hpux-68k: unproto/cpp
  426.     $(MAKE) all \
  427.     CFLAGS="-tp,./unproto/cpp $(RSAINCDIR) -DHIGHFIRST \
  428.     -DUNIX -DPORTABLE -DUSE_SELECT -DIDEA32"
  429.  
  430. # VAX Ultrix 4.2 BSD rev. 96, system #3 with gcc
  431. vax-ultrix:
  432.     $(MAKE) all CC=gcc LD=gcc \
  433.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_SELECT \
  434.     -DSIG_IGN=1 -DSIG_DFL=0"
  435.  
  436. # DEC Ultrix 4.2 BSD with gcc with MIPSco processors
  437. #
  438. # To use dec's cc on mips you should
  439. # uncomment the next two lines because you can't compile r3000.c 
  440. #r3000.o:    r3000.s
  441. #    $(AS) -o $@ r3000.s
  442. #
  443. #mips-ultrix:
  444. #    $(MAKE) all CC=gcc LD=gcc OBJS_EXT="r3kd.o r3000.o"\
  445. #    CFLAGS="$(RSAINCDIR) $(DBG) -DUNIX -DUSE_SELECT -DIDEA32"
  446.  
  447. mips-ultrix:
  448.     $(MAKE) all CC=gcc LD=gcc \
  449.     CFLAGS="$(RSAINCDIR) $(DBG) -DUNIX -DPORTABLE \
  450.     -DMPORTABLE -DUSE_SELECT -DIDEA32"
  451.  
  452. # Mips R3230 running RISC/os 5.01
  453. riscos501:
  454.     $(MAKE) all CC="cc -systype svr4" LD="cc -systype svr4" \
  455.     CFLAGS="$(RSAINCDIR) -DPORTABLE -DUNIX -DHIGHFIRST -DIDEA32 \
  456.     -DMPORTABLE -DUSE_SELECT -DMERRITT"
  457.  
  458. convexos:
  459.     $(MAKE) all CC=gcc LD=gcc \
  460.     CFLAGS="$(RSAINCDIR) -O -DHIGHFIRST -DUNIX \
  461.     -DPORTABLE -DIDEA32"
  462.  
  463. # RS6000 running AIX
  464. rs6000:
  465.     $(MAKE) all CFLAGS="$(RSAINCDIR) -O -DUNIX -DNOTERMIO -DPORTABLE \
  466.     -DMODERN -DHIGHFIRST -DIDEA32"
  467.  
  468. # AIX/370
  469. aix370:
  470.     $(MAKE) all CPP=/lib/cpp \
  471.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DHIGHFIRST \
  472.     -DPORTABLE"
  473.  
  474. # AIX/386 v.1.3
  475. aix386:
  476.     $(MAKE) all CPP="/lib/cpp -DSYSV" \
  477.     CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DPORTABLE"
  478.  
  479. next:
  480.     $(MAKE) all \
  481.     CFLAGS="$(RSAINCDIR) -O -arch m68k -DNEXT -DUNIX -DHIGHFIRST \
  482.     -DMACH -DPORTABLE -DNOTERMIO"
  483.  
  484. next-intel:
  485.     $(MAKE) all OBJS_EXT=_80386.o \
  486.     CFLAGS="-O -DNEXT -DUNIX -DMACH -DNOTERMIO"
  487.  
  488. next486:
  489.     $(MAKE) all \
  490.     CFLAGS="$(RSAINCDIR) -O -arch i386 -DNEXT -DUNIX -DMACH -DPORTABLE \
  491.     -DIDEA32 -DNOTERMIO"
  492.  
  493. nextHP:
  494.     $(MAKE) all \
  495.     CFLAGS="$(RSAINCDIR) -O -arch hppa -DNEXT -DUNIX -DMACH -DPORTABLE \
  496.     -DNOTERMIO -DHIGHFIRST"
  497.  
  498. bsdgcc:
  499.     $(MAKE) all CC=gcc LD=gcc \
  500.     CFLAGS="$(RSAINCDIR) -O -I. -DNOTERMIO -D_BSD -DUNIX -DPORTABLE \
  501.     -DUSE_NBIO $(BYTEORDER)"
  502.  
  503. bsd:
  504.     $(MAKE) all "LD=cc -s" \
  505.     CFLAGS="$(RSAINCDIR) -O -I. -B/lib/ -DNOTERMIO -D_BSD -DUNIX \
  506.     -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
  507.  
  508. sequent: unproto/cpp
  509.     $(MAKE) all "LD=cc -s -j" CPP=/usr/lib/cpp \
  510.     CFLAGS="$(RSAINCDIR) -j -O -I. -Yp,unproto -DUNIX -DNOTERMIO \
  511.     -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
  512.  
  513. #  Apollo running DomainOS Release 10.4 (bsd4.3)
  514. apollo:
  515.     $(MAKE) all CC=cc LD=cc \
  516.     CFLAGS="$(RSAINCDIR) -O -I. -DHIGHFIRST -DBSD -DUNIX -DPORTABLE \
  517.     -DUSE_SELECT"
  518.  
  519. #  Apollo running DomainOS Release 10.4 (bsd4.3) and gcc 2.6.0
  520. apollo-gcc:
  521.     $(MAKE) all CC=gcc LD=gcc \
  522.     CFLAGS="$(RSAINCDIR) -O -I. -DHIGHFIRST -DBSD -DUNIX -DPORTABLE \
  523.     -DUSE_SELECT"
  524.  
  525. # RT running bsd with gcc
  526. rt_aos4:
  527.     $(MAKE) all CC=gcc LD=gcc \
  528.     CFLAGS="$(RSAINCDIR) -O -DUNIX -D_BSD -DMAX_NAMELEN=255 -DPORTABLE \
  529.     -DHIGHFIRST -DNOTERMIO -I."
  530.  
  531. # Vax running bsd with gcc
  532. vax_bsd43:
  533.     $(MAKE) all CC=gcc LD=gcc \
  534.     CFLAGS="$(RSAINCDIR) -O -I. -DUNIX -D_BSD -DMAX_NAMELEN=255 \
  535.     -DNOTERMIO -DPORTABLE"
  536.  
  537. # The Open Software Foundation's OSF/1
  538. osf:
  539.     $(MAKE) all \
  540.     CFLAGS="$(RSAINCDIR) $(DBG) -I. -D_BSD -DUNIX -DNOTERMIO \
  541.     -DPORTABLE $(BYTEORDER)"
  542.  
  543. # A/UX 3.0 using unproto (mine is invoked as a cpp using the CFLAGS shown
  544. # I placed the cpp in a subdirectory of /src/pgp called unproto
  545. aux: unproto/cpp
  546.     $(MAKE) all CC=cc OBJS_EXT=memmove.o \
  547.     LDFLAGS="-lposix -lbsd" \
  548.     CFLAGS="$(RSAINCDIR) -B unproto/ -tp -DSVR2 \
  549.     -DHIGHFIRST -DUNIX -DPORTABLE -DUSE_SELECT -DUPTON"
  550. aux-gcc:
  551.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT=memmove.o \
  552.     LDFLAGS="-lposix -lbsd" \
  553.     CFLAGS="$(RSAINCDIR) -O2 -DSVR2 -DHIGHFIRST -DUNIX -DPORTABLE \
  554.     -DUSE_SELECT -DUPTON"
  555.  
  556. # Novell UnixWare 2.0 with gcc
  557. unixware:
  558.     $(MAKE) all CC=gcc LD=gcc LDFLAGS="" \
  559.     CFLAGS="$(RSAINCDIR) -O2 -m486 -DUNIX -DIDEA32 -DUSE_NBIO -DPORTABLE"
  560.  
  561. # Optimized version with 80386.S for OS/2 2.x.
  562. # Requires emx 0.8h (i.e. gcc 2.5.7 or later) and GNU make 3.71 for OS/2
  563. os2:
  564.     $(MAKE) all PROJ=pgp.exe RM=del OBJS_EXT="_80386.o _zmatch.o" \
  565.     CC="gcc -Zomf" CFLAGS="$(RSAINCDIR) -O -DOS2 -DASM -DIDEA32" \
  566.     ASM="gcc -Zomf -c" LD="gcc -Zomf -Zsys" LDFLAGS="-s pgp.def"
  567.  
  568.  
  569. # DJGPP, DJ Delorie's port of GNU C to MS-DOS (thanks DJ!).
  570. # (Tested with DJGPP 2.0 and GNU make.)
  571. djgpp:
  572.     $(MAKE) all 'OBJS_EXT=_80386.o _zmatch.o' \
  573.     CC=gcc 'CFLAGS=$(RSAINCDIR) -O3 -DASM -DIDEA32' \
  574.     LD=gcc LIBS_EXT=-lpc RM=del
  575.     strip pgp
  576.     coff2exe pgp
  577.  
  578. #
  579. # unproto for K&R compilers
  580. #
  581. # unproto was posted on comp.sources.misc: v23i012 v23i013
  582. #
  583. # unpack the unproto package in subdirectory unproto
  584. #
  585.  
  586. # unproto: needs preprocessed input
  587. unproto/unproto::
  588.     cd unproto && $(MAKE) PROG=unproto PIPE=
  589.  
  590. # cpp: pipes through /lib/cpp
  591. unproto/cpp::
  592.     cd unproto && $(MAKE)
  593.  
  594. clean:
  595.     -$(RM) *.o $(PROJ) core a.out tags *.err
  596.  
  597. tags:
  598.     ctags *.c *.h
  599.  
  600.  
  601. ## Dependencies ##
  602. armor.o : armor.c mpilib.h usuals.h platform.h fileio.h mpiio.h language.h \
  603.   pgp.h more.h armor.h crypto.h charset.h
  604. charset.o : charset.c usuals.h language.h charset.h system.h
  605. config.o : config.c usuals.h fileio.h pgp.h more.h armor.h config.h \
  606.   charset.h
  607. crypto.o : crypto.c mpilib.h usuals.h platform.h mpiio.h random.h idea.h \
  608.   crypto.h keymgmt.h keymaint.h mdfile.h md5.h fileio.h charset.h language.h \
  609.   pgp.h more.h armor.h exitpgp.h zipup.h rsaglue.h
  610. fileio.o : fileio.c random.h idea.h usuals.h mpilib.h platform.h mpiio.h \
  611.   fileio.h language.h pgp.h more.h armor.h exitpgp.h charset.h system.h
  612. genprime.o : genprime.c mpilib.h usuals.h platform.h genprime.h random.h \
  613.   idea.h
  614. getopt.o : getopt.c getopt.h
  615. idea.o : idea.c idea.h usuals.h
  616. keyadd.o : keyadd.c mpilib.h usuals.h platform.h crypto.h fileio.h \
  617.   keymgmt.h charset.h language.h pgp.h more.h armor.h exitpgp.h keyadd.h \
  618.   keymaint.h
  619. keymaint.o : keymaint.c mpilib.h usuals.h platform.h random.h idea.h \
  620.   crypto.h fileio.h keymgmt.h keymaint.h mpiio.h charset.h language.h pgp.h \
  621.   more.h armor.h
  622. keymgmt.o : keymgmt.c system.h mpilib.h usuals.h platform.h idea.h random.h \
  623.   crypto.h fileio.h keymgmt.h rsagen.h mpiio.h language.h pgp.h more.h \
  624.   armor.h md5.h charset.h keymaint.h
  625. language.o : language.c usuals.h fileio.h language.h pgp.h more.h armor.h \
  626.   charset.h
  627. md5.o : md5.c md5.h
  628. mdfile.o : mdfile.c mpilib.h usuals.h platform.h mdfile.h md5.h fileio.h \
  629.   language.h pgp.h more.h armor.h
  630. more.o : more.c system.h mpilib.h usuals.h platform.h language.h fileio.h \
  631.   pgp.h more.h armor.h charset.h
  632. mpiio.o : mpiio.c mpilib.h # usuals.h platform.h mpiio.h pgp.h more.h armor.h
  633. mpilib.o : mpilib.c mpilib.h # usuals.h platform.h
  634. passwd.o : passwd.c random.h idea.h usuals.h md5.h language.h pgp.h more.h \
  635.   armor.h
  636. pgp.o : pgp.c system.h mpilib.h usuals.h platform.h random.h idea.h crypto.h \
  637.   fileio.h keymgmt.h language.h pgp.h more.h armor.h exitpgp.h charset.h \
  638.   getopt.h config.h keymaint.h keyadd.h rsaglue.h
  639. random.o : random.c system.h random.h idea.h usuals.h language.h
  640. rsagen.o : rsagen.c mpilib.h usuals.h platform.h genprime.h rsagen.h \
  641.   random.h idea.h rsaglue.h
  642. rsaglue.o : rsaglue.c mpilib.h mpiio.h pgp.h rsaglue.h
  643. system.o : system.c exitpgp.h system.h charset.h mpilib.h
  644. zbits.o : zbits.c zip.h ztailor.h ziperr.h
  645. zdeflate.o : zdeflate.c zunzip.h usuals.h system.h zip.h ztailor.h ziperr.h
  646. zfile_io.o : zfile_io.c zunzip.h usuals.h system.h
  647. zglobals.o : zglobals.c zip.h ztailor.h ziperr.h
  648. zinflate.o : zinflate.c zunzip.h usuals.h system.h exitpgp.h
  649. zip.o : zip.c zip.h usuals.h fileio.h language.h pgp.h more.h armor.h exitpgp.h
  650. zipup.o : zipup.c zip.h ztailor.h ziperr.h zrevisio.h
  651. ztrees.o : ztrees.c zip.h ztailor.h ziperr.h
  652. zunzip.o : zunzip.c zunzip.h usuals.h system.h language.h
  653. r3000.o : r3000.c mpilib.h usuals.h platform.h lmul.h
  654.