157 lines
3.7 KiB
Text
157 lines
3.7 KiB
Text
# 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
|
|
|
|
DIR= bf
|
|
TOP= .
|
|
# use BF_PTR2 for intel boxes,
|
|
# BF_PTR for sparc and MIPS/SGI
|
|
# use nothing for Alpha and HP.
|
|
|
|
# There are 3 possible performance options, experiment :-)
|
|
#OPTS= -DBF_PTR # usr for sparc and MIPS/SGI
|
|
#OPTS= -DBF_PTR2 # use for pentium
|
|
OPTS= # use for pentium pro, Alpha and HP
|
|
|
|
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 bf_encrypt().
|
|
BF_ENC=bf_enc.o # normal C version
|
|
#BF_ENC=asm/bx86-elf.o # elf format x86
|
|
#BF_ENC=asm/bx86-out.o # a.out format x86
|
|
#BF_ENC=asm/bx86-sol.o # solaris format x86
|
|
#BF_ENC=asm/bx86bsdi.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
|
|
LIBOBJ=bf_skey.o bf_ecb.o $(BF_ENC) bf_cfb64.o bf_ofb64.o
|
|
LIBSRC=bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c
|
|
|
|
GENERAL=Makefile Makefile.ssl Makefile.uni asm bf_locl.org README \
|
|
COPYRIGHT blowfish.doc INSTALL
|
|
|
|
TESTING= bftest bfspeed bf_opts
|
|
TESTING_SRC=bftest.c bfspeed.c bf_opts.c
|
|
HEADERS=bf_locl.h blowfish.h bf_pi.h
|
|
|
|
ALL= $(GENERAL) $(TESTING_SRC) $(LIBSRC) $(HEADERS)
|
|
|
|
BLIB= libblowfish.a
|
|
|
|
all: $(BLIB) $(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) BF_ENC='asm/bx86-elf.o' CC=$(CC) CFLAGS="-DELF $(OPTS) $(CFLAG)" all
|
|
|
|
x86-out:
|
|
$(MAKE) BF_ENC='asm/bx86-out.o' CC=$(CC) CFLAGS="-DOUT $(OPTS) $(CFLAG)" all
|
|
|
|
x86-solaris:
|
|
$(MAKE) BF_ENC='asm/bx86-sol.o' CC=$(CC) CFLAGS="-DSOL $(OPTS) $(CFLAG)" all
|
|
|
|
x86-bsdi:
|
|
$(MAKE) BF_ENC='asm/bx86bsdi.o' CC=$(CC) CFLAGS="-DBSDI $(OPTS) $(CFLAG)" all
|
|
|
|
# elf
|
|
asm/bx86-elf.o: asm/bx86unix.cpp
|
|
$(CPP) -DELF asm/bx86unix.cpp | $(AS) -o asm/bx86-elf.o
|
|
|
|
# solaris
|
|
asm/bx86-sol.o: asm/bx86unix.cpp
|
|
$(CC) -E -DSOL asm/bx86unix.cpp | sed 's/^#.*//' > asm/bx86-sol.s
|
|
as -o asm/bx86-sol.o asm/bx86-sol.s
|
|
rm -f asm/bx86-sol.s
|
|
|
|
# a.out
|
|
asm/bx86-out.o: asm/bx86unix.cpp
|
|
$(CPP) -DOUT asm/bx86unix.cpp | $(AS) -o asm/bx86-out.o
|
|
|
|
# bsdi
|
|
asm/bx86bsdi.o: asm/bx86unix.cpp
|
|
$(CPP) -DBSDI asm/bx86unix.cpp | $(AS) -o asm/bx86bsdi.o
|
|
|
|
asm/bx86unix.cpp:
|
|
(cd asm; perl bf-586.pl cpp >bx86unix.cpp)
|
|
|
|
test: all
|
|
./bftest
|
|
|
|
$(BLIB): $(LIBOBJ)
|
|
/bin/rm -f $(BLIB)
|
|
ar cr $(BLIB) $(LIBOBJ)
|
|
$(RANLIB) $(BLIB)
|
|
|
|
bftest: bftest.o $(BLIB)
|
|
$(CC) $(CFLAGS) -o bftest bftest.o $(BLIB)
|
|
|
|
bfspeed: bfspeed.o $(BLIB)
|
|
$(CC) $(CFLAGS) -o bfspeed bfspeed.o $(BLIB)
|
|
|
|
bf_opts: bf_opts.o $(BLIB)
|
|
$(CC) $(CFLAGS) -o bf_opts bf_opts.o $(BLIB)
|
|
|
|
tags:
|
|
ctags $(TESTING_SRC) $(LIBBF)
|
|
|
|
tar:
|
|
tar chf libbf.tar $(ALL)
|
|
|
|
shar:
|
|
shar $(ALL) >libbf.shar
|
|
|
|
depend:
|
|
makedepend $(LIBBF) $(TESTING_SRC)
|
|
|
|
clean:
|
|
/bin/rm -f *.o tags core $(TESTING) $(BLIB) .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: $(BLIB)
|
|
if test $(INSTALLTOP); then \
|
|
echo SSL style install; \
|
|
cp $(BLIB) $(INSTALLTOP)/lib; \
|
|
$(RANLIB) $(BLIB); \
|
|
chmod 644 $(INSTALLTOP)/lib/$(BLIB); \
|
|
cp blowfish.h $(INSTALLTOP)/include; \
|
|
chmod 644 $(INSTALLTOP)/include/blowfish.h; \
|
|
else \
|
|
echo Standalone install; \
|
|
cp $(BLIB) $(LIBDIR)/$(BLIB); \
|
|
$(RANLIB) $(BLIB); \
|
|
chmod 644 $(LIBDIR)/$(BLIB); \
|
|
cp blowfish.h $(INCDIR)/blowfish.h; \
|
|
chmod 644 $(INCDIR)/blowfish.h; \
|
|
fi
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|