📄 makefile
字号:
## Change the CFLAGS and MANDIR and BINDIR to suit your machine.## There are commented compilation lines for various machines.# Just look for the first set that matches your machine, and uncomment them.## Type "make" to build and test.# Type "make -n install" to see how to install the code## Link without shared libraries because they make it possible to create trojan# horse library calls at run-time.## You don't need to use -D__BSD for Berkley systems unless you have# a non ANSI/POSIX compliant system (pretty rare these days: 28-Mar-94)## Tested using vendor's "cc" on the following machines: (03-Apr-94)# HP-UX B.09.00 B 9000/370# HP-UX A.09.01 A 9000/735# ULTRIX 4.3 1 RISC# ULTRIX 4.3 0 RISC# OSF1 V2.0 240 alpha# SunOS 4.1.1 1 sun4c# SunOS 4.1.3 1 sun4c# hermes 4.0 3.0 i386 386/AT# Mach 3.0 Next (MC68040/25Mhz)# ULTRIX 4.0 0 VAX## Thanks to Greg Pratt(glp5941@ultb.isc.rit.edu) for testing on several of # the machines above. Thanks to John Sechrest (sechrest@cs.orst.EDU) for# testing on the Next.## The MD5 checksum is available for the tar file of this distribution. # Send mail to the author. (barrett@asgard.cs.Colorado.EDU)## Copyright 1994 by David A. Barrett## This program is not to be distributed for profit or included in such # software without written permission from the author (this means # you, TVAnswer). No permission is required for non-profit use.## Don't change the next 5 lines unless you are running MS-DOS.O=oLN=lnRM=rmEXE=LD=$(CC) $(LDFLAGS) -o $@# space past -o; SunOS and DEC require it, MSDOS prohibits it.# uncomment the next few lines if you are running MS-DOS## begin Turbo C++ 3.1 portion. Worked. (also atob and btoa) D.A.B. (9-Sep-93)# Note: Pipe commands fail to work correctly on MSDOS ignore those errors# Also, 286 instructions cause a subroutine call for 32-bit shift.#O=obj#EXE=.exe#CC=bcc#LN=copy#RM=del#CFLAGS=-O2 -I. -D__msdos -3 -a#GETOPT=getopt.$(O)#LD=$(CC) $(LDFLAGS) -o$@ # -a = align words# -2 = generate 286 instructions (which still suck!, need 386 code generation)# -3 = generate 386 instructions (doubles execution speed)# end of Turbo C++ 3.1 portionCMP=./cmp$(EXE)#default C compilerCC=ccCFLAGS=-OLDFLAGS=-O#CFLAGS=-g#LDFLAGS=-g#SPARC SunOs cc compiler#CC=cc#CFLAGS=-Bstatic -O2#LDFLAGS=-Bstatic -O2#SPARC SunOs Wspro C++ compiler#CC=CC#CFLAGS=-Bstatic -O4#LDFLAGS=-Bstatic -O4#DEC OSF1 alpha C compiler (also works for Ultrix on DEC MIPS)#CC=cc#CFLAGS=-non_shared -O2 -std#LDFLAGS=-non_shared -O2 -std#DEC OSF1 alpha C++ compiler #CC=cxx#CFLAGS=-non_shared -D__LANGUAGE_C__ -O2#LDFLAGS=-non_shared -O2#HP-UX ANSI C compiler#CC=cc#CFLAGS=-O -Aa#LDFLAGS=$(CFLAGS) -Wl,-a,archive#HP-UX C++ compiler#CC=CC#CFLAGS=-O -Aa -D_HPUX_SOURCE # _HPUX_SOURCE only for getkey.c #LDFLAGS=$(CFLAGS) -Wl,-a,archive#gnu C compiler (make sure your version doesn't use shared libraries)# Use the more strict compliation options only of you want to see all# warnings. The code works either way.#CC=gcc # -ansi -pedantic #CFLAGS=-O2 # -Wall#LDFLAGS=-O2ROOT=/usr/localMANDIR=$(ROOT)/man/man1BINDIR=$(ROOT)/bin#BINDIR=$(ROOT)/`arch`/bin# no changes needed below this line# atob and btoa are modified copies from the compress4.0 distributionAUXBINS=atob$(EXE) btoa$(EXE)# need getopt.c cmp.c and unistd.h only for MSDOSAUXSRC=atob.c btoa.1 btoa.c getopt.c cmp.c unistd.hBINSRC=testdata.des testin.cfb testout.cfb testin.bta testout.bta testin testoutHDR=cipher.h des.h desdefs.hSRC=README README.linux Makefile $(HDR) $(BINSRC) \ cipher.c descfb.c deskey.c desblock.c sboxp.c getkey.c \ destest.c desvalid.c testcfb.c \ cipher.1 cmail\ $(AUXSRC)DESOBJS=desblock.$(O) sboxp.$(O)BINS=cipher$(EXE)PCBINS=atob.exe btoa.exe cipher.exeTESTBINS=destest$(EXE) desvalid$(EXE) cipher$(EXE) decipher$(EXE) testcfb$(EXE) $(CMP)all: $(BINS) test $(AUXBINS)cipher$(EXE): cipher.$(O) getkey.$(O) deskey.$(O) $(DESOBJS) descfb.$(O) $(GETOPT)# $(LD) cipher.c getkey.c deskey.c $(DESOBJS) descfb.c# pixie cipher# ./cipher.pixie -k test <cipher >/dev/null# prof -feedback cipher.feedback -pixie cipher >prof.cipher1# mv cipher cipher.O3# $(LD) -feedback cipher.feedback cipher.c getkey.c deskey.c $(DESOBJS) descfb.c# pixie cipher# ./cipher.pixie -k test </tmp/x >/dev/null# prof -pixie cipher >prof.feedback $(LD) cipher.$(O) getkey.$(O) deskey.$(O) \ $(DESOBJS) descfb.$(O) $(GETOPT)decipher$(EXE): cipher$(EXE) -$(RM) decipher$(EXE) $(LN) cipher$(EXE) decipher$(EXE)desvalid$(EXE): desvalid.$(O) $(DESOBJS) $(GETOPT) $(LD) desvalid.$(O) $(DESOBJS) $(GETOPT)destest$(EXE): destest.$(O) $(DESOBJS) $(GETOPT) $(LD) destest.$(O) $(DESOBJS) $(GETOPT)testcfb$(EXE): testcfb.$(O) descfb.$(O) $(DESOBJS) $(GETOPT) $(LD) testcfb.$(O) descfb.$(O) $(DESOBJS) $(GETOPT)atob$(EXE): atob.$(O) $(LD) atob.$(O)btoa$(EXE): btoa.$(O) $(LD) btoa.$(O)despass$(EXE): despass.$(O) desblock.$(O) sboxp.$(O) $(LD) desbass.$(O) desblock.$(O) sboxp.$(O)uxpass$(EXE): uxpass.$(O) $(LD) uxpass.$(O)cmp$(EXE): cmp.$(O) $(LD) cmp.$(O)cipher.$(O): cipher.h des.hcipher.man: cipher.1 nroff -man <cipher.1 | col -b >cipher.mandespass.$(O): cipher.h des.hdescfb.$(O): des.hdeskey.$(O): des.hsboxp.$(O): desdefs.hdesblock.$(O): desblock.c $(CC) $(CFLAGS) -c desblock.ctime: cipher$(EXE) time cipher -i00 -x00 <testin3 >xgprof: time gprof -b cipher >gprof.outtest: $(BINS) $(TESTBINS) $(AUXBINS) testdata.des testin.cfb $(CMP) @echo des subroutine Tests ./desvalid -v < testdata.des ./destest -v @echo desCFB subroutine Tests with varying block sizes ./testcfb -s 1 <testin.cfb >x $(CMP) x testout.cfb ./testcfb -s 2 <testin.cfb >x $(CMP) x testout.cfb ./testcfb -s 3 <testin.cfb >x $(CMP) x testout.cfb ./testcfb -s 4 <testin.cfb >x $(CMP) x testout.cfb ./testcfb -s 5 <testin.cfb >x $(CMP) x testout.cfb ./testcfb -s 9 <testin.cfb >x $(CMP) x testout.cfb ./testcfb -s 15 <testin.cfb >x $(CMP) x testout.cfb ./testcfb -s 17 <testin.cfb >x $(CMP) x testout.cfb @$(RM) x @echo cipher program Tests -- single encipherment ./cipher -x0123456789abcdef -i1234567890abcdef <testin.cfb >x $(CMP) testout.cfb x ./cipher -d -x0123456789abcdef -i1234567890abcdef <x >y $(CMP) testin.cfb y ./cipher -k bigtestkey <testin >x $(CMP) testout x ./cipher -d -k bigtestkey <x >y $(CMP) testin y @echo Multiple encipherment: if MS-DOS ignore pipes failing ./decipher -k test <testin | ./cipher -k test >x $(CMP) x testin ./cipher -k "phartles_and" -k "jaymes_beer" <testin >x ./cipher -d -k "jaymes_beer" -d -k "phartles_and" <x >y $(CMP) testin y ./decipher -e -k "phartles_and" <testin | ./cipher -k "jaymes_beer" >z $(CMP) x z @echo Mixed triple encryption ./cipher -e -k k1 -d -k k2 -e -k k3 <testin >x ./cipher -d -k k3 -e -k k2 -d -k k1 <x >y $(CMP) testin y ./decipher -k k3 <x | ./cipher -k k2 | ./decipher -k k1 >z $(CMP) testin z @echo "Expect 16 weak key warnings:" @./cipher -xe001e001f101f101 <testin >x @./cipher -x01e001e001f101f1 <testin >x @./cipher -xfe1ffe1ffe0efe0e <testin >x @./cipher -x1ffe1ffe0efe0efe <testin >x @./cipher -xe01fe01ff10ef10e <testin >x @./cipher -x1fe01fe00ef10ef1 <testin >x @./cipher -x01fe01fe01fe01fe <testin >x @./cipher -xfe01fe01fe01fe01 <testin >x @./cipher -x011f011f010e010e <testin >x @./cipher -x1f011f010e010e01 <testin >x @./cipher -xe0fee0fef1fef1fe <testin >x @./cipher -xfee0fee0fef1fef1 <testin >x @./cipher -x0101010101010101 <testin >x @./cipher -xfefefefefefefefe <testin >x @./cipher -xe0e0e0e0f1f1f1f1 <testin >x @./cipher -x1f1f1f1f0e0e0e0e <testin >x ./btoa <testin.bta >x $(CMP) testout.bta x ./atob <x >y $(CMP) testin.bta y @$(RM) x @$(RM) y @$(RM) zinstall: $(BINS) cipher.1 $(AUXBINS) cp cipher$(EXE) $(BINDIR) -$(LN) $(BINDIR)/cipher$(EXE) $(BINDIR)/decipher$(EXE) cp cipher.1 $(MANDIR) cp btoa$(EXE) atob$(EXE) $(BINDIR) cp btoa.1 $(MANDIR) -$(LN) $(MANDIR)/btoa.1 $(MANDIR)/atob.1tar: $(SRC) $(PCBINS) tar -cvf - $(SRC) $(PCBINS) | compress >cipher.tar.Zshar: $(SRC) shar $(SRC) >cipher.shararc: cipher.lzhcipher.lzh: $(SRC) lharc c cipher.lzh $(SRC)clean: rm -f cipher.$(O) desvalid.$(O) destest.$(O) testcfb.$(O) rm -f desblock.s $(DESOBJS) getkey.$(O) descfb.$(O) deskey.$(O) rm -f cmp.$(O) $(GETOPT) rm -f btoa.$(O) atob.$(O) rm -f despass.$(O) uxpass.$(O) rm -f x y z rm -f $(CMP)clobber: clean rm -f $(BINS) $(TESTBINS) $(AUXBINS) rm -f despass$(EXE) uxpass$(EXE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -