# $Source: /afs/rel-eng.athena.mit.edu/project/release/current/source/athena/athena.lib/kerberos/lib/des/RCS/Imakefile,v $
# $Author: jtkohl $
# $Header: /afs/rel-eng.athena.mit.edu/project/release/current/source/athena/athena.lib/kerberos/lib/des/RCS/Imakefile,v 4.1 89/01/22 13:05:52 jtkohl Exp $
#
# Copyright 1987 by the Massachusetts Institute of Technology.
#
# For copying and distribution information,
# please see the file <mit-copyright.h>.
#
# Imakefile for DES library
#


#ifdef OLD_COMPAT
OLDSRCS= desglue.c
OLDOBJS= desglue.o
#else
OLDSRCS=
OLDOBJS=
#endif
DESSRCS= key_sched.c des.c cbc_encrypt.c pcbc_encrypt.c debug_decl.c \
	cksum.c quad_cksum.c random_key.c read_password.c \
	string_to_key.c weak_key.c key_parity.c new_rnd_key.c util.c $(OLDSRCS)

SRCS=   des_internal.h make_key_perm.c make_ip.c make_fp.c make_e.c make_p.c make_s.c \
	make_s_table.c make_p_table.c make_odd.c misc.c \
	key_test.c testit.c verify.c epc_encrypt.c \
	cbc_noop.c enc.c ${DESSRCS}

DESOBJS= key_sched.o des.o cbc_encrypt.o pcbc_encrypt.o debug_decl.o \
	cksum.o quad_cksum.o random_key.o read_password.o \
	string_to_key.o weak_key.o key_parity.o new_rnd_key.o util.o $(OLDOBJS)

SRCDIR=$(SRCTOP)/lib/des
CODE=$(SRCS) Imakefile tables.h des.vaxasm

library_obj_rule()

install_library_target(des,$(DESOBJS),$(DESSRCS),)

library_ro_object(dbg_prt)

/* add other assembler versions here, if you come up with them. */
#ifdef VAXASM
library_asm_object(des.o,des.vaxasm)
#else
library_ro_object(des)
library_ro_object(key_sched)
#endif
/*
 * misc.o is used by all of the header generators.
 */

host_simple_object(misc.o,misc.c)
/*
 * Generate include files for use by key_sched & friends.
 */

generate_depend(key_perm.h,make_key_perm,misc.o)
generate_depend(odd.h,make_odd,misc.o)
generate_depend(p_table.h,make_p_table,misc.o)
generate_depend(s_table.h,make_s_table,misc.o)
generate_depend(p.c,make_p,misc.o)
generate_depend(fp.c,make_fp,misc.o)
generate_depend(ip.c,make_ip,misc.o)

misc.o: des_internal.h
make_s_table: tables.h des_internal.h
make_p_table: tables.h des_internal.h
make_key_perm: des_internal.h
make_s: s_table.h des_internal.h


/*
 * verify that the library correctly implements the DES standard.  
 * Run this after any change to the source.
 */

test(verify,libdes.a,)
test(key_test,libdes.a,)
test(testit,libdes.a,)
