| # You must select the correct terminal control system to be used to |
| # turn character echo off when reading passwords. There a 5 systems |
| # SGTTY - the old BSD system |
| # TERMIO - most system V boxes |
| # TERMIOS - SGI (ala IRIX). |
| # VMS - the DEC operating system |
| # MSDOS - we all know what it is :-) |
| # read_pwd.c makes a reasonable guess at what is correct. |
| |
| # Targets |
| # make - twidle the options yourself :-) |
| # make cc - standard cc options |
| # make gcc - standard gcc options |
| # make x86-elf - linux-elf etc |
| # make x86-out - linux-a.out, FreeBSD etc |
| # make x86-solaris |
| # make x86-bdsi |
| |
| # If you are on a DEC Alpha, edit des.h and change the DES_LONG |
| # define to 'unsigned int'. I have seen this give a %20 speedup. |
| |
| OPTS0= -DRAND -DTERMIO #-DNOCONST |
| |
| # Version 1.94 has changed the strings_to_key function so that it is |
| # now compatible with MITs when the string is longer than 8 characters. |
| # If you wish to keep the old version, uncomment the following line. |
| # This will affect the -E/-D options on des(1). |
| #OPTS1= -DOLD_STR_TO_KEY |
| |
| # There are 4 possible performance options |
| # -DDES_PTR |
| # -DDES_RISC1 |
| # -DDES_RISC2 (only one of DES_RISC1 and DES_RISC2) |
| # -DDES_UNROLL |
| # after the initial build, run 'des_opts' to see which options are best |
| # for your platform. There are some listed in options.txt |
| #OPTS2= -DDES_PTR |
| #OPTS3= -DDES_RISC1 # or DES_RISC2 |
| #OPTS4= -DDES_UNROLL |
| |
| OPTS= $(OPTS0) $(OPTS1) $(OPTS2) $(OPTS3) $(OPTS4) |
| |
| MAKE=make -f Makefile |
| #CC=cc |
| #CFLAG= -O |
| |
| CC=gcc |
| #CFLAG= -O4 -funroll-loops -fomit-frame-pointer |
| CFLAG= -O3 -fomit-frame-pointer |
| |
| CFLAGS=$(OPTS) $(CFLAG) |
| CPP=$(CC) -E |
| AS=as |
| RANLIB=ranlib |
| |
| # Assember version of des_encrypt*(). |
| DES_ENC=des_enc.o fcrypt_b.o # normal C version |
| #DES_ENC=asm/dx86-elf.o asm/yx86-elf.o # elf format x86 |
| #DES_ENC=asm/dx86-out.o asm/yx86-out.o # a.out format x86 |
| #DES_ENC=asm/dx86-sol.o asm/yx86-sol.o # solaris format x86 |
| #DES_ENC=asm/dx86bsdi.o asm/yx86basi.o # bsdi format x86 |
| |
| LIBDIR=/usr/local/lib |
| BINDIR=/usr/local/bin |
| INCDIR=/usr/local/include |
| MANDIR=/usr/local/man |
| MAN1=1 |
| MAN3=3 |
| SHELL=/bin/sh |
| OBJ_LIT=cbc_enc.o ecb_enc.o $(DES_ENC) fcrypt.o set_key.o |
| OBJ_FULL=cbc_cksm.o $(OBJ_LIT) pcbc_enc.o \ |
| xcbc_enc.o qud_cksm.o cbc3_enc.o \ |
| cfb64ede.o cfb64enc.o cfb_enc.o ecb3_enc.o \ |
| enc_read.o enc_writ.o ofb64ede.o ofb64enc.o ofb_enc.o \ |
| rand_key.o read_pwd.o read2pwd.o rpc_enc.o str2key.o supp.o |
| |
| GENERAL_LIT=COPYRIGHT INSTALL README VERSION Makefile des_crypt.man \ |
| des.doc options.txt asm |
| GENERAL_FULL=$(GENERAL_LIT) FILES Imakefile times vms.com KERBEROS MODES.DES \ |
| des.man DES.pm DES.pod DES.xs Makefile.PL dess.cpp des3s.cpp \ |
| Makefile.uni typemap t Makefile.ssl makefile.bc Makefile.lit \ |
| des.org des_locl.org |
| TESTING_LIT= destest speed des_opts |
| TESTING_FULL= rpw des $(TESTING_LIT) |
| TESTING_SRC_LIT=destest.c speed.c des_opts.c |
| TESTING_SRC_FULL=rpw.c des.c $(TESTING_SRC_LIT) |
| HEADERS_LIT=des_ver.h des.h des_locl.h podd.h sk.h spr.h |
| HEADERS_FULL= $(HEADERS_LIT) rpc_des.h |
| LIBDES_LIT=cbc_enc.c ecb_enc.c fcrypt.c set_key.c des_enc.c fcrypt_b.c |
| LIBDES_FULL= cbc_cksm.c pcbc_enc.c qud_cksm.c cbc3_enc.c \ |
| cfb64ede.c cfb64enc.c cfb_enc.c ecb3_enc.c \ |
| enc_read.c enc_writ.c ofb64ede.c ofb64enc.c ofb_enc.c \ |
| rand_key.c rpc_enc.c str2key.c supp.c \ |
| xcbc_enc.c $(LIBDES_LIT) read_pwd.c read2pwd.c |
| |
| PERL= des.pl testdes.pl doIP doPC1 doPC2 PC1 PC2 shifts.pl |
| |
| OBJ= $(OBJ_FULL) |
| GENERAL=$(GENERAL_FULL) |
| TESTING=$(TESTING_FULL) |
| TESTING_SRC=$(TESTING_SRC_FULL) |
| HEADERS=$(HEADERS_FULL) |
| LIBDES= $(LIBDES_FULL) |
| |
| ALL= $(GENERAL) $(TESTING_SRC) $(LIBDES) $(PERL) $(HEADERS) |
| |
| DLIB= libdes.a |
| |
| all: $(DLIB) $(TESTING) |
| |
| cc: |
| $(MAKE) CC=cc CFLAGS="-O $(OPTS) $(CFLAG)" all |
| |
| gcc: |
| $(MAKE) CC=gcc CFLAGS="-O3 -fomit-frame-pointer $(OPTS) $(CFLAG)" all |
| |
| x86-elf: |
| $(MAKE) DES_ENC='asm/dx86-elf.o asm/yx86-elf.o' CC=$(CC) CFLAGS="-DELF $(OPTS) $(CFLAG)" all |
| |
| x86-out: |
| $(MAKE) DES_ENC='asm/dx86-out.o asm/yx86-out.o' CC=$(CC) CFLAGS="-DOUT $(OPTS) $(CFLAG)" all |
| |
| x86-solaris: |
| $(MAKE) DES_ENC='asm/dx86-sol.o asm/yx86-sol.o' CC=$(CC) CFLAGS="-DSOL $(OPTS) $(CFLAG)" all |
| |
| x86-bsdi: |
| $(MAKE) DES_ENC='asm/dx86bsdi.o asm/yx86bsdi.o' CC=$(CC) CFLAGS="-DBSDI $(OPTS) $(CFLAG)" all |
| |
| # elf |
| asm/dx86-elf.o: asm/dx86unix.cpp |
| $(CPP) -DELF asm/dx86unix.cpp | $(AS) -o asm/dx86-elf.o |
| |
| asm/yx86-elf.o: asm/yx86unix.cpp |
| $(CPP) -DELF asm/yx86unix.cpp | $(AS) -o asm/yx86-elf.o |
| |
| # solaris |
| asm/dx86-sol.o: asm/dx86unix.cpp |
| $(CC) -E -DSOL asm/dx86unix.cpp | sed 's/^#.*//' > asm/dx86-sol.s |
| as -o asm/dx86-sol.o asm/dx86-sol.s |
| rm -f asm/dx86-sol.s |
| |
| asm/yx86-sol.o: asm/yx86unix.cpp |
| $(CC) -E -DSOL asm/yx86unix.cpp | sed 's/^#.*//' > asm/yx86-sol.s |
| as -o asm/yx86-sol.o asm/yx86-sol.s |
| rm -f asm/yx86-sol.s |
| |
| # a.out |
| asm/dx86-out.o: asm/dx86unix.cpp |
| $(CPP) -DOUT asm/dx86unix.cpp | $(AS) -o asm/dx86-out.o |
| |
| asm/yx86-out.o: asm/yx86unix.cpp |
| $(CPP) -DOUT asm/yx86unix.cpp | $(AS) -o asm/yx86-out.o |
| |
| # bsdi |
| asm/dx86bsdi.o: asm/dx86unix.cpp |
| $(CPP) -DBSDI asm/dx86unix.cpp | $(AS) -o asm/dx86bsdi.o |
| |
| asm/yx86bsdi.o: asm/yx86unix.cpp |
| $(CPP) -DBSDI asm/yx86unix.cpp | $(AS) -o asm/yx86bsdi.o |
| |
| asm/dx86unix.cpp: |
| (cd asm; perl des-586.pl cpp >dx86unix.cpp) |
| |
| asm/yx86unix.cpp: |
| (cd asm; perl crypt586.pl cpp >yx86unix.cpp) |
| |
| test: all |
| ./destest |
| |
| $(DLIB): $(OBJ) |
| /bin/rm -f $(DLIB) |
| ar cr $(DLIB) $(OBJ) |
| $(RANLIB) $(DLIB) |
| |
| des_opts: des_opts.o $(DLIB) |
| $(CC) $(CFLAGS) -o des_opts des_opts.o $(DLIB) |
| |
| destest: destest.o $(DLIB) |
| $(CC) $(CFLAGS) -o destest destest.o $(DLIB) |
| |
| rpw: rpw.o $(DLIB) |
| $(CC) $(CFLAGS) -o rpw rpw.o $(DLIB) |
| |
| speed: speed.o $(DLIB) |
| $(CC) $(CFLAGS) -o speed speed.o $(DLIB) |
| |
| des: des.o $(DLIB) |
| $(CC) $(CFLAGS) -o des des.o $(DLIB) |
| |
| tags: |
| ctags $(TESTING_SRC) $(LIBDES) |
| |
| tar_lit: |
| /bin/mv Makefile Makefile.tmp |
| /bin/cp Makefile.lit Makefile |
| for i in $(HEADERS_LIT) $(LIBDES_LIT) $(GENERAL_LIT) $(TESTING_SRC_LIT) ;\ |
| do \ |
| n="$$n des/$$i"; \ |
| done; \ |
| ( cd .. ; tar chf - $$n )| gzip > libdes-l.tgz |
| /bin/rm -f Makefile |
| /bin/mv Makefile.tmp Makefile |
| |
| tar: |
| mv Makefile Makefile.tmp |
| /bin/cp Makefile.uni Makefile |
| for i in $(ALL) ;\ |
| do \ |
| n="$$n des/$$i"; \ |
| done; \ |
| ( cd .. ; tar chf - $$n )| gzip > libdes.tgz |
| /bin/rm -f Makefile |
| /bin/mv Makefile.tmp Makefile |
| |
| shar: |
| shar $(ALL) >libdes.shar |
| |
| depend: |
| makedepend $(LIBDES) $(TESTING_SRC) |
| |
| clean: |
| /bin/rm -f *.o tags core $(TESTING) $(DLIB) .nfs* *.old *.bak asm/*.o |
| |
| dclean: |
| sed -e '/^# DO NOT DELETE THIS LINE/ q' Makefile >Makefile.new |
| mv -f Makefile.new Makefile |
| |
| # Eric is probably going to choke when he next looks at this --tjh |
| install: des |
| if test $(INSTALLTOP); then \ |
| echo SSL style install; \ |
| cp $(DLIB) $(INSTALLTOP)/lib; \ |
| $(RANLIB) $(DLIB); \ |
| chmod 644 $(INSTALLTOP)/lib/$(DLIB); \ |
| cp des.h $(INSTALLTOP)/include; \ |
| chmod 644 $(INSTALLTOP)/include/des.h; \ |
| else \ |
| echo Standalone install; \ |
| cp $(DLIB) $(LIBDIR)/$(DLIB); \ |
| $(RANLIB) $(DLIB); \ |
| chmod 644 $(LIBDIR)/$(DLIB); \ |
| cp des $(BINDIR)/des; \ |
| chmod 711 $(BINDIR)/des; \ |
| cp des_crypt.man $(MANDIR)/man$(MAN3)/des_crypt.$(MAN3); \ |
| chmod 644 $(MANDIR)/man$(MAN3)/des_crypt.$(MAN3); \ |
| cp des.man $(MANDIR)/man$(MAN1)/des.$(MAN1); \ |
| chmod 644 $(MANDIR)/man$(MAN1)/des.$(MAN1); \ |
| cp des.h $(INCDIR)/des.h; \ |
| chmod 644 $(INCDIR)/des.h; \ |
| fi |
| # DO NOT DELETE THIS LINE -- make depend depends on it. |