Changelog entry marking the package released.
[tabix.git] / Makefile
1 CC=                     gcc
2 CFLAGS=         -g -Wall -O2 -fPIC #-m64 #-arch ppc
3 DFLAGS=         -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -DBGZF_CACHE
4 LOBJS=          bgzf.o kstring.o knetfile.o index.o bedidx.o
5 AOBJS=          main.o
6 PROG=           tabix bgzip
7 INCLUDES=
8 SUBDIRS=        .
9 LIBPATH=
10 LIBCURSES=      
11
12 .SUFFIXES:.c .o
13
14 .c.o:
15                 $(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@
16
17 all-recur lib-recur clean-recur cleanlocal-recur install-recur:
18                 @target=`echo $@ | sed s/-recur//`; \
19                 wdir=`pwd`; \
20                 list='$(SUBDIRS)'; for subdir in $$list; do \
21                         cd $$subdir; \
22                         $(MAKE) CC="$(CC)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" \
23                                 INCLUDES="$(INCLUDES)" LIBPATH="$(LIBPATH)" $$target || exit 1; \
24                         cd $$wdir; \
25                 done;
26
27 all:$(PROG)
28
29 lib:libtabix.a
30
31 libtabix.so.1:$(LOBJS)
32                 $(CC) -shared -Wl,-soname,libtabix.so -o $@ $(LOBJS) -lc -lz
33
34 libtabix.1.dylib:$(LOBJS)
35                 libtool -dynamic $(LOBJS) -o $@ -lc -lz
36
37 libtabix.a:$(LOBJS)
38                 $(AR) -csru $@ $(LOBJS)
39
40 tabix:lib $(AOBJS)
41                 $(CC) $(CFLAGS) -o $@ $(AOBJS) -L. -ltabix -lm $(LIBPATH) -lz
42
43 bgzip:bgzip.o bgzf.o knetfile.o
44                 $(CC) $(CFLAGS) -o $@ bgzip.o bgzf.o knetfile.o -lz
45
46 TabixReader.class:TabixReader.java
47                 javac -cp .:sam.jar TabixReader.java
48
49 kstring.o:kstring.h
50 knetfile.o:knetfile.h
51 bgzf.o:bgzf.h knetfile.h
52 index.o:bgzf.h tabix.h khash.h ksort.h kstring.h
53 main.o:tabix.h kstring.h bgzf.h
54 bgzip.o:bgzf.h
55 bedidx.o:kseq.h khash.h
56
57 tabix.pdf:tabix.tex
58                 pdflatex tabix.tex
59
60 cleanlocal:
61                 rm -fr gmon.out *.o a.out *.dSYM $(PROG) *~ *.a tabix.aux tabix.log tabix.pdf *.class libtabix.*.dylib libtabix.so*
62
63 clean:cleanlocal-recur