--- pgp/src/makefile 2018/04/24 16:43:23 1.1.1.4 +++ pgp/src/makefile 2018/04/24 16:44:26 1.1.1.5 @@ -1,4 +1,6 @@ -# 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.1 can be compiled to use either the modular exponentiation # routines that come with RSAREF or those that are built into the @@ -71,29 +73,32 @@ 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, nextHP, netbsd, qnx4" + @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 @@ -102,6 +107,9 @@ RSAINCDIR = -I$(RSADIR)/source -I$(RSADI 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,6 +151,11 @@ 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" \ @@ -160,7 +173,8 @@ netbsd: # change -traditional-cpp to -traditional for gcc < 2.0 sun3gcc: $(MAKE) all CC=gcc LD=gcc OBJS_EXT=memmove.o \ - CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE" + CFLAGS="$(RSAINCDIR) -O -traditional-cpp -DUNIX -DHIGHFIRST \ + -DIDEA32 -DPORTABLE" sun3asm: $(MAKE) all CC=gcc LD=gcc OBJS_EXT="mc68020.o memmove.o" \ @@ -169,10 +183,11 @@ sun3asm: # Sun 3 with standard cc: compile with unproto sun3cc: unproto/cpp $(MAKE) all CC=cc LD=cc OBJS_EXT=memmove.o \ - CFLAGS="$(RSAINCDIR) -Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE" + 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" \ @@ -187,7 +202,18 @@ sun4cc: unproto/cpp # 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: @@ -197,23 +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" + 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 \ @@ -243,6 +281,11 @@ 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" @@ -251,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: @@ -262,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: @@ -288,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 @@ -302,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: @@ -379,30 +431,36 @@ nextHP: 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 @@ -414,13 +472,21 @@ aux: unproto/cpp aux-gcc: $(MAKE) all CC=gcc LD=gcc OBJS_EXT=memmove.o \ LDFLAGS="-lposix -lbsd" \ - CFLAGS="$(RSAINCDIR) -O2 -DSVR2 -DHIGHFIRST -DUNIX -DPORTABLE -DUSE_SELECT -DUPTON" + 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.