#CC=gcc -O8 -Wall -DTEST_DES
#CC=gcc -O8 -Wall -DTEST_CAST
#CC=gcc -O8 -Wall -DTEST_SERPENT
#CC=gcc -O8 -Wall -DTEST_BF
#CC=gcc -O8 -Wall -DTEST_RIJNDAEL
CC=gcc -O8 -Wall -DTEST_RIJNDAEL

.c.o:
	@echo Compiling $*.c
	@$(CC) -c $< -o $@ 


all: bf_xor

#cast.o:
#	@echo Compiling cast.c
#	@$(CC) -O8 -c cast.c -o cast.o

serpent.o:
	@echo Compiling serpent.c
	@$(CC) -O8 -c serpent.c -o serpent.o

#aes.o:
#	@echo Compiling aes.c
#	@$(CC) -O8 -c aes.c -o aes.o

des_xor:	aes.o util.o data_xor.o bitcount.o rand.o erfc.o
	$(CC) -lm -lcrypto $^ -o $@

cast_xor:	aes.o util.o data_xor.o bitcount.o rand.o erfc.o
	$(CC) -lm -lcrypto $^ -o $@

bf_xor:	aes.o util.o data_xor.o bitcount.o rand.o erfc.o
	$(CC) -lm -lcrypto $^ -o $@

rjd_xor:	aes.o util.o data_xor.o bitcount.o rand.o erfc.o
	$(CC) -lm $^ -o $@

serpent_xor:	serpent.o util.o data_xor.o bitcount.o rand.o aes.o erfc.o
	$(CC) -lm $^ -o $@

rjd-test: aes.o rjd-test.o data_test.o erfc.o bitcount.o print.o sort.o bits.o\
          histogram.o cephes.o dict.o
	$(CC) -lm $^ -o $@

analyse: analyse.o util.o bitcount.o rand.o aes.o
	$(CC) -lm $^ -o $@

proto:
	awk -f mkproto.awk   print.c > print.h
	awk -f mkproto.awk   util.c > util.h
	awk -f mkproto.awk   rand.c > rand.h
	awk -f mkproto.awk   erfc.c > erfc.h
	awk -f mkproto.awk   bitcount.c > bitcount.h
	awk -f mkproto.awk   sort.c > sort.h
	awk -f mkproto.awk   bits.c > bits.h
	awk -f mkproto.awk   histogram.c > histogram.h
	awk -f mkproto.awk   dict.c > dict.h

clean:
	rm -f *.o rjd_xor serpent_xor cast_xor bf_xor output.*.txt
