home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / utilities / cli / pgp2 / src / Omakefile < prev    next >
Encoding:
Makefile  |  1995-04-29  |  19.5 KB  |  604 lines

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