6fc788f42b3a20c2edf6317ea59a2c12ea341b2d
[tedtools.git] / Makefile
1 CC=gcc
2 AR=ar rcv
3 RANLIB=ranlib
4 LD=ld -x -shared 
5
6 INCLUDE=-I.
7 #LINUX_CFLAGS=-D_GNU_SOURCE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64
8 CFLAGS=-Wall -g -O2 -pedantic -ansi -DASSERT_CORE -DHAVE_POLL_H -DHAVE_SYS_POLL_H -DHAVE_HSTRERROR $(LINUX_CFLAGS)
9 LIB=-g -L. -ltedtools -lm
10
11 OBJS=tlog.o tmalloc.o tools.o prs_hmap.o sfxstr.o \
12         regis.o prs_inf.o shmem.o tcp.o udp.o connpool.o \
13         psort.o flatdb.o tbtree.o glist.o
14 PROGS=sfxtest hextest inftest kilter psortex flatdbtest \
15         tbtreetest gendata memtest glisttest
16
17 .SUFFIXES: .o.c
18
19 all: libtedtools.a $(PROGS)
20
21 $(PROGS): %: %.o
22         $(CC) -o $@ $< $(LIB)
23
24 $(PROGS): libtedtools.a
25
26 libtedtools.a: $(OBJS)
27         $(AR) $@ $?
28         $(RANLIB) $@
29
30 .c.o:
31         $(CC) $(CFLAGS) $(INCLUDE) -c $<
32
33
34 test: all
35         @[ -d results ] || mkdir results  
36         @[ -d diffs ] || mkdir diffs  
37         @[ -d temp ] || mkdir temp  
38         @for FILE in btree flatdb hex inf mem psort sfxmem glist ; do \
39                 echo -n $$FILE "        ........ " ; \
40                 if sh tests/$$FILE > results/$$FILE 2>results/$$FILE.errout && diff -c expected/$$FILE results/$$FILE > diffs/$$FILE ; then \
41                         echo ok ; \
42                 else \
43                         echo FAILED ; \
44                 fi ; \
45         done
46
47 clean:
48         rm -rf $(OBJS)
49         rm -rf $(PROGS) *.o
50         rm -rf libtedtools.a
51         rm -rf *core *gmon* nohup.out
52         rm -rf sfxtest.log BTREE
53         rm -rf results diffs temp
54