LBIN=/usr/local/bin
CDEBUGFLAGS =  -g
#CDEBUGFLAGS = -O do NOT <----> use causes different output

# if this machine uses shared libraries, (such as Suns), uncomment the first
# line, otherwise, uncomment the second
LDFLAGS = -Bstatic
#LDFLAGS =


DESINCLUDE=	../libdes
DESLIB=		$(DESINCLUDE)/libdes.a
DESFLAGS=	-I$(DESINCLUDE)

# if this machine has /usr/include/stdlib.h, uncomment the first line,
# otherwise, uncomment the second
HASSTDLIB = -DHASSTDLIB
#HASSTDLIB =

LIB=	libskey.a
LIBOBJS = skeylogin.o skeysubr.o md4.o put.o skey.o deskeyc.o

CFLAGS = $(CDEBUGFLAGS) $(HASSTDLIB) $(DESFLAGS)

all: key keylogin skey.init keysu $(LIB)

install: all man
	chmod 755 key keylogin skey.init keysu keyinfo keyinit
	chown root keylogin skey.init keysu keyinit
	cp keyinit skey.init key keylogin keysu keyinfo $(LBIN)
	chmod 4755 $(LBIN)/keylogin $(LBIN)/skey.init $(LBIN)/keysu
# this assumes things are set up it /etc
	cp /etc/login /etc/login.$$
	cp  keylogin /etc/login
	chmod 4755 /etc/login
#	cp /bin/login /bin/Ologin.$$
#	rm /bin/login
#	ln -s $(LBIN)/keylogin /bin/login
#	touch /etc/skeykeys
#	chmod 644 /etc/skeykeys

man:	
	cp *.1 /usr/local/man/man1

$(LIB):  $(LIBOBJS)
	ar rc $(LIB) $(LIBOBJS)
	ranlib $(LIB)

clean:
	rm *.o key keylogin skey.init keysu

suid: all
	chown root keylogin skey.init keysu
	chmod 4755 keylogin skey.init keysu

key: skey.o $(LIB)
	$(CC) $(CFLAGS) $(LDFLAGS) -o key skey.o $(LIB) $(DESLIB)

keylogin: login.o skeylogin.o skeysubr.o md4.o put.o setenv.o getenv.o
	$(CC) $(CFLAGS) $(LDFLAGS) -o keylogin \
		login.o getenv.o setenv.o skeylogin.o $(LIB)

skey.init: skeyinit.o skeylogin.o skeysubr.o md4.o put.o
	$(CC) $(CFLAGS) $(LDFLAGS) -o skey.init \
		skeyinit.o $(LIB)

keysu: su.o skeylogin.o skeysubr.o md4.o put.o
	$(CC) $(CFLAGS) $(LDFLAGS) -o keysu su.o $(LIB)

login.o: login.c skey.h
md4.o: md4.c md4.h
skey.o: skey.c md4.h skey.h
skeylogin.o: skeylogin.c skey.h
skeysubr.o: skeysubr.c md4.h skey.h
put.o: put.c skey.h
