CCC		=gcc
FLAGS		=-DLINUX32
FLAGS		+=-DHASHCOM_BASIC_API
#FLAGS		+=-DHASHCOM_SMALL
FLAGS		+=-DHASHCOM_REASONABLE
#FLAGS		+=-DHASHCOM_LARGE
WARNINGS	=-Wall -Werror -ansi
OPTS		=-O3 -s
INCLUDE		=
HASH_OBJS	=hasher/hashcom.o hasher/hasher.o hasher/md5.o hasher/sha1.o hasher/sha256.o hasher/sha384.o hasher/sha512.o hasher/ripemd160.o

all: default
default:
	$(MAKE) -C hasher
	make hashsum
docs:
	doxygen
clean:
	rm -f *.o core hashsum
	$(MAKE) -C hasher clean

$(sort $(HASH_OBJS)): %.o : %.c
	$(CCC) $(INCLUDE) -o $@ -c $< $(WARNINGS) $(FLAGS) $(OPTS)

hashsum:
	$(CCC) $(INCLUDE) -o $@.o -c $@.c $(WARNINGS) $(FLAGS) $(OPTS)
	$(CCC) $(HASH_OBJS) $@.o -o $@
