
include $(AWARE_HOME)/config/Makefile.config

LIB=libawutil.a
SLIB=libawutil.so.$(AW_VERSION)

HEADERS=\
	util.h \
	bitvector.h \
	jenkins.h \
	hash.h \
	mask.h \
	md5.h \
	trie.h \
	log.h \
	fast_merge_sort.h \
	url.h \
	regexmatch.h \
	llt.h

OBJS=\
	util.o \
	bitvector.o \
	jenkins32.o \
	jenkins64.o \
	hash.o \
	mask.o \
	md5.o \
	trie.o \
	log.o \
	url.o \
	regexmatch.o \
	llt.o

RMFILES+=logtest masktest hashtest trietest

all: $(LIB)

install: all
	cp $(LIB) $(LIBDIR)
	cp $(HEADERS) $(INCLUDEDIR)
	$(LD) -shared -Wl,-soname=$(SLIB) -o  $(LIBDIR)/$(SLIB) $(OBJS) 

$(LIB) : $(OBJS)
	$(AR) $(ARFLAGS) $(LIB) $?

log.o : log.h util.o

trie.o : trie.h util.o

bitvector.o : bitvector.h util.o

jenkins32.o : jenkins.h util.o 

jenkins64.o : jenkins.h util.o

hash.o : hash.h jenkins32.o jenkins64.o util.o

llt.o : llt.h util.o

mask.o : mask.h util.o

md5.o : md5.h

regexmatch.o : regexmatch.h

url.o : url.h

util.o : util.h

logtest : log.o
	$(CC) $(CFLAGS) -DMAIN log.c -o logtest $(LIB) $(THREADLIB)

hashtest : hash.o
	$(CC) $(CFLAGS) -DMAIN_DEBUG hash.c -o hashtest $(LIB) $(THREADLIB)

trietest : trie.o
	$(CC) $(CFLAGS) -DMAIN_DEBUG trie.c -o trietest $(LIB) $(THREADLIB)

masktest : $(LIB) masktest.c
	$(CC) $(CFLAGS) masktest.c -o masktest $(LIB) $(THREADLIB)

clean::
	$(RM) $(RMFILES) 
