OBJECTS =  bf_enc.o bf_ecb.o bf_skey.o common.o bf_cfb64.c
CLIENTOBJ = sspftc.o 
SERVEROBJ = sspftd.o
SSMAKEKEY = ssmakekey.o
CFLAGS = -O3 -fhandle-exceptions -finline-functions -funroll-loops
SUFFIXES = .o .c

%.o: %.c
	gcc $(CFLAGS) -g -I. -Iyes -fhandle-exceptions $(DEFS) -c -Wall $<

all:: sspftd sspftc ssmakekey

sspftd: $(OBJECTS) $(SERVEROBJ)
	gcc $(CFLAGS) $(DEFS) -o $@ $(OBJECTS) $(SERVEROBJ) -g -I. -Iyes -fhandle-exceptions -Wall

sspftc: $(OBJECTS) $(CLIENTOBJ)
	gcc $(CFLAGS) $(DEFS) -o $@ $(OBJECTS) $(CLIENTOBJ) -g -I. -Iyes -fhandle-exceptions -Wall

ssmakekey:  $(OBJECTS) $(SSMAKEKEY)
	gcc $(CFLAGS) $(DEFS) -o $@ $(OBJECTS) $(SSMAKEKEY) -g -I. -Iyes -fhandle-exceptions -Wall

install:
	install -m 755 -o root -g root ssmakekey /usr/bin/ssmakekey
	install -m 755 -o root -g root sspftd    /usr/bin/sspftd
	install -m 755 -o root -g root sspftc    /usr/bin/sspftc
	install -m 644 -o root -g root sspft.man /usr/man/man8/sspft.8
	ln -fs /usr/man/man8/sspft.8 /usr/man/man8/sspftc.8
	ln -fs /usr/man/man8/sspft.8 /usr/man/man8/sspftd.8
	ln -fs /usr/man/man8/sspft.8 /usr/man/man8/ssmakekey.8

uninstall:
	rm -f /usr/bin/ssmakekey
	rm -f /usr/bin/sspftd
	rm -f /usr/bin/sspftc
	rm -f /usr/man/man8/sspft.8
	rm -f /usr/man/man8/sspftd.8
	rm -f /usr/man/man8/sspftc.8
	rm -f /usr/man/man8/ssmakekey.8

clean::
	rm -f sspftd sspftc ssmakekey *.o *~ core


#dependencies...
# gcc -MM *.c >> Makefile
bf_cfb64.o: bf_cfb64.c blowfish.h bf_locl.h
bf_ecb.o: bf_ecb.c blowfish.h bf_locl.h
bf_enc.o: bf_enc.c blowfish.h bf_locl.h
bf_skey.o: bf_skey.c blowfish.h bf_locl.h bf_pi.h
common.o: common.c common.h blowfish.h
simpauthd.o: simpauthd.c
ssmakekey.o: ssmakekey.c
sspftc.o: sspftc.c blowfish.h common.h
sspftd.o: sspftd.c blowfish.h common.h
