HOME	    = /home/dbourg
DKBF_HOME   = $(HOME)/dkbf-0.1.1b
CC	    = gcc 
CFLAGS      = -Wall -O3 
LIBS        = -lmpipro -lm -lpthread 
OUTPUT      = -o $(DKBF_HOME)/bin/dkbf

all: dkbf

OBJS=\
	dkbfblock.o dkbfblockq.o dkbfconfig.o dkbffile.o dkbfgetaccts.o \
	dkbfkeygen.o dkbfmaster.o dkbfslave.o dkbflogging.o \
	dkbfmain.o  dkbfstrings.o dkbfrulez.o \
	dkbfuser.o dkbfschedule.o dkbfkeysbynum.o dkbfkeysbystr.o \
	md4.o des_enc.o ecb_enc.o set_key.o util.o llist.o chal_resp.o \
	ztest.o

dkbf: $(OBJS)
	$(CC) $(CFLAGS) $(OUTPUT) $(OBJS) $(LIBS) $(OUTPUT) 

dkbfblock.o: dkbfblock.c dkbfblock.h 
	$(CC) -c -o dkbfblock.o dkbfblock.c $(CFLAGS) 

dkbfblockq.o: 	dkbfblockq.c dkbfblockq.h 
	$(CC) -c -o dkbfblockq.o dkbfblockq.c $(CFLAGS)

dkbfconfig.o: 	dkbfconfig.c dkbfconfig.h
	$(CC) -c -o dkbfconfig.o dkbfconfig.c $(CFLAGS) 

dkbffile.o: 	dkbffile.c dkbffile.h
	$(CC) -c -o dkbffile.o dkbffile.c $(CFLAGS)

dkbfgetaccts.o: dkbfgetaccts.c dkbfgetaccts.h
	$(CC) -c -o dkbfgetaccts.o dkbfgetaccts.c $(CFLAGS)

dkbfkeygen.o: 	dkbfkeygen.c dkbfkeygen.h
	$(CC) -c -o dkbfkeygen.o dkbfkeygen.c $(CFLAGS)

dkbfmaster.o: dkbfmaster.c dkbfmaster.h
	$(CC) -c -o dkbfmaster.o dkbfmaster.c $(CFLAGS)

dkbfslave.o:  dkbfslave.c dkbfslave.h
	$(CC) -c -o dkbfslave.o dkbfslave.c $(CFLAGS)

dkbflogging.o: 	dkbflogging.c dkbflogging.h
	$(CC) -c -o dkbflogging.o dkbflogging.c $(CFLAGS)

dkbfmain.o: 	dkbfmain.c 
	$(CC) -c -o dkbfmain.o dkbfmain.c $(CFLAGS)

dkbfstrings.o: 	dkbfstrings.c dkbfstrings.h
	$(CC) -c -o dkbfstrings.o dkbfstrings.c $(CFLAGS)

dkbfrulez.o:	dkbfrulez.c dkbfrulez.h
	$(CC) -c -o dkbfrulez.o dkbfrulez.c $(CFLAGS)

dkbfuser.o:	dkbfuser.c dkbfuser.h
	$(CC) -c -o dkbfuser.o dkbfuser.c $(CFLAGS)

dkbfschedule.o:	dkbfschedule.c dkbfschedule.h
	$(CC) -c -o dkbfschedule.o dkbfschedule.c $(CFLAGS)

dkbfkeysbynum.o: dkbfkeysbynum.c dkbfkeysbynum.h
	$(CC) -c -o dkbfkeysbynum.o dkbfkeysbynum.c $(CFLAGS)

dkbfkeysbystr.o: dkbfkeysbystr.c dkbfkeysbystr.h
	$(CC) -c -o dkbfkeysbystr.o dkbfkeysbystr.c $(CFLAGS)

chal_resp.o: 	chal_resp.c 
	$(CC) -c -o chal_resp.o chal_resp.c $(CFLAGS)

des_enc.o: 	des_enc.c des_locl.h
	$(CC) -c -o des_enc.o des_enc.c $(CFLAGS)

ecb_enc.o:	des_locl.h spr.h
	$(CC) -c -o ecb_enc.o ecb_enc.c $(CFLAGS)

llist.o:	dkbfuser.h dkbfincludes.h
	$(CC) -c -o llist.o llist.c $(CFLAGS)

md4.o:		md4.c md4.h
	$(CC) -c -o md4.o md4.c $(CFLAGS) -DMPU8086

set_key.o:	set_key.c des_locl.h podd.h sk.h
	$(CC) -c -o set_key.o set_key.c $(CFLAGS)

util.o:		util.c dkbfincludes.h dkbfuser.h des.h
	$(CC) -c -o util.o util.c $(CFLAGS)

ztest.o:	ztest.c dkbfincludes.h dkbfuser.h des.h
	$(CC) -c -o ztest.o ztest.c $(CFLAGS)

clean:
	strip $(DKBF_HOME)/bin/dkbf
	rm *.o *~ core 

