home *** CD-ROM | disk | FTP | other *** search
Makefile | 1993-07-02 | 13.2 KB | 406 lines |
- # makefile for PGP (unix)
- #
- # 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
-
- # 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 <system>"
- @echo ""
- @echo "where <system> 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 " newsgcc, newsasm, aux(*), aux-gcc, os2, djgpp"
- @echo ""
- @echo "for targets marked with (*) you must first get unproto, see"
- @echo "setup.doc for further details"
-
-
- all: $(PROJ)
-
- # RSAOBJS = rsa.o nn.o digit.o r_random.o r_stdlib.o
-
- rsaref: $(RSAOBJS)
-
- RSADIR = ../../rsaref/source/
-
- rsa.o: $(RSADIR)rsa.c global.h $(RSADIR)rsaref.h $(RSADIR)r_random.h \
- $(RSADIR)md5.h
- $(CC) -c -I$(RSADIR) -I. $(CFLAGS) -Dstatic= $(RSADIR)rsa.c
-
- nn.o : $(RSADIR)nn.c global.h $(RSADIR)rsaref.h \
- $(RSADIR)nn.h $(RSADIR)digit.h
- $(CC) -c -I$(RSADIR) -I. $(CFLAGS) $(RSADIR)nn.c
-
- digit.o : $(RSADIR)digit.c global.h $(RSADIR)rsaref.h $(RSADIR)nn.h \
- $(RSADIR)digit.h
- $(CC) -c -I$(RSADIR) -I. $(CFLAGS) $(RSADIR)digit.c
-
- r_random.o : $(RSADIR)r_random.c global.h $(RSADIR)rsaref.h \
- $(RSADIR)r_random.h $(RSADIR)md5.h
- $(CC) -c -I$(RSADIR) -I. $(CFLAGS) $(RSADIR)r_random.c
-
- r_stdlib.o : $(RSADIR)r_stdlib.c global.h $(RSADIR)rsaref.h
- $(CC) -c -I$(RSADIR) -I. $(CFLAGS) $(RSADIR)r_stdlib.c
-
- _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
-
- #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 rsaglue.o
-
- OBJS = $(OBJ1) $(ZIPOBJS) $(OBJS_EXT) $(RSAOBJS)
-
- $(PROJ): $(OBJS)
- $(LD) -o $(PROJ) $(OBJS) $(LDFLAGS) $(LIBS_EXT)
-
-
- linux:
- $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \
- CFLAGS="-O -DUNIX -DIDEA32 -DASM"
-
- 386bsd:
- $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \
- CFLAGS="-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="-O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE"
-
- sun3asm:
- $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.o \
- CFLAGS="-O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32"
-
- # Sun 3 with standard cc: compile with unproto
- sun3cc: unproto/cpp
- $(MAKE) all CC=cc LD=cc \
- CFLAGS="-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="-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="-Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32"
-
- sun386i:
- $(MAKE) all CC=gcc LD=gcc OBJS_EXT=_80386.o \
- CFLAGS="-O -DUNIX -DIDEA32"
-
- sunspc:
- $(MAKE) all CC="ccspc -B/1.8.6/sun4 -ansi -w -I/usr/include" \
- CFLAGS="-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="-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="-O -I. -traditional-cpp -DNOTERMIO -D_BSD -DUNIX -DHIGHFIRST -DIDEA32"
-
- sysv:
- $(MAKE) all CPP=/lib/cpp \
- CFLAGS="-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="-O -DUNIX -DIDEA32 -DUSE_NBIO -DASM"
-
- xenix386:
- $(MAKE) all CPP=/lib/cpp OBJS_EXT="_80386.o _zmatch.o" \
- CFLAGS="-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="-O -DUNIX -DIDEA32 -DUSE_NBIO -DPORTABLE -DNO_ITIMER"
-
- isc_asm:
- $(MAKE) all CC=gcc LD=gcc OBJS_EXT=_80386.o ASMDEF=-DSYSV \
- CFLAGS="-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="-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="-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="-LARGE -Ot -DUNIX -DNOPROTO -DSMALL_MEM -DDYN_ALLOC \
- -DUSE_NBIO -DSVR2"
-
- # AIX/386 v.1.3
- aix386:
- $(MAKE) all CPP="/lib/cpp -DSYSV" \
- CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DPORTABLE"
-
- # AIX/370 (like general SysV)
- aix370:
- $(MAKE) all CPP=/lib/cpp \
- CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DHIGHFIRST -DPORTABLE"
-
- 3b1:
- $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \
- CFLAGS="-O -I. -DUNIX -DSVR2 -DPORTABLE -DUSE_NBIO -DHIGHFIRST"
-
- 3b1_asm:
- $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT=3B1_68010.o \
- CFLAGS="-O -I. -DUNIX -DSVR2 -DUSE_NBIO -DHIGHFIRST"
-
- # Silicon Graphics Iris IRIX
- sgigcc:
- $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \
- CFLAGS="-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="-O -DUNIX -DUSE_NBIO -DHIGHFIRST"
-
- irix:
- $(MAKE) all CC=cc LD=cc \
- CFLAGS="-O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST -acpp"
-
- hpux:
- $(MAKE) all CPP=/usr/lib/cpp \
- CFLAGS="-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="-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="$(DBG) -DUNIX -DUSE_SELECT -DIDEA32"
-
- # RS6000 running AIX
- rs6000:
- $(MAKE) all CFLAGS="-O -DUNIX -DNOTERMIO -DPORTABLE \
- -DMODERN -DHIGHFIRST -DIDEA32"
-
- next:
- $(MAKE) all \
- CFLAGS="-O -DNEXT -DUNIX -DHIGHFIRST -DMACH -DPORTABLE -DNOTERMIO"
-
- bsdgcc:
- $(MAKE) all CC=gcc LD=gcc \
- CFLAGS="-O -I. -DNOTERMIO -D_BSD -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
-
- bsd:
- $(MAKE) all "LD=cc -s" \
- CFLAGS="-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="-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="-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="-O -I. -DUNIX -D_BSD -DMAX_NAMELEN=255 -DNOTERMIO -DPORTABLE"
-
- # The Open Software Foundation's OSF/1
- osf:
- $(MAKE) all \
- CFLAGS="-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="-B unproto/ -tp -DSVR2 \
- -DHIGHFIRST -DUNIX -DPORTABLE -DUSE_SELECT -DUPTON"
- aux-gcc:
- $(MAKE) all CC=gcc LD=gcc \
- LDFLAGS=-lposix \
- CFLAGS="-O2 -DSVR2 -traditional-cpp \
- -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="-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
-