home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / PGP21OS2.ZIP / MAKEFILE < prev    next >
Text File  |  1992-12-09  |  10KB  |  320 lines

  1. # makefile for PGP (unix)
  2. #
  3. # CFLAGS options:
  4. #
  5. # -DHIGHFIRST if building PGP on a big-endian system
  6. # -DDEBUG     to include debugging information
  7. # -DNOTERMIO  if your system has no termios
  8. # -DSVR2      for System V release 2
  9. # -DDYN_ALLOC if your compiler does not support large static arrays
  10. # -DSMALL_MEM if your machine has a small memory (required for MSDOS)
  11. # -DIDEA32    if your int's are 32 bits this is probably faster
  12. #
  13. # -DPORTABLE  and
  14. # -DMPORTABLE to build the portable version of the RSA primitives
  15. #             (ie if no optimized asm versions are available)
  16. #
  17. # Define one of:
  18. # -DMERRITT    Merritt's modmult (fast on risc machines)
  19. # -DPEASANT    Russian peasant modulo multiply algorithm
  20. # -DUPTON      use Upton's modmult algorithm
  21. # -DSMITH      use Smith's modmult
  22. # See also the file platform.h for system defaults
  23. #
  24. # If you don't have a working FIONREAD ioctl you must use one of these:
  25. # -DUSE_SELECT to use select() system call
  26. # -DUSE_NBIO   to use non-blocking read()
  27.  
  28. # To define the OS we are compiling under, define one of:
  29. # -DMSDOS, -DUNIX, -DVMS, -DATARI, -DAMIGA
  30.  
  31. CFLAGS= -O -DUNIX -DPORTABLE $(BYTEORDER)
  32.  
  33. # must set byte order for targets "sysv" and "bsd"
  34. # BYTEORDER= -DHIGHFIRST
  35.  
  36. CC      = cc
  37. LD      = cc        # Link command
  38. LDFLAGS    =              # Flags for linker
  39. CPP     = $(CC) -E
  40.  
  41. ASM    = $(CC)            # Assembler command
  42. ASMFLAGS = -c        # Flags for assembler
  43.  
  44. OBJS_EXT=            # ASM obj. files
  45. LIBS_EXT=            # Libararies
  46.  
  47. PROJ    =pgp$E
  48.  
  49. default:
  50.     @echo "type:"
  51.     @echo "        make <system>"
  52.     @echo ""
  53.     @echo "where <system> can be:"
  54.     @echo "        sun4gcc, sun4cc(*), sun3gcc, sun3asm, sun3cc(*), sun386i, sunspc,"
  55.     @echo "        sysv_386, sco-2.0, x286(*), hpux, linux, mips-ultrix, vax-ultrix,"
  56.     @echo "        os2, mach_386, 386bsd, isc, isc_asm, 3b1, 3b1_asm, rs6000,"
  57.     @echo "        bsd, vax_bsd43, rt_aos4, osf, sgigcc_asm, sgigcc, irix"
  58.     @echo ""
  59.     @echo "for targets marked with (*) you must first get unproto, see"
  60.     @echo "setup.doc for further details"
  61.  
  62.  
  63. all: $(PROJ)
  64.  
  65. 80386.o:    80386.S
  66.     $(CPP) 80386.S > _80386.s
  67.     $(ASM) $(ASMFLAGS) _80386.s -o $@
  68.     rm -f _80386.s
  69.  
  70. 8086.o: 8086.asm
  71.     cp 8086.asm 8086.s
  72.     $(ASM) $(ASMFLAGS) 8086.s
  73.     rm -f 8086.s
  74.  
  75. zmatch.o:    zmatch.S
  76.     $(CPP) zmatch.S > _zmatch.s
  77.     $(ASM) $(ASMFLAGS) _zmatch.s -o $@
  78.     rm -f _zmatch.s
  79.  
  80. ZIPOBJS= zbits.o zdeflate.o zfile_io.o zglobals.o \
  81.     zinflate.o zip.o zipup.o ztrees.o zunzip.o 
  82.  
  83. OBJ1 =    pgp.o crypto.o keymgmt.o fileio.o \
  84.     mdfile.o more.o armor.o mpilib.o mpiio.o \
  85.     genprime.o rsagen.o random.o idea.o passwd.o \
  86.     md5.o system.o language.o getopt.o keyadd.o \
  87.     config.o keymaint.o charset.o
  88.  
  89. OBJS =    $(OBJ1) $(ZIPOBJS) $(OBJS_EXT)
  90.  
  91. $(PROJ):    $(OBJS)
  92.         $(LD) $(OBJS) -o $(PROJ) $(LDFLAGS) $(LIBS_EXT)
  93.  
  94.  
  95. linux:
  96.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="80386.o zmatch.o" \
  97.     CFLAGS="-O -DUNIX -DIDEA32 -DASM"
  98.  
  99. 386bsd:
  100.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="80386.o zmatch.o" \
  101.     CFLAGS="-O -DUNIX -DIDEA32 -DASM -DMAX_NAMELEN=255"
  102.  
  103. # Sun 3 with gcc
  104. sun3gcc:
  105.     $(MAKE) all CC=gcc LD=gcc \
  106.     CFLAGS="-O -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE -DMPORTABLE"
  107.  
  108. # mc68020.s can also be used without -DMPORTABLE, but this needs some
  109. # changes in mpilib.c, see comments in mc68020.s
  110. sun3asm:
  111.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.s \
  112.     CFLAGS="-O -DUNIX -DHIGHFIRST -DIDEA32 -DUNIT32 -DMPORTABLE"
  113.  
  114. # Sun 3 with standard cc: compile with unproto
  115. sun3cc: unproto/cpp
  116.     $(MAKE) all CC=cc LD=cc \
  117.     CFLAGS="-Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE -DMPORTABLE"
  118.  
  119. # Sun 4 SPARC with gcc (tested with gcc 1.39 and newer, sparc.s can not be used
  120. # with older versions of gcc)
  121. sun4gcc:
  122.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT=sparc.o \
  123.     CFLAGS="-O -fpcc-struct-return -DUNIX -DHIGHFIRST -DIDEA32"
  124.  
  125. # Sun 4 SPARC with standard cc: compile with unproto
  126. sun4cc: unproto/cpp
  127.     $(MAKE) all CC=cc LD=cc OBJS_EXT=sparc.o \
  128.     CFLAGS="-Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32"
  129.  
  130. sun386i:
  131.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT=80386.o \
  132.     CFLAGS="-O -DUNIX -DIDEA32"
  133.  
  134. sunspc:
  135.     $(MAKE) all CC="ccspc -B/1.8.6/sun4 -ansi -w -I/usr/include" \
  136.     CFLAGS="-O -DUNIX -DIDEA32 -DHIGHFIRST -DUNIT32 -DMERRITT" \
  137.     OBJS_EXT=sparc.o
  138.  
  139. sysv:
  140.     $(MAKE) all CPP=/lib/cpp \
  141.     CFLAGS="-O -DUNIX -DPORTABLE -DMPORTABLE -DUSE_NBIO $(BYTEORDER)"
  142.  
  143. # optimized version with 80386.S
  144. sysv_386:
  145.     $(MAKE) all CPP=/lib/cpp OBJS_EXT="80386.o zmatch.o" \
  146.     CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DASM" ASMFLAGS=-DSYSV
  147.  
  148. # Interactive Unix SVR3/386 version 3.2 with gcc
  149. isc:
  150.     $(MAKE) all CC=gcc LD=gcc LDFLAGS="-lcposix" \
  151.     CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DPORTABLE -DMPORTABLE"
  152.  
  153. isc_asm:
  154.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT=80386.o \
  155.     CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO" LDFLAGS="-lcposix"
  156.  
  157. mach_386:
  158.     $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp OBJS_EXT=80386.o \
  159.     CFLAGS="-O -I. -DMACH -DUNIX -DIDEA32 -DNOTERMIO"
  160.  
  161. sco-2.0:
  162.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/xcpp OBJS_EXT=80386.o \
  163.     CFLAGS="-Dsco -O -DUNIX -DIDEA32 -DUSE_NBIO"
  164.  
  165. # Xenix 286
  166. x286:
  167.     $(MAKE) all CC="sh ccc.x286 -M2l" LD="cc -M2l" ASM="cc -M2l" \
  168.     OBJS_EXT=8086.o  LDFLAGS="-F 3000" \
  169.     CFLAGS="-LARGE -Ot -DUNIX -DNOPROTO -DSMALL_MEM -DDYN_ALLOC \
  170.     -DUSE_NBIO -DSVR2"
  171.  
  172. 3b1:
  173.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \
  174.     CFLAGS="-O -I. -DUNIX -DSVR2 -DPORTABLE -DMPORTABLE -DUSE_NBIO -DHIGHFIRST"
  175.  
  176. 3b1_asm:
  177.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT=3B1_68010.o \
  178.     CFLAGS="-O -I. -DUNIX -DSVR2 -DUSE_NBIO -DHIGHFIRST"
  179.  
  180. # Silicon Graphics Iris IRIX
  181. sgigcc:
  182.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \
  183.     CFLAGS="-O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST"
  184.  
  185. # SGI with assembler modules
  186. sgigcc_asm:
  187.     $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT="r3000.o r3kd.o" \
  188.     CFLAGS="-O -DUNIX -DUSE_NBIO -DHIGHFIRST"
  189.  
  190. irix:
  191.     $(MAKE) all CC=cc LD=cc \
  192.     CFLAGS="-O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST -acpp"
  193.  
  194. hpux:
  195.     $(MAKE) all CPP=/usr/lib/cpp \
  196.     CFLAGS="+DA1.0 -Aa +O3 Obb5000 -D_INCLUDE_POSIX_SOURCE \
  197.     -D_INCLUDE_HPUX_SOURCE -D_INCLUDE_XOPEN_SOURCE -DHIGHFIRST -DUNIX \
  198.     -DMPORTABLE -DPORTABLE -DUSE_NBIO -DIDEA32"
  199.  
  200. # VAX Ultrix 4.2 BSD rev. 96, system #3 with gcc
  201. vax-ultrix:
  202.     $(MAKE) all CC=gcc LD=gcc \
  203.     CFLAGS="-O -DUNIX -DPORTABLE -DMPORTABLE -DUSE_SELECT \
  204.     -DSIG_IGN=1 -DSIG_DFL=0"
  205.  
  206. # DEC Ultrix 4.2 BSD with gcc with MIPSco processors
  207. #
  208. # To use dec's cc on mips you should
  209. # uncomment the next two lines because you can't compile r3000.c 
  210. #r3000.o: r3000.s
  211. #    $(AS) -o $@ r3000.s
  212. #
  213. mips-ultrix:
  214.     $(MAKE) all CC=gcc LD=gcc OBJS_EXT="r3kd.o r3000.o"\
  215.     CFLAGS="-O -DUNIX -DUSE_SELECT -DIDEA32"
  216.  
  217. # RS6000 running AIX
  218. rs6000:
  219.     $(MAKE) all CFLAGS="-O -DUNIX -DUSE_NBIO -DPORTABLE \
  220.     -DHIGHFIRST -DIDEA32"
  221.  
  222. next:
  223.     $(MAKE) all \
  224.     CFLAGS="-O -DNEXT -DUNIX -DHIGHFIRST -DBSD -DPORTABLE -DMPORTABLE -DNOTERMIO"
  225.  
  226. bsd:
  227.     $(MAKE) all "LD=cc -s" \
  228.     CFLAGS="-O -I. -B/lib/ -DNOTERMIO -DBSD -DUNIX -DPORTABLE -DMPORTABLE -DUSE_NBIO $(BYTEORDER)"
  229.  
  230. sequent: unproto/cpp
  231.     $(MAKE) all "LD=cc -s -j" CPP=/usr/lib/cpp \
  232.     CFLAGS="-j -O -I. -Yp,unproto -DUNIX -DNOTERMIO -DPORTABLE -DMPORTABLE -DUSE_NBIO $(BYTEORDER)"
  233.  
  234. # RT running bsd with gcc
  235. rt_aos4:
  236.     $(MAKE) all CC=gcc LD=gcc \
  237.     CFLAGS="-O -DUNIX -DBSD -DPORTABLE -DMPORTABLE -DHIGHFIRST -DNOTERMIO -I."
  238.  
  239. # Vax running bsd with gcc
  240. vax_bsd43:
  241.     $(MAKE) all CC=gcc LD=gcc \
  242.     CFLAGS="-O -I. -DUNIX -DBSD -DNOTERMIO -DPORTABLE -DMPORTABLE"
  243.  
  244. # The Open Software Foundation's OSF/1
  245. osf:
  246.     $(MAKE) all \
  247.     CFLAGS="-O -I. -D_BSD -DUNIX -DNOTERMIO -DPORTABLE -DMPORTABLE $(BYTEORDER)"
  248.  
  249. # optimized version with 80386.S for emx 0.8e, OS/2 2.0 or DOS
  250. os2:
  251.     $(MAKE) all E=.exe OBJS_EXT="80386.o zmatch.o" \
  252.     CC="gcc" CFLAGS="-O -DOS2 -DASM -DIDEA32" \
  253.     ASM="gcc" ASMFLAGS="-c -x assembler" \
  254.     LD="gcc" LDFLAGS="pgp.def"
  255.  
  256. #
  257. # unproto for K&R compilers
  258. #
  259. # unproto was posted on comp.sources.misc: v23i012 v23i013
  260. #
  261. # unpack the unproto package in subdirectory unproto
  262. #
  263.  
  264. # unproto: needs preprocessed input
  265. unproto/unproto::
  266.     cd unproto && $(MAKE) PROG=unproto PIPE=
  267.  
  268. # cpp: pipes through /lib/cpp
  269. unproto/cpp::
  270.     cd unproto && $(MAKE)
  271.  
  272. clean:
  273.     -rm -f *.o $(PROJ) core a.out tags
  274.  
  275. tags:
  276.     ctags *.c *.h
  277.  
  278.  
  279. ## Dependencies ##
  280. armor.o : armor.c mpilib.h usuals.h platform.h fileio.h mpiio.h language.h \
  281.   pgp.h 
  282. charset.o : charset.c usuals.h language.h fileio.h 
  283. config.o : config.c usuals.h fileio.h pgp.h 
  284. crypto.o : crypto.c mpilib.h usuals.h platform.h mpiio.h random.h idea.h \
  285.   crypto.h keymgmt.h mdfile.h md5.h fileio.h language.h pgp.h 
  286. fileio.o : fileio.c random.h usuals.h mpilib.h platform.h mpiio.h fileio.h \
  287.   language.h pgp.h 
  288. genprime.o : genprime.c mpilib.h usuals.h platform.h genprime.h random.h 
  289. getopt.o : getopt.c 
  290. idea.o : idea.c idea.h usuals.h 
  291. keyadd.o : keyadd.c mpilib.h usuals.h platform.h idea.h random.h crypto.h \
  292.   fileio.h keymgmt.h genprime.h rsagen.h mpiio.h language.h pgp.h 
  293. keymaint.o : keymaint.c mpilib.h usuals.h platform.h random.h crypto.h \
  294.   fileio.h keymgmt.h mpiio.h language.h pgp.h 
  295. keymgmt.o : keymgmt.c mpilib.h usuals.h platform.h idea.h random.h crypto.h \
  296.   fileio.h keymgmt.h genprime.h rsagen.h mpiio.h language.h pgp.h md5.h 
  297. language.o : language.c usuals.h fileio.h language.h pgp.h 
  298. md5.o : md5.c md5.h 
  299. mdfile.o : mdfile.c mpilib.h usuals.h platform.h mdfile.h md5.h fileio.h \
  300.   language.h pgp.h 
  301. more.o : more.c mpilib.h usuals.h platform.h language.h fileio.h pgp.h 
  302. mpiio.o : mpiio.c mpilib.h usuals.h platform.h mpiio.h pgp.h 
  303. mpilib.o : mpilib.c mpilib.h usuals.h platform.h 
  304. passwd.o : passwd.c random.h usuals.h md5.h language.h pgp.h 
  305. pgp.o : pgp.c mpilib.h usuals.h platform.h random.h crypto.h fileio.h \
  306.   keymgmt.h language.h pgp.h 
  307. random.o : random.c random.h usuals.h language.h 
  308. rsagen.o : rsagen.c mpilib.h usuals.h platform.h genprime.h rsagen.h \
  309.   random.h 
  310. system.o : system.c 
  311. zbits.o : zbits.c zip.h ztailor.h ziperr.h 
  312. zdeflate.o : zdeflate.c zip.h ztailor.h ziperr.h 
  313. zfile_io.o : zfile_io.c zunzip.h 
  314. zglobals.o : zglobals.c zip.h ztailor.h ziperr.h 
  315. zinflate.o : zinflate.c zunzip.h 
  316. zip.o : zip.c usuals.h fileio.h language.h pgp.h 
  317. zipup.o : zipup.c zip.h ztailor.h ziperr.h zrevisio.h 
  318. ztrees.o : ztrees.c zip.h ztailor.h ziperr.h 
  319. zunzip.o : zunzip.c zunzip.h 
  320.