# This makefile is for UNIX.
# By default, the code is compiled for a "big endian" machine (68K,
# Pyramid, Convex). To compile on a "little endian" machine (VAX, Intel)
# set the LITTLE_ENDIAN flag. If you get "ENCRYPT FAIL" messages out of
# the "certify" step, you've got the wrong byte order.

DEFS   = -DUTMP_FILE=\"/etc/utmp\" -DLITTLE_ENDIAN
#DEFS   = -DUTMP_FILE=\"/etc/utmp\" 

#CC     = cc
CC=	gcc -fstrength-reduce
CFLAGS = ${DEFS} -O
LIBS   = 

BIN= /usr/local/bin
ETC= /usr/local/etc
LIB= /usr/local/lib
MAN= /usr/local/src/man
DOCDIR = /usr/local/doc

SRCS   = benchmark.c des.c descalc.c descert.c descycle.c destest.c \
	getopt.c getpass.c kgen.c main.c misc.c radlogin.c uudecode.c uuencode.c
OTHERS = Makefile des.1 des.3 des1.txt des3.txt makefile.pc readme testdata

all: descalc descycle descert certify radlogin benchmark des uuencode uudecode

des: main.o des.o getpass.o
	${CC} -o des main.o des.o # getpass.o

benchmark: benchmark.o des.o
	${CC} -o benchmark benchmark.o des.o

radlogin: radlogin.o des.o
	${CC} -o radlogin radlogin.o des.o

descert: descert.o des.o
	${CC} -o descert descert.o des.o

descalc: descalc.o des.o
	${CC} -o descalc descalc.o des.o

descycle: descycle.o des.o
	${CC} -o descycle descycle.o des.o

certify: descert testdata
	descert < testdata > certify
	cat certify

uuencode: uuencode.o
	${CC} -o uuencode uuencode.o

uudecode: uudecode.o
	${CC} -o uudecode uudecode.o

install:	des
	install -s des ${BIN}
	install -c -m 444 des.1 ${MAN}/man1
	install -c -m 444 des.3 ${MAN}/man3

lint:	${HDRS} ${SRCS}
	lint -habx ${DEFS} ${SRCS}

shar:	${HDRS} ${SRCS} ${OTHERS}
	shar ${HDRS} ${SRCS} ${OTHERS} > des.shar

tags:	${HDRS} ${SRCS}
	ctags ${HDRS} ${SRCS}

clean:
	@echo "Removing object and junk files."
	rm -f benchmark des descalc descert descycle radlogin uudecode \
	uuencode *.o core certify a.out make.log lint.out Makefile.bak des.shar

depend:
	mkdep ${DEFS} ${SRCS}

# DO NOT DELETE THIS LINE -- make depend uses it

# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
