--- pgp/src/makefile 2018/04/24 16:42:00 1.1.1.3 +++ pgp/src/makefile 2018/04/24 16:44:26 1.1.1.5 @@ -1,6 +1,8 @@ -# makefile for PGP (unix) +# Makefile for PGP (unix) +# Most MS-DOS make utilities are lobotomized so they cannot cope with +# a Makefile as complex as this, so MS-DOS is not included here. # -# PGP 2.6 can be compiled to use either the modular exponentiation +# PGP 2.6.1 can be compiled to use either the modular exponentiation # routines that come with RSAREF 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 routines. @@ -9,7 +11,7 @@ # than the C code in RSAREF). To use the mpilib routines, you # should: # (1) make sure you have the version of RSAREF that comes with -# the PGP 2.6 distribution, +# the PGP 2.6.1 distribution, # (2) in this makefile, add the compiler switch -DUSEMPILIB to # CFLAGS for your system below, # (3) in the RSAREF makefile, add the compiler switch @@ -18,7 +20,7 @@ # fail to link, because they will be unable to find the modular # exponentiation routines. This is OK. # -# Alternatively, to build PGP 2.6 with the RSAREF exponentiation routines, +# Alternatively, to build PGP 2.6.1 with the RSAREF exponentiation routines, # (1) you can use any version of the March 16, 1994 distribution # of RSAREF. # (2) you need not modify this makefile, @@ -71,37 +73,43 @@ ASM = $(CC) -c # Assembler command OBJS_EXT= # ASM obj. files LIBS_EXT= # Libararies -PROJ =pgp +PROJ = pgp default: - @echo "type:" + @echo "To build PGP on your flavour of Unix, type:" @echo " make " @echo "" @echo "where can be:" - @echo " sun4gcc, sun4cc(*), sun3gcc, sun3asm, sun3cc(*), sun386i, sunspc," - @echo " sysv_386, sco-2.0, x286(*), 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 " hpux-pa-ansi, hpux-pa-gcc, hpux-pa(*), hpux-68k-ansi, hpux-68k-gcc" - @echo " hpux-68k(*), next, next486, netbsd" + @echo " 386bsd, 3b1, 3b1_asm, amix-68k-gcc, aux(*), aux-gcc, bsd," + @echo " bsdgcc, djgpp, encore, hpux-68k(*), hpux-68k-ansi," + @echo " hpux-68k-gcc, hpux-pa(*), hpux-pa-ansi, hpux-pa-gcc," + @echo " hpux9-pa-ansi, irix, irix_asm, isc, isc_asm, linux, machten," + @echo " mach_386, mips-ultrix, netbsd, newsasm, newsgcc, next," + @echo " next486, nextHP, os2, osf, qnx4 , rs6000, rt_aos4," + @echo " sco-2.0, sgigcc, sgigcc_asm, solx86gcc, sun386i, sun3asm," + @echo " sun3cc(*), sun3gcc, sun4cc(*), sun4gcc, sun4sunos5gcc," + @echo " sun4acc, sun4sunos5acc, sunspc, sysv_386, vax-ultrix," + @echo " vax_bsd43, x286(*), xenix386" @echo "" - @echo "for targets marked with (*) you must first get unproto, see" - @echo "setup.doc for further details" - + @echo "For targets marked with (*) you must first get unproto." + @echo "See setup.doc for further details." all: $(PROJ) -# If you want to use MPILIB, uncomment this line: -USEMPILIB = -DUSEMPILIB +# For a pure MPILIB version, uncomment the following lines +#RSALIBS = +#RSAOBJS = rsaglue1.o # For an RSAREF version, uncomment the following lines -RSADIR = ../../rsaref +RSADIR = ../rsaref RSALIBDIR = $(RSADIR)/install/unix RSAINCDIR = -I$(RSADIR)/source -I$(RSADIR)/test $(USEMPILIB) RSALIBS = $(RSALIBDIR)/rsaref.a RSAOBJS = rsaglue2.o +# If you want to use MPILIB as a back end to RSAREF, uncomment this line: +USEMPILIB = -DUSEMPILIB + # Assembly-language subroutine dependencies _80386.o: 80386.S @@ -120,7 +128,7 @@ _zmatch.o: zmatch.S rm -f _zmatch.s sparc.o: sparc.S - $(CPP) $(ASMDEF) sparc.S > _sparc.s + $(CPP) $(ASMDEF) sparc.S | grep -v '^# ' > _sparc.s $(ASM) -o $@ _sparc.s rm -f _sparc.s @@ -143,10 +151,15 @@ CFLAGS = $(CFLAGS) -I$(RSAINCDIR) $(PROJ): $(OBJS) $(LD) -o $(PROJ) $(OBJS) $(LDFLAGS) $(LIBS_EXT) $(RSALIBS) +# Commodore Amiga Running SVR4 2.1p2a with GCC 2.6.0 LER +amix-68k-gcc: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="$(RSAINCDIR) -O2 -DHIGHFIRST -DUNIX \ + -DPORTABLE -DIDEA32" linux: $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \ - CFLAGS="$(RSAINCDIR) -O6 -g3 -DUNIX -DIDEA32 -DASM" LDFLAGS="-v" + CFLAGS="$(RSAINCDIR) -O6 -g3 -DUNIX -DIDEA32 -DASM" 386bsd: $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \ @@ -159,20 +172,22 @@ netbsd: # 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" + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=memmove.o \ + CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DUNIX -DHIGHFIRST \ + -DIDEA32 -DPORTABLE" sun3asm: - $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.o \ + $(MAKE) all CC=gcc LD=gcc OBJS_EXT="mc68020.o memmove.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" + $(MAKE) all CC=cc LD=cc OBJS_EXT=memmove.o \ + 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) +# 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 memmove.o" \ @@ -181,12 +196,24 @@ sun4gcc: # Sun 4 SPARC with standard cc: compile with unproto sun4cc: unproto/cpp $(MAKE) all CC=cc LD=cc OBJS_EXT="sparc.o memmove.o" \ - CFLAGS="$(RSAINCDIR) -Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32" + CFLAGS="$(RSAINCDIR) -Qpath unproto -Dconst= -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" \ + CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DSOLARIS -DUNIX -DHIGHFIRST \ + -DIDEA32" ASMDEF=-DSYSV + +# Sun 4 using SunPro C compiler +sun4acc: + $(MAKE) all CC=acc LD=acc CPP="cc -E" OBJS_EXT="sparc.o memmove.o" \ + CFLAGS="-w $(RSAINCDIR) -xO4 -DUNIX -DHIGHFIRST -DIDEA32" \ + +# Sun 4 running SunOs 5 (Solaris) using SunPro C compiler +sun4sunos5acc: + $(MAKE) all CC=cc LD=gcc OBJS_EXT=sparc.o \ + CFLAGS="-w $(RSAINCDIR) -xO4 -DSOLARIS -DUNIX -DHIGHFIRST -DIDEA32" \ ASMDEF=-DSYSV sun386i: @@ -196,19 +223,35 @@ sun386i: 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 + CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DHIGHFIRST -DUNIT32 \ + -DMERRITT" OBJS_EXT=sparc.o + +# x86 running Sunos5 (Solaris)... +solx86gcc: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=_80386.o \ + CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DSOLARIS -DUNIX -DIDEA32" \ + ASMDEF=-DSYSV # 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" + 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" + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.s CFLAGS="$(RSAINCDIR) -O \ + -I. -traditional-cpp -DNOTERMIO -D_BSD -DUNIX -DHIGHFIRST -DIDEA32" + +qnx4: + $(MAKE) all \ + CFLAGS="$(RSAINCDIR) -3 -O -I. -b -DNO_PARAM_H -DUNIX -DIDEA32 \ + -DPORTABLE -DMPORTABLE $(BYTEORDER) -DMAX_NAMELEN=255" + +encore: + $(MAKE) all CC=gcc LD=gcc CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE \ + -DMPORTABLE -DUSE_NBIO -DIDEA32 -DUPTON -DHIGHFIRST" sysv: $(MAKE) all CPP=/lib/cpp \ @@ -225,17 +268,24 @@ xenix386: # 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" + $(MAKE) all CC=gcc LD=gcc LDFLAGS="-lcposix -lrpc" OBJS_EXT=memmove.o \ + 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" + $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o memmove.o" ASMDEF=-DSYSV \ + CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DNO_ITIMER" \ + LDFLAGS="-lcposix -lrpc" mach_386: $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp OBJS_EXT=_80386.o \ CFLAGS="$(RSAINCDIR) -O -I. -DMACH -DUNIX -DIDEA32 -DNOTERMIO" +machten: + $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp OBJS_EXT=mc68020.o \ + CFLAGS="$(RSAINCDIR) -O -I. -DMACH -DUNIX -DHIGHFIRST \ + -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" @@ -244,8 +294,8 @@ sco-2.0: 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" + CFLAGS="$(RSAINCDIR) -LARGE -Ot -DUNIX -DNOPROTO -DSMALL_MEM \ + -DDYN_ALLOC -DUSE_NBIO -DSVR2" # AIX/386 v.1.3 aix386: @@ -255,16 +305,18 @@ aix386: # AIX/370 (like general SysV) aix370: $(MAKE) all CPP=/lib/cpp \ - CFLAGS="$(RSAINCDIR) -O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DHIGHFIRST -DPORTABLE" + 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" + 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" + CFLAGS="$(RSAINCDIR) -O -I. -DUNIX -DSVR2 -DUSE_NBIO -DHIGHFIRST \ + -DMAX_NAMELEN=14" # Silicon Graphics Iris IRIX sgigcc: @@ -281,7 +333,7 @@ irix: CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST -acpp" irix_asm: - $(MAKE) all CC=cc LD=cc OBJS_EXT="r3000.o r3kd.o"\ + $(MAKE) all CC=cc LD=cc OBJS_EXT="r3000.o r3kd.o" \ CFLAGS="$(RSAINCDIR) -O -g -DUNIX -DUSE_NBIO -DHIGHFIRST -acpp" # Users of PGP versions <2.5 will expect a target 'hpux' to build for @@ -295,6 +347,13 @@ hpux-pa-ansi: CFLAGS="$(RSAINCDIR) -Aa +O3 +Obb5000 -D_HPUX_SOURCE -DHIGHFIRST \ -DUNIX -DPORTABLE -DUSE_SELECT -DIDEA32 -DMERRITT" +# HP series 700/800 pa-risc running HP/UX 9.* with cc +hpux9-pa-ansi: + $(MAKE) all CPP=/lib/cpp \ + CFLAGS="$(RSAINCDIR) -Ae -D_HPUX_SOURCE +O3 +Onolimit -DHIGHFIRST \ + -DUNIX -DPORTABLE -DUSE_SELECT -DIDEA32 -DMERRITT" + + # HP series 700 pa-risc running HP/UX with gcc # UNTESTED for PGP 2.5 hpux-pa-gcc: @@ -357,57 +416,77 @@ rs6000: next: $(MAKE) all \ - CFLAGS="$(RSAINCDIR) -O -DNEXT -DUNIX -DHIGHFIRST -DMACH -DPORTABLE -DNOTERMIO" + CFLAGS="$(RSAINCDIR) -O -arch m68k -DNEXT -DUNIX -DHIGHFIRST \ + -DMACH -DPORTABLE -DNOTERMIO" next486: $(MAKE) all \ - CFLAGS="$(RSAINCDIR) -O -DNEXT -DUNIX -DMACH -DPORTABLE \ + CFLAGS="$(RSAINCDIR) -O -arch i386 -DNEXT -DUNIX -DMACH -DPORTABLE \ -DIDEA32 -DNOTERMIO" +nextHP: + $(MAKE) all \ + CFLAGS="$(RSAINCDIR) -O -arch hppa -DNEXT -DUNIX -DMACH -DPORTABLE \ + -DNOTERMIO -DHIGHFIRST" + bsdgcc: $(MAKE) all CC=gcc LD=gcc \ - CFLAGS="$(RSAINCDIR) -O -I. -DNOTERMIO -D_BSD -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)" + 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)" + 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)" + 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." + 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" + 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)" + CFLAGS="$(RSAINCDIR) $(DBG) -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 \ + $(MAKE) all CC=cc OBJS_EXT=memmove.o \ + LDFLAGS="-lposix -lbsd" \ 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" + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=memmove.o \ + LDFLAGS="-lposix -lbsd" \ + 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 +# optimized version with 80386.S for OS/2 2.x. +# Requires emx 0.8h (i.e. gcc 2.5.7 or later) and GNU make 3.71 for OS/2 os2: +# make rsaref first + $(MAKE) -C $(RSALIBDIR) all CC="gcc -Zomf" O="obj" \ + RANLIB="echo" LIB="emxomfar" SRCLIB="rsaref.lib" +# make pgp now $(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" + ASM="gcc -Zomf -c" LD="gcc -Zomf -Zsys" LDFLAGS="-s pgp.def" \ + RSALIBS=$(RSALIBDIR)/rsaref.lib + # 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. @@ -432,7 +511,7 @@ unproto/cpp:: cd unproto && $(MAKE) clean: - -rm -f *.o $(PROJ) core a.out tags + -rm -f *.o $(PROJ) core a.out tags *.err tags: ctags *.c *.h