|
|
1.1.1.2 root 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: CFLAGS= -O -DUNIX -DPORTABLE $(BYTEORDER)
29:
30: # must set byte order for targets "sysv" and "bsd"
31: # BYTEORDER= -DHIGHFIRST
32:
33: CC = cc
34: LD = cc # Link command
1.1.1.3 ! root 35: LDFLAGS =
1.1.1.2 root 36: CPP = $(CC) -E
1.1.1.3 ! root 37: DBG = -O
! 38:
! 39: # uncomment this for old versions of make
! 40: #MAKE = make
1.1.1.2 root 41:
1.1.1.3 ! root 42: ASM = $(CC) -c # Assembler command
1.1.1.2 root 43:
44: OBJS_EXT= # ASM obj. files
45: LIBS_EXT= # Libararies
46:
1.1.1.3 ! root 47: PROJ =pgp
1.1.1.2 root 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,"
1.1.1.3 ! root 56: @echo " xenix386, mach_386, 386bsd, isc, isc_asm, 3b1, 3b1_asm, rs6000,"
! 57: @echo " bsd, bsdgcc, vax_bsd43, rt_aos4, osf, sgigcc_asm, sgigcc, irix"
! 58: @echo " newsgcc, newsasm, aux(*), os2, djgpp"
1.1.1.2 root 59: @echo ""
60: @echo "for targets marked with (*) you must first get unproto, see"
61: @echo "setup.doc for further details"
62:
63:
64: all: $(PROJ)
65:
1.1.1.3 ! root 66: _80386.o: 80386.S
! 67: $(CPP) $(ASMDEF) 80386.S > _80386.s
! 68: $(ASM) _80386.s
1.1.1.2 root 69: rm -f _80386.s
70:
71: 8086.o: 8086.asm
72: cp 8086.asm 8086.s
1.1.1.3 ! root 73: $(ASM) 8086.s
1.1.1.2 root 74: rm -f 8086.s
75:
1.1.1.3 ! root 76: _zmatch.o: zmatch.S
! 77: $(CPP) $(ASMDEF) zmatch.S > _zmatch.s
! 78: $(ASM) _zmatch.s
1.1.1.2 root 79: rm -f _zmatch.s
80:
1.1.1.3 ! root 81: #mc68020.o:
! 82: # $(CC) -c mc68020.S
! 83:
1.1.1.2 root 84: ZIPOBJS= zbits.o zdeflate.o zfile_io.o zglobals.o \
85: zinflate.o zip.o zipup.o ztrees.o zunzip.o
86:
87: OBJ1 = pgp.o crypto.o keymgmt.o fileio.o \
88: mdfile.o more.o armor.o mpilib.o mpiio.o \
89: genprime.o rsagen.o random.o idea.o passwd.o \
90: md5.o system.o language.o getopt.o keyadd.o \
91: config.o keymaint.o charset.o
92:
93: OBJS = $(OBJ1) $(ZIPOBJS) $(OBJS_EXT)
94:
95: $(PROJ): $(OBJS)
1.1.1.3 ! root 96: $(LD) -o $(PROJ) $(OBJS) $(LDFLAGS) $(LIBS_EXT)
1.1.1.2 root 97:
98:
99: linux:
1.1.1.3 ! root 100: $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \
1.1.1.2 root 101: CFLAGS="-O -DUNIX -DIDEA32 -DASM"
102:
103: 386bsd:
1.1.1.3 ! root 104: $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \
1.1.1.2 root 105: CFLAGS="-O -DUNIX -DIDEA32 -DASM -DMAX_NAMELEN=255"
106:
107: # Sun 3 with gcc
1.1.1.3 ! root 108: # change -traditional-cpp to -traditional for gcc < 2.0
1.1.1.2 root 109: sun3gcc:
110: $(MAKE) all CC=gcc LD=gcc \
1.1.1.3 ! root 111: CFLAGS="-O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE"
1.1.1.2 root 112:
113: sun3asm:
1.1.1.3 ! root 114: $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.o \
! 115: CFLAGS="-O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32"
1.1.1.2 root 116:
117: # Sun 3 with standard cc: compile with unproto
118: sun3cc: unproto/cpp
119: $(MAKE) all CC=cc LD=cc \
1.1.1.3 ! root 120: CFLAGS="-Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE"
1.1.1.2 root 121:
122: # Sun 4 SPARC with gcc (tested with gcc 1.39 and newer, sparc.s can not be used
123: # with older versions of gcc)
1.1.1.3 ! root 124: # change -traditional-cpp to -traditional for gcc < 2.0
1.1.1.2 root 125: sun4gcc:
126: $(MAKE) all CC=gcc LD=gcc OBJS_EXT=sparc.o \
1.1.1.3 ! root 127: CFLAGS="-O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32"
1.1.1.2 root 128:
129: # Sun 4 SPARC with standard cc: compile with unproto
130: sun4cc: unproto/cpp
131: $(MAKE) all CC=cc LD=cc OBJS_EXT=sparc.o \
132: CFLAGS="-Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32"
133:
134: sun386i:
1.1.1.3 ! root 135: $(MAKE) all CC=gcc LD=gcc OBJS_EXT=_80386.o \
1.1.1.2 root 136: CFLAGS="-O -DUNIX -DIDEA32"
137:
138: sunspc:
139: $(MAKE) all CC="ccspc -B/1.8.6/sun4 -ansi -w -I/usr/include" \
140: CFLAGS="-O -DUNIX -DIDEA32 -DHIGHFIRST -DUNIT32 -DMERRITT" \
141: OBJS_EXT=sparc.o
142:
1.1.1.3 ! root 143: # Sony newsos v3 for m68k, with gcc
! 144: # change -traditional-cpp to -traditional for gcc < 2.0
! 145: newsgcc:
! 146: $(MAKE) all CC=gcc LD=gcc \
! 147: CFLAGS="-O -I. -traditional-cpp -DNOTERMIO -D_BSD -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE"
! 148:
! 149: # with asm
! 150: newsasm:
! 151: $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.s \
! 152: CFLAGS="-O -I. -traditional-cpp -DNOTERMIO -D_BSD -DUNIX -DHIGHFIRST -DIDEA32"
! 153:
1.1.1.2 root 154: sysv:
155: $(MAKE) all CPP=/lib/cpp \
1.1.1.3 ! root 156: CFLAGS="-O -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
1.1.1.2 root 157:
158: # optimized version with 80386.S
159: sysv_386:
1.1.1.3 ! root 160: $(MAKE) all CPP="/lib/cpp -DSYSV" OBJS_EXT="_80386.o _zmatch.o" \
! 161: CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DASM"
! 162:
! 163: xenix386:
! 164: $(MAKE) all CPP=/lib/cpp OBJS_EXT="_80386.o _zmatch.o" \
! 165: CFLAGS="-O -DUNIX -DSVR2 -DIDEA32 -DUSE_NBIO -DASM"
1.1.1.2 root 166:
167: # Interactive Unix SVR3/386 version 3.2 with gcc
168: isc:
169: $(MAKE) all CC=gcc LD=gcc LDFLAGS="-lcposix" \
1.1.1.3 ! root 170: CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DPORTABLE -DNO_ITIMER"
1.1.1.2 root 171:
172: isc_asm:
1.1.1.3 ! root 173: $(MAKE) all CC=gcc LD=gcc OBJS_EXT=_80386.o ASMDEF=-DSYSV \
! 174: CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DNO_ITIMER" LDFLAGS="-lcposix"
1.1.1.2 root 175:
176: mach_386:
1.1.1.3 ! root 177: $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp OBJS_EXT=_80386.o \
1.1.1.2 root 178: CFLAGS="-O -I. -DMACH -DUNIX -DIDEA32 -DNOTERMIO"
179:
180: sco-2.0:
1.1.1.3 ! root 181: $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/xcpp OBJS_EXT=_80386.o \
! 182: ASMDEF=-DSYSV CFLAGS="-Dsco -O -DUNIX -DIDEA32 -DUSE_NBIO"
1.1.1.2 root 183:
184: # Xenix 286
185: x286:
186: $(MAKE) all CC="sh ccc.x286 -M2l" LD="cc -M2l" ASM="cc -M2l" \
187: OBJS_EXT=8086.o LDFLAGS="-F 3000" \
188: CFLAGS="-LARGE -Ot -DUNIX -DNOPROTO -DSMALL_MEM -DDYN_ALLOC \
189: -DUSE_NBIO -DSVR2"
190:
1.1.1.3 ! root 191: # AIX/386 v.1.3
! 192: aix386:
! 193: $(MAKE) all CPP="/lib/cpp -DSYSV" \
! 194: CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DPORTABLE"
! 195:
! 196: # AIX/370 (like general SysV)
! 197: aix370:
! 198: $(MAKE) all CPP=/lib/cpp \
! 199: CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DHIGHFIRST -DPORTABLE"
! 200:
1.1.1.2 root 201: 3b1:
202: $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \
1.1.1.3 ! root 203: CFLAGS="-O -I. -DUNIX -DSVR2 -DPORTABLE -DUSE_NBIO -DHIGHFIRST"
1.1.1.2 root 204:
205: 3b1_asm:
206: $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT=3B1_68010.o \
207: CFLAGS="-O -I. -DUNIX -DSVR2 -DUSE_NBIO -DHIGHFIRST"
208:
209: # Silicon Graphics Iris IRIX
210: sgigcc:
211: $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \
212: CFLAGS="-O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST"
213:
214: # SGI with assembler modules
215: sgigcc_asm:
216: $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT="r3000.o r3kd.o" \
217: CFLAGS="-O -DUNIX -DUSE_NBIO -DHIGHFIRST"
218:
219: irix:
220: $(MAKE) all CC=cc LD=cc \
221: CFLAGS="-O -DUNIX -DPORTABLE -DUSE_NBIO -DHIGHFIRST -acpp"
222:
223: hpux:
224: $(MAKE) all CPP=/usr/lib/cpp \
1.1.1.3 ! root 225: CFLAGS="-Aa +O3 +Obb5000 -D_INCLUDE_POSIX_SOURCE \
1.1.1.2 root 226: -D_INCLUDE_HPUX_SOURCE -D_INCLUDE_XOPEN_SOURCE -DHIGHFIRST -DUNIX \
1.1.1.3 ! root 227: -DPORTABLE -DUSE_SELECT -DIDEA32 -DMERRITT"
1.1.1.2 root 228:
229: # VAX Ultrix 4.2 BSD rev. 96, system #3 with gcc
230: vax-ultrix:
231: $(MAKE) all CC=gcc LD=gcc \
1.1.1.3 ! root 232: CFLAGS="-O -DUNIX -DPORTABLE -DUSE_SELECT \
1.1.1.2 root 233: -DSIG_IGN=1 -DSIG_DFL=0"
234:
235: # DEC Ultrix 4.2 BSD with gcc with MIPSco processors
236: #
237: # To use dec's cc on mips you should
238: # uncomment the next two lines because you can't compile r3000.c
239: #r3000.o: r3000.s
240: # $(AS) -o $@ r3000.s
241: #
242: mips-ultrix:
243: $(MAKE) all CC=gcc LD=gcc OBJS_EXT="r3kd.o r3000.o"\
1.1.1.3 ! root 244: CFLAGS="$(DBG) -DUNIX -DUSE_SELECT -DIDEA32"
1.1.1.2 root 245:
246: # RS6000 running AIX
247: rs6000:
1.1.1.3 ! root 248: $(MAKE) all CFLAGS="-O -DUNIX -DNOTERMIO -DPORTABLE \
! 249: -DMODERN -DHIGHFIRST -DIDEA32"
1.1.1.2 root 250:
251: next:
252: $(MAKE) all \
1.1.1.3 ! root 253: CFLAGS="-O -DNEXT -DUNIX -DHIGHFIRST -DMACH -DPORTABLE -DNOTERMIO"
! 254:
! 255: bsdgcc:
! 256: $(MAKE) all CC=gcc LD=gcc \
! 257: CFLAGS="-O -I. -DNOTERMIO -D_BSD -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
1.1.1.2 root 258:
259: bsd:
260: $(MAKE) all "LD=cc -s" \
1.1.1.3 ! root 261: CFLAGS="-O -I. -B/lib/ -DNOTERMIO -D_BSD -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
1.1.1.2 root 262:
263: sequent: unproto/cpp
264: $(MAKE) all "LD=cc -s -j" CPP=/usr/lib/cpp \
1.1.1.3 ! root 265: CFLAGS="-j -O -I. -Yp,unproto -DUNIX -DNOTERMIO -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
1.1.1.2 root 266:
267: # RT running bsd with gcc
268: rt_aos4:
269: $(MAKE) all CC=gcc LD=gcc \
1.1.1.3 ! root 270: CFLAGS="-O -DUNIX -D_BSD -DMAX_NAMELEN=255 -DPORTABLE -DHIGHFIRST -DNOTERMIO -I."
1.1.1.2 root 271:
272: # Vax running bsd with gcc
273: vax_bsd43:
274: $(MAKE) all CC=gcc LD=gcc \
1.1.1.3 ! root 275: CFLAGS="-O -I. -DUNIX -D_BSD -DMAX_NAMELEN=255 -DNOTERMIO -DPORTABLE"
1.1.1.2 root 276:
277: # The Open Software Foundation's OSF/1
278: osf:
279: $(MAKE) all \
1.1.1.3 ! root 280: CFLAGS="-O -I. -D_BSD -DUNIX -DNOTERMIO -DPORTABLE $(BYTEORDER)"
! 281:
! 282: # A/UX 3.0 using unproto (mine is invoked as a cpp using the CFLAGS shown
! 283: # I placed the cpp in a subdirectory of /src/pgp called unproto
! 284: aux: unproto/cpp
! 285: $(MAKE) all CC=cc \
! 286: LDFLAGS=-lposix \
! 287: CFLAGS="-B unproto/ -tp -DSVR2 \
! 288: -DHIGHFIRST -DUNIX -DPORTABLE -DUSE_SELECT -DUPTON"
1.1.1.2 root 289:
290: # optimized version with 80386.S for emx 0.8e, OS/2 2.0 or DOS
291: os2:
1.1.1.3 ! root 292: $(MAKE) all PROJ=pgp.exe OBJS_EXT="_80386.o _zmatch.o" \
1.1.1.2 root 293: CC="gcc" CFLAGS="-O -DOS2 -DASM -DIDEA32" \
1.1.1.3 ! root 294: ASM="gcc -c" LD="gcc" LDFLAGS="pgp.def"
! 295:
! 296: # DJGPP, DJ Delorie's port of GNU C to MS-DOA (thanks DJ!). Tested with dmake.
! 297: # You may have to rehack this -- I'm not good with makefiles.
! 298: djgpp:
! 299: $(MAKE) "OBJS_EXT=80386.o zmatch.o" CC=gcc LD=gcc \
! 300: "CFLAGS=-O2 -DSMALL_MEM -DASM -DIDEA32" all
1.1.1.2 root 301:
302: #
303: # unproto for K&R compilers
304: #
305: # unproto was posted on comp.sources.misc: v23i012 v23i013
306: #
307: # unpack the unproto package in subdirectory unproto
308: #
309:
310: # unproto: needs preprocessed input
311: unproto/unproto::
312: cd unproto && $(MAKE) PROG=unproto PIPE=
313:
314: # cpp: pipes through /lib/cpp
315: unproto/cpp::
316: cd unproto && $(MAKE)
317:
318: clean:
319: -rm -f *.o $(PROJ) core a.out tags
320:
321: tags:
322: ctags *.c *.h
323:
324:
325: ## Dependencies ##
326: armor.o : armor.c mpilib.h usuals.h platform.h fileio.h mpiio.h language.h \
1.1.1.3 ! root 327: pgp.h more.h armor.h crypto.h
! 328: charset.o : charset.c usuals.h language.h charset.h system.h
! 329: config.o : config.c usuals.h fileio.h pgp.h more.h armor.h config.h \
! 330: charset.h
1.1.1.2 root 331: crypto.o : crypto.c mpilib.h usuals.h platform.h mpiio.h random.h idea.h \
1.1.1.3 ! root 332: crypto.h keymgmt.h keymaint.h mdfile.h md5.h fileio.h charset.h language.h \
! 333: pgp.h more.h armor.h exitpgp.h zipup.h
1.1.1.2 root 334: fileio.o : fileio.c random.h usuals.h mpilib.h platform.h mpiio.h fileio.h \
1.1.1.3 ! root 335: language.h pgp.h more.h armor.h exitpgp.h charset.h system.h
1.1.1.2 root 336: genprime.o : genprime.c mpilib.h usuals.h platform.h genprime.h random.h
1.1.1.3 ! root 337: getopt.o : getopt.c getopt.h
1.1.1.2 root 338: idea.o : idea.c idea.h usuals.h
1.1.1.3 ! root 339: keyadd.o : keyadd.c mpilib.h usuals.h platform.h crypto.h fileio.h \
! 340: keymgmt.h charset.h language.h pgp.h more.h armor.h exitpgp.h keyadd.h \
! 341: keymaint.h
1.1.1.2 root 342: keymaint.o : keymaint.c mpilib.h usuals.h platform.h random.h crypto.h \
1.1.1.3 ! root 343: fileio.h keymgmt.h keymaint.h mpiio.h charset.h language.h pgp.h more.h \
! 344: armor.h
! 345: keymgmt.o : keymgmt.c system.h mpilib.h usuals.h platform.h idea.h random.h \
! 346: crypto.h fileio.h keymgmt.h rsagen.h mpiio.h language.h pgp.h more.h \
! 347: armor.h md5.h charset.h keymaint.h
! 348: language.o : language.c usuals.h fileio.h language.h pgp.h more.h armor.h \
! 349: charset.h
1.1.1.2 root 350: md5.o : md5.c md5.h
351: mdfile.o : mdfile.c mpilib.h usuals.h platform.h mdfile.h md5.h fileio.h \
1.1.1.3 ! root 352: language.h pgp.h more.h armor.h
! 353: more.o : more.c system.h mpilib.h usuals.h platform.h language.h fileio.h \
! 354: pgp.h more.h armor.h charset.h
! 355: mpiio.o : mpiio.c mpilib.h usuals.h platform.h mpiio.h pgp.h more.h armor.h
1.1.1.2 root 356: mpilib.o : mpilib.c mpilib.h usuals.h platform.h
1.1.1.3 ! root 357: passwd.o : passwd.c random.h usuals.h md5.h language.h pgp.h more.h armor.h
! 358: pgp.o : pgp.c system.h mpilib.h usuals.h platform.h random.h crypto.h \
! 359: fileio.h keymgmt.h language.h pgp.h more.h armor.h exitpgp.h charset.h \
! 360: getopt.h config.h keymaint.h keyadd.h
! 361: random.o : random.c system.h random.h usuals.h language.h
1.1.1.2 root 362: rsagen.o : rsagen.c mpilib.h usuals.h platform.h genprime.h rsagen.h \
363: random.h
1.1.1.3 ! root 364: system.o : system.c exitpgp.h system.h charset.h
1.1.1.2 root 365: zbits.o : zbits.c zip.h ztailor.h ziperr.h
1.1.1.3 ! root 366: zdeflate.o : zdeflate.c zunzip.h usuals.h system.h zip.h ztailor.h ziperr.h
! 367: zfile_io.o : zfile_io.c zunzip.h usuals.h system.h
1.1.1.2 root 368: zglobals.o : zglobals.c zip.h ztailor.h ziperr.h
1.1.1.3 ! root 369: zinflate.o : zinflate.c zunzip.h usuals.h system.h exitpgp.h
! 370: zip.o : zip.c usuals.h fileio.h language.h pgp.h more.h armor.h exitpgp.h
1.1.1.2 root 371: zipup.o : zipup.c zip.h ztailor.h ziperr.h zrevisio.h
372: ztrees.o : ztrees.c zip.h ztailor.h ziperr.h
1.1.1.3 ! root 373: zunzip.o : zunzip.c zunzip.h usuals.h system.h
! 374: r3000.o : r3000.c mpilib.h usuals.h platform.h lmul.h
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.