--- pgp/src/makefile 2018/04/24 16:37:52 1.1.1.1 +++ pgp/src/makefile 2018/04/24 16:40:44 1.1.1.2 @@ -1,176 +1,437 @@ -OBJ1 = rsalib.obj rsaio.obj keygen.obj fprims.obj random.obj -OBJ2 = basslib.obj basslib2.obj lfsr.obj memmgr.obj md4.obj lzh.obj -SRCS1 = rsalib.c rsalib.h keygen.c keygen.h rsaio.c rsaio.h fprims.asm -SRCS2 = random.c random.h memmgr.c memmgr.h -SRCS3 = basslib.c basslib2.c lfsr.c basslib.h basslib2.h lfsr.h -SRCS4 = md4.c md4.h md4.doc lzh.c - - -pgp.exe : pgp.obj $(OBJ1) $(OBJ2) - link /M /STACK:8192 pgp.obj $(OBJ1) $(OBJ2) ; - - pgp - -pgp.obj : pgp.c rsalib.h rsaio.h keygen.h random.h basslib.h basslib2.h md4.h - cl /c /Oxaz /DDEBUG pgp.c - -keygen.obj : keygen.c rsalib.h random.h - del keygen.lst - cl /c /Oxaz /Za /DDEBUG keygen.c - -rsalib.obj : rsalib.c rsalib.h - del rsalib.lst - cl /c /Oxaz /Za rsalib.c - -rsaio.obj : rsaio.c rsalib.h rsaio.h - del rsaio.lst - cl /c /Oxaz /Za rsaio.c - -fprims.obj : fprims.asm - masm fprims ; - - -random.obj : random.c random.h - cl /c /Ox random.c - -basslib.obj : basslib.c basslib.h memmgr.h lfsr.h - cl /c /Oxaz /Za basslib.c - -basslib2.obj : basslib2.c basslib2.h - cl /c /Oxaz /Za /DDEBUG basslib2.c - -lfsr.obj : lfsr.c lfsr.h - cl /c /Oxaz /Za /DDEBUG lfsr.c - -memmgr.obj : memmgr.c memmgr.h - cl /c /Oxaz /Za /DDEBUG memmgr.c - -lzh.obj : lzh.c - cl /c /Oxaz /Za lzh.c - -md4.obj : md4.c md4.h - cl /c /Oxaz md4.c - - -# The following section is for making a release disk... - -pgpguide.lst : pgpguide.doc - lp pgpguide.doc pgpguide.lst /T1 /B6 - pgp -se pgpguide.doc bond smart testfile.ctx - -pgp.ctx : pgp.exe - pgp -sb pgp.exe prz - -pgpguide.ctx : pgpguide.lst - pgp -sb pgpguide.lst prz - -pgp10src.ctx : pgp10src.zip - pgp -sb pgp10src.zip prz - -pgp10.zip : keyring.sec keyring.pub pgp.ctx prz.pub pgpguide.ctx pgp.exe pgpguide.lst pgp10src.zip setup.doc - - pkzip -i pgp10src.zip pgp.c pgp.obj pgformat.doc testfile.ctx - pgp -sb pgp10src.zip prz - - del pgp10.zip - pkzip -a pgp10.zip keyring.sec keyring.pub pgp.exe pgpguide.lst setup.doc - pkzip -a pgp10.zip pgp.ctx pgpguide.ctx pgp10src.ctx prz.pub - pkzip -v pgp10.zip - -pgp10src.zip : $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS4) $(OBJ1) $(OBJ2) makefile - - del pgp10src.zip - pkzip -a pgp10src.zip $(SRCS1) - pkzip -a pgp10src.zip $(SRCS2) - pkzip -a pgp10src.zip $(SRCS3) - pkzip -a pgp10src.zip $(SRCS4) makefile - pkzip -a pgp10src.zip $(OBJ1) - pkzip -a pgp10src.zip $(OBJ2) - pkzip -a pgp10src.zip copyleft.txt - pkzip -a pgp10src.zip pgp.c pgp.obj pgformat.doc testfile.ctx - dir pgp10src.zip - -pgpsetup.exe : pgp10.zip - copy pgp10.zip pgpsetup.zip - zip2exe pgpsetup - del pgpsetup.zip - -a:pgpsetup.exe : pgpsetup.exe - copy pgpsetup.exe a: /v - -a:pgp10.zip : pgp10.zip - copy pgp10.zip a: /v - -a:pgp10src.zip : pgp10src.zip - copy pgp10src.zip a: /v - -a:readme.txt : readme.txt - copy readme.txt a: /v - -pgrelease : a:pgp10src.zip a:pgp10.zip a:readme.txt pgpsetup.exe - dir a: - - -# The following section is for bringing in source files from elsewhere... - -md4 = ..\md4 -b = ..\basso -rnd = ..\random -rsa = ..\rsa - -rsalib.c : $(rsa)\rsalib.c - copy $(rsa)\rsalib.c - -rsalib.h : $(rsa)\rsalib.h - copy $(rsa)\rsalib.h - -rsaio.c : $(rsa)\rsaio.c - copy $(rsa)\rsaio.c - -rsaio.h : $(rsa)\rsaio.h - copy $(rsa)\rsaio.h - -keygen.c : $(rsa)\keygen.c - copy $(rsa)\keygen.c - -keygen.h : $(rsa)\keygen.h - copy $(rsa)\keygen.h - -random.c : $(rnd)\random.c - copy $(rnd)\random.c - -random.h : $(rnd)\random.h - copy $(rnd)\random.h - -basslib.c : $(b)\basslib.c - copy $(b)\basslib.c - -basslib.h : $(b)\basslib.h - copy $(b)\basslib.h - -basslib2.c : $(b)\basslib2.c - copy $(b)\basslib2.c - -basslib2.h : $(b)\basslib2.h - copy $(b)\basslib2.h - -lfsr.c : $(b)\lfsr.c - copy $(b)\lfsr.c - -lfsr.h : $(b)\lfsr.h - copy $(b)\lfsr.h - -memmgr.c : $(b)\memmgr.c - copy $(b)\memmgr.c - -memmgr.h : $(b)\memmgr.h - copy $(b)\memmgr.h - -fprims.asm : $(rsa)\fprims.asm - copy $(rsa)\fprims.asm - -md4.c : $(md4)\md4.c - copy $(md4)\md4.c - -#md4.h : $(md4)\md4.h -# copy $(md4)\md4.h -# Commented out because of inexplicable bug in NDMAKE make utility. - - - +# makefile for PGP (unix) +# +# PGP 2.5 can be compiled to use either the modular exponentiation +# routines that come with RSAREF 2.0 or those that are built into the +# multiprecision library (mpilib) that comes with PGP. For UNIX machines +# (and probably VAX/VMS, too), we recommend using the RSAREF 2.0 routines. +# For MSDOS, we recommend using the mpilib routines (there are assembly +# language routines that mpilib can call under MSDOS making it much faster +# than the C code in RSAREF 2.0). To use the mpilib routines, you +# should: +# (1) make sure you have the version of RSAREF 2.0 that comes with +# the PGP 2.5 distribution, +# (2) in this makefile, add the compiler switch -DUSEMPILIB to +# CFLAGS for your system below, +# (3) in the RSAREF 2.0 makefile, add the compiler switch +# -DUSEMPILIB to CFLAGS before building RSAREF. +# Note: when you build RSAREF with -DUSEMPILIB, rdemo and dhdemo will +# fail to link, because they will be unable to find the modular +# exponentiation routines. This is OK. +# +# Alternatively, to build PGP 2.5 with the RSAREF exponentiation routines, +# (1) you can use any version of the March 16, 1994 distribution +# of RSAREF 2.0, +# (2) you need not modify this makefile, +# (3) you need not modify the RSAREF 2.0 makefile. +# +# +# CFLAGS options: +# +# -DHIGHFIRST if building PGP on a big-endian system +# -DDEBUG to include debugging information +# -DNOTERMIO if your system has no termios +# -DSVR2 for System V release 2 +# -DDYN_ALLOC if your compiler does not support large static arrays +# -DSMALL_MEM if your machine has a small memory (required for MSDOS) +# -DIDEA32 if your int's are 32 bits this is probably faster +# +# -DPORTABLE and +# -DMPORTABLE to build the portable version of the RSA primitives +# (ie if no optimized asm versions are available) +# +# Define one of: +# -DMERRITT Merritt's modmult (fast on risc machines) +# -DPEASANT Russian peasant modulo multiply algorithm +# -DUPTON use Upton's modmult algorithm +# -DSMITH use Smith's modmult +# See also the file platform.h for system defaults +# +# If you don't have a working FIONREAD ioctl you must use one of these: +# -DUSE_SELECT to use select() system call +# -DUSE_NBIO to use non-blocking read() + +CFLAGS= -O -DUNIX -DPORTABLE $(BYTEORDER) + +# must set byte order for targets "sysv" and "bsd" +# BYTEORDER= -DHIGHFIRST + +CC = cc +LD = cc # Link command +LDFLAGS = +CPP = $(CC) -E +DBG = -O -g + +# uncomment this for old versions of make +#MAKE = make + +ASM = $(CC) -c # Assembler command + +OBJS_EXT= # ASM obj. files +LIBS_EXT= # Libararies + +PROJ =pgp + +default: + @echo "type:" + @echo " make " + @echo "" + @echo "where can be:" + @echo " sun4gcc, sun4cc(*), sun3gcc, sun3asm, sun3cc(*), sun386i, sunspc," + @echo " sysv_386, sco-2.0, x286(*), hpux, linux, mips-ultrix, vax-ultrix," + @echo " xenix386, mach_386, 386bsd, isc, isc_asm, 3b1, 3b1_asm, rs6000," + @echo " bsd, bsdgcc, vax_bsd43, rt_aos4, osf, sgigcc_asm, sgigcc, irix" + @echo " irix_asm, newsgcc, newsasm, aux(*), aux-gcc, os2, djgpp, sun4sunos5gcc" + @echo "" + @echo "for targets marked with (*) you must first get unproto, see" + @echo "setup.doc for further details" + + +all: $(PROJ) + +# For an RSAREF 2 version, uncomment the following lines +RSADIR = ../../rsaref2 +RSALIBDIR = $(RSADIR)/install/unix +RSAINCDIR = -I$(RSADIR)/source +RSALIBS = $(RSALIBDIR)/rsaref.a +RSAOBJS = rsaglue2.o + +# Assembly-language subroutine dependencies + +_80386.o: 80386.S + $(CPP) $(ASMDEF) 80386.S > _80386.s + $(ASM) -o $@ _80386.s + rm -f _80386.s + +8086.o: 8086.asm + cp 8086.asm 8086.s + $(ASM) -o $@ 8086.s + rm -f 8086.s + +_zmatch.o: zmatch.S + $(CPP) $(ASMDEF) zmatch.S > _zmatch.s + $(ASM) -o $@ _zmatch.s + rm -f _zmatch.s + +sparc.o: sparc.S + $(CPP) $(ASMDEF) sparc.S > _sparc.s + $(ASM) -o $@ _sparc.s + rm -f _sparc.s + +#mc68020.o: +# $(CC) -c mc68020.S + +ZIPOBJS= zbits.o zdeflate.o zfile_io.o zglobals.o \ + zinflate.o zip.o zipup.o ztrees.o zunzip.o + +OBJ1 = pgp.o crypto.o keymgmt.o fileio.o \ + mdfile.o more.o armor.o mpilib.o mpiio.o \ + genprime.o rsagen.o random.o idea.o passwd.o \ + md5.o system.o language.o getopt.o keyadd.o \ + config.o keymaint.o charset.o \ + randpool.o noise.o + +OBJS = $(OBJ1) $(ZIPOBJS) $(RSAOBJS) $(OBJS_EXT) +CFLAGS = $(CFLAGS) -I$(RSAINCDIR) + +$(PROJ): $(OBJS) + $(LD) -o $(PROJ) $(OBJS) $(LDFLAGS) $(LIBS_EXT) $(RSALIBS) + + +linux: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \ + CFLAGS="$(RSAINCDIR) -O6 -g3 -DUNIX -DIDEA32 -DASM" LDFLAGS="-v" + +386bsd: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DASM -DMAX_NAMELEN=255" + +# Sun 3 with gcc +# change -traditional-cpp to -traditional for gcc < 2.0 +sun3gcc: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE" + +sun3asm: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.o \ + CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32" + +# Sun 3 with standard cc: compile with unproto +sun3cc: unproto/cpp + $(MAKE) all CC=cc LD=cc \ + CFLAGS="$(RSAINCDIR) -Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE" + +# Sun 4 SPARC with gcc (tested with gcc 1.39 and newer, sparc.s can not be used +# with older versions of gcc) +# change -traditional-cpp to -traditional for gcc < 2.0 +sun4gcc: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=sparc.o \ + CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32" + +# Sun 4 SPARC with standard cc: compile with unproto +sun4cc: unproto/cpp + $(MAKE) all CC=cc LD=cc OBJS_EXT=sparc.o \ + CFLAGS="$(RSAINCDIR) -Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32" + +# Sun 4 running Sunos5 (Solaris)... +sun4sunos5gcc: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=sparc.o \ + CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DSOLARIS -DUNIX -DHIGHFIRST -DIDEA32" \ + ASMDEF=-DSYSV + +sun386i: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=_80386.o \ + CFLAGS="$(RSAINCDIR) -I. -O -DUNIX -DIDEA32 -DNOTERMIO" \ + ASMDEF=-DSYSV + +sunspc: + $(MAKE) all CC="ccspc -B/1.8.6/sun4 -ansi -w -I/usr/include" \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DHIGHFIRST -DUNIT32 -DMERRITT" \ + OBJS_EXT=sparc.o + +# Sony newsos v3 for m68k, with gcc +# change -traditional-cpp to -traditional for gcc < 2.0 +newsgcc: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="$(RSAINCDIR) -O -I. -traditional-cpp -DNOTERMIO -D_BSD -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE" + +# with asm +newsasm: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.s \ + CFLAGS="$(RSAINCDIR) -O -I. -traditional-cpp -DNOTERMIO -D_BSD -DUNIX -DHIGHFIRST -DIDEA32" + +sysv: + $(MAKE) all CPP=/lib/cpp \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)" + +# optimized version with 80386.S +sysv_386: + $(MAKE) all CPP="/lib/cpp -DSYSV" OBJS_EXT="_80386.o _zmatch.o" \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DASM" + +xenix386: + $(MAKE) all CPP=/lib/cpp OBJS_EXT="_80386.o _zmatch.o" \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DSVR2 -DIDEA32 -DUSE_NBIO -DASM" + +# Interactive Unix SVR3/386 version 3.2 with gcc +isc: + $(MAKE) all CC=gcc LD=gcc LDFLAGS="-lcposix" \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DPORTABLE -DNO_ITIMER" + +isc_asm: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=_80386.o ASMDEF=-DSYSV \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DNO_ITIMER" LDFLAGS="-lcposix" + +mach_386: + $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp OBJS_EXT=_80386.o \ + CFLAGS="$(RSAINCDIR) -O -I. -DMACH -DUNIX -DIDEA32 -DNOTERMIO" + +sco-2.0: + $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/xcpp OBJS_EXT=_80386.o \ + ASMDEF=-DSYSV CFLAGS="$(RSAINCDIR) -Dsco -O -DUNIX -DIDEA32 -DUSE_NBIO" + +# Xenix 286 +x286: + $(MAKE) all CC="sh ccc.x286 -M2l" LD="cc -M2l" ASM="cc -M2l" \ + OBJS_EXT=8086.o LDFLAGS="-F 3000" \ + CFLAGS="$(RSAINCDIR) -LARGE -Ot -DUNIX -DNOPROTO -DSMALL_MEM -DDYN_ALLOC \ + -DUSE_NBIO -DSVR2" + +# AIX/386 v.1.3 +aix386: + $(MAKE) all CPP="/lib/cpp -DSYSV" \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DPORTABLE" + +# AIX/370 (like general SysV) +aix370: + $(MAKE) all CPP=/lib/cpp \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DHIGHFIRST -DPORTABLE" + +3b1: + $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \ + CFLAGS="$(RSAINCDIR) -O -I. -DUNIX -DSVR2 -DPORTABLE -DUSE_NBIO -DHIGHFIRST \ + -DMAX_NAMELEN=14" + +3b1_asm: + $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT=3b168010.o \ + CFLAGS="$(RSAINCDIR) -O -I. -DUNIX -DSVR2 -DUSE_NBIO -DHIGHFIRST -DMAX_NAMELEN=14" + +# Silicon Graphics Iris IRIX +sgigcc: + $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST" + +# SGI with assembler modules +sgigcc_asm: + $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT="r3000.o r3kd.o" \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DUSE_NBIO -DHIGHFIRST" + +irix: + $(MAKE) all CC=cc LD=cc \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST -acpp" + +irix_asm: + $(MAKE) all CC=cc LD=cc OBJS_EXT="r3000.o r3kd.o"\ + CFLAGS="$(RSAINCDIR) -O -g -DUNIX -DUSE_NBIO -DHIGHFIRST -acpp" + +hpux: + $(MAKE) all CPP=/usr/lib/cpp \ + CFLAGS="$(RSAINCDIR) -Aa +O3 +Obb5000 -D_INCLUDE_POSIX_SOURCE \ + -D_INCLUDE_HPUX_SOURCE -D_INCLUDE_XOPEN_SOURCE -DHIGHFIRST -DUNIX \ + -DPORTABLE -DUSE_SELECT -DIDEA32 -DMERRITT" + +# VAX Ultrix 4.2 BSD rev. 96, system #3 with gcc +vax-ultrix: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_SELECT \ + -DSIG_IGN=1 -DSIG_DFL=0" + +# DEC Ultrix 4.2 BSD with gcc with MIPSco processors +# +# To use dec's cc on mips you should +# uncomment the next two lines because you can't compile r3000.c +#r3000.o: r3000.s +# $(AS) -o $@ r3000.s +# +#mips-ultrix: +# $(MAKE) all CC=gcc LD=gcc OBJS_EXT="r3kd.o r3000.o"\ +# CFLAGS="$(RSAINCDIR) $(DBG) -DUNIX -DUSE_SELECT -DIDEA32" + +mips-ultrix: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="$(RSAINCDIR) $(DBG) -DUNIX -DPORTABLE \ + -DMPORTABLE -DUSE_SELECT -DIDEA32" + +# RS6000 running AIX +rs6000: + $(MAKE) all CFLAGS="$(RSAINCDIR) -O -DUNIX -DNOTERMIO -DPORTABLE \ + -DMODERN -DHIGHFIRST -DIDEA32" + +next: + $(MAKE) all \ + CFLAGS="$(RSAINCDIR) -O -DNEXT -DUNIX -DHIGHFIRST -DMACH -DPORTABLE -DNOTERMIO" + +bsdgcc: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="$(RSAINCDIR) -O -I. -DNOTERMIO -D_BSD -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)" + +bsd: + $(MAKE) all "LD=cc -s" \ + CFLAGS="$(RSAINCDIR) -O -I. -B/lib/ -DNOTERMIO -D_BSD -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)" + +sequent: unproto/cpp + $(MAKE) all "LD=cc -s -j" CPP=/usr/lib/cpp \ + CFLAGS="$(RSAINCDIR) -j -O -I. -Yp,unproto -DUNIX -DNOTERMIO -DPORTABLE -DUSE_NBIO $(BYTEORDER)" + +# RT running bsd with gcc +rt_aos4: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -D_BSD -DMAX_NAMELEN=255 -DPORTABLE -DHIGHFIRST -DNOTERMIO -I." + +# Vax running bsd with gcc +vax_bsd43: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="$(RSAINCDIR) -O -I. -DUNIX -D_BSD -DMAX_NAMELEN=255 -DNOTERMIO -DPORTABLE" + +# The Open Software Foundation's OSF/1 +osf: + $(MAKE) all \ + CFLAGS="$(RSAINCDIR) -O -I. -D_BSD -DUNIX -DNOTERMIO -DPORTABLE $(BYTEORDER)" + +# A/UX 3.0 using unproto (mine is invoked as a cpp using the CFLAGS shown +# I placed the cpp in a subdirectory of /src/pgp called unproto +aux: unproto/cpp + $(MAKE) all CC=cc \ + LDFLAGS=-lposix \ + CFLAGS="$(RSAINCDIR) -B unproto/ -tp -DSVR2 \ + -DHIGHFIRST -DUNIX -DPORTABLE -DUSE_SELECT -DUPTON" +aux-gcc: + $(MAKE) all CC=gcc LD=gcc \ + LDFLAGS=-lposix \ + CFLAGS="$(RSAINCDIR) -O2 -DSVR2 -DHIGHFIRST -DUNIX -DPORTABLE -DUSE_SELECT -DUPTON" + +# optimized version with 80386.S for emx 0.8e, OS/2 2.0 or DOS +os2: + $(MAKE) all PROJ=pgp.exe OBJS_EXT="_80386.o _zmatch.o" \ + CC="gcc -Zomf" CFLAGS="$(RSAINCDIR) -O -DOS2 -DASM -DIDEA32" \ + ASM="gcc -Zomf -c" LD="gcc" LDFLAGS="-s pgp.def" + +# DJGPP, DJ Delorie's port of GNU C to MS-DOA (thanks DJ!). Tested with dmake. +# You may have to rehack this -- I'm not good with makefiles. +djgpp: + $(MAKE) "OBJS_EXT=80386.o zmatch.o" CC=gcc LD=gcc \ + "CFLAGS=-O2 -DSMALL_MEM -DASM -DIDEA32" all + +# +# unproto for K&R compilers +# +# unproto was posted on comp.sources.misc: v23i012 v23i013 +# +# unpack the unproto package in subdirectory unproto +# + +# unproto: needs preprocessed input +unproto/unproto:: + cd unproto && $(MAKE) PROG=unproto PIPE= + +# cpp: pipes through /lib/cpp +unproto/cpp:: + cd unproto && $(MAKE) + +clean: + -rm -f *.o $(PROJ) core a.out tags + +tags: + ctags *.c *.h + + +## Dependencies ## +armor.o : armor.c mpilib.h usuals.h platform.h fileio.h mpiio.h language.h \ + pgp.h more.h armor.h crypto.h +charset.o : charset.c usuals.h language.h charset.h system.h +config.o : config.c usuals.h fileio.h pgp.h more.h armor.h config.h \ + charset.h +crypto.o : crypto.c mpilib.h usuals.h platform.h mpiio.h random.h idea.h \ + crypto.h keymgmt.h keymaint.h mdfile.h md5.h fileio.h charset.h language.h \ + pgp.h more.h armor.h exitpgp.h zipup.h rsaglue.h +fileio.o : fileio.c random.h usuals.h mpilib.h platform.h mpiio.h fileio.h \ + language.h pgp.h more.h armor.h exitpgp.h charset.h system.h +genprime.o : genprime.c mpilib.h usuals.h platform.h genprime.h random.h +getopt.o : getopt.c getopt.h +idea.o : idea.c idea.h usuals.h +keyadd.o : keyadd.c mpilib.h usuals.h platform.h crypto.h fileio.h \ + keymgmt.h charset.h language.h pgp.h more.h armor.h exitpgp.h keyadd.h \ + keymaint.h +keymaint.o : keymaint.c mpilib.h usuals.h platform.h random.h crypto.h \ + fileio.h keymgmt.h keymaint.h mpiio.h charset.h language.h pgp.h more.h \ + armor.h +keymgmt.o : keymgmt.c system.h mpilib.h usuals.h platform.h idea.h random.h \ + crypto.h fileio.h keymgmt.h rsagen.h mpiio.h language.h pgp.h more.h \ + armor.h md5.h charset.h keymaint.h +language.o : language.c usuals.h fileio.h language.h pgp.h more.h armor.h \ + charset.h +md5.o : md5.c md5.h +mdfile.o : mdfile.c mpilib.h usuals.h platform.h mdfile.h md5.h fileio.h \ + language.h pgp.h more.h armor.h +more.o : more.c system.h mpilib.h usuals.h platform.h language.h fileio.h \ + pgp.h more.h armor.h charset.h +mpiio.o : mpiio.c mpilib.h # usuals.h platform.h mpiio.h pgp.h more.h armor.h +mpilib.o : mpilib.c mpilib.h # usuals.h platform.h +passwd.o : passwd.c random.h usuals.h md5.h language.h pgp.h more.h armor.h +pgp.o : pgp.c system.h mpilib.h usuals.h platform.h random.h crypto.h \ + fileio.h keymgmt.h language.h pgp.h more.h armor.h exitpgp.h charset.h \ + getopt.h config.h keymaint.h keyadd.h rsaglue.h +random.o : random.c system.h random.h usuals.h language.h +rsagen.o : rsagen.c mpilib.h usuals.h platform.h genprime.h rsagen.h \ + random.h rsaglue.h +rsaglue.o : rsaglue.c mpilib.h mpiio.h pgp.h rsaglue.h +system.o : system.c exitpgp.h system.h charset.h +zbits.o : zbits.c zip.h ztailor.h ziperr.h +zdeflate.o : zdeflate.c zunzip.h usuals.h system.h zip.h ztailor.h ziperr.h +zfile_io.o : zfile_io.c zunzip.h usuals.h system.h +zglobals.o : zglobals.c zip.h ztailor.h ziperr.h +zinflate.o : zinflate.c zunzip.h usuals.h system.h exitpgp.h +zip.o : zip.c usuals.h fileio.h language.h pgp.h more.h armor.h exitpgp.h +zipup.o : zipup.c zip.h ztailor.h ziperr.h zrevisio.h +ztrees.o : ztrees.c zip.h ztailor.h ziperr.h +zunzip.o : zunzip.c zunzip.h usuals.h system.h +r3000.o : r3000.c mpilib.h usuals.h platform.h lmul.h