#
# UFC-crypt: ultra fast crypt(3) implementation
# Copyright (C) 1991, 1992, Free Software Foundation, Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# @(#)Makefile 2.17 03/02/92
#
SHELL = /bin/sh
#
# Select one of the following modules:
#
# You're advised to do a 'make clean' if
# you change this to ensure you get the
# proper routine linked into your program
CRYPT = crypt.o
# portable C version: crypt.o
# SUN3 models: crypt.sun3.o
# HP series 300/400: crypt.s300.o
# SUN SPARC systems: crypt.sparc.o
# NeXT 68k systems: crypt.next68.o
#
# Which compiler & optimization flags to use
#
CC = cc
OFLAGS = -O
#
# End-of-configuration
#
CFLAGS = $(OFLAGS) $(FL)
CRYPTOBJ = crypt_util.o $(CRYPT)
#
# Sample programs for debugging/testing/benchmarking
#
# Simple test for correct operation
ufc: ufc.c libufc.a
$(CC) $(CFLAGS) ufc.c libufc.a -o ufc
all: ufc speedf speedc cert
tests: cert ufc speedc speedf
./cert < ./cert.data
./ufc 1
./speedc
./speedf
# Benchmark UFC fcrypt the crypt(3) in libc.a
speedf: libufc.a speeds.c
$(CC) $(CFLAGS) -DFCRYPT speeds.c libufc.a -o speedf
speedc: libufc.a speeds.c
$(CC) $(CFLAGS) speeds.c -o speedc
# DES validation suite
cert: libufc.a cert.c
$(CC) $(CFLAGS) cert.c libufc.a -o cert
#
libufc.a: $(CRYPTOBJ)
ar r libufc.a $(CRYPTOBJ)
@./do_ranlib
#
# Additional tagets making variants of libufc.a
# using machine dependent assembly code. Intended
# for possible future use by 'Crack'
#
libufc.sparc.a: $(CRYPTOBJ) crypt.sparc.o
make CRYPT=crypt.sparc.o libufc.a ufc
cp libufc.a libufc.sparc.a
ranlib libufc.sparc.a
libufc.sun3.a: $(CRYPTOBJ) crypt.sun3.o
make CRYPT=crypt.sun3.o libufc.a ufc
cp libufc.a libufc.sun3.a
ranlib libufc.sun3.a
libufc.s300.a: $(CRYPTOBJ) crypt.s300.o
make CRYPT=crypt.s300.o libufc.a ufc
cp libufc.a libufc.s300.a
libufc.next68.a: $(CRYPTOBJ) crypt.next68.o
make CRYPT=crypt.next68.o libufc.a ufc
cp libufc.a libufc.next68.a
ranlib libufc.next68.a
crypt_util.o: crypt_util.c ufc-crypt.h
#
# Crypt functions
#
# Semiportable
crypt.o: crypt.c ufc-crypt.h
# Sun3
crypt.sun3.o: crypt.sun3.S
./S2o crypt.sun3.S crypt.sun3.o
# HP 9000 series 300
crypt.s300.o: crypt.s300.S
./S2o crypt.s300.S crypt.s300.o
# SUN SPARC architecture
crypt.sparc.o: crypt.sparc.S
./S2o crypt.sparc.S crypt.sparc.o
# NeXT 68k machines - thanks to korz.cs.columbia.edu (Fred Korz)
crypt.next68.o: crypt.next68.S
./S2o crypt.next68.S crypt.next68.o
crypt.next68.S: crypt.sun3.S
sed -e '/\.proc/ d' crypt.sun3.S > crypt.next68.S
clean:
/bin/rm -f *.o core *~ ufc libufc*.a speedf speedc tmp.s mon.out cert \
a.out Part* crypt.next68.S
kit:
makekit COPYING README Makefile S2o crypt.c speeds.c *.S crypt_util.c \
ufc.c cert.c cert.data patchlevel.h ufc-crypt.h do_ranlib
syntax highlighted by Code2HTML, v. 0.9.1