-Compiling samtools requires the zlib library <http://www.zlib.net/>;
-compiling the alignment viewer further requires the GNU ncurses library
-<http://www.gnu.org/software/ncurses/>.
-
-Please type `./configure; make' to compile samtools. If it fails, try
-`make -f Makefile.generic'. If the compilation still fails due to errors
-in RAZF or the lack of ncurses, try `make -f Makefile.lite' to disable
-the alignment viewer and the RAZF-enhanced FASTA indexer.
+System Requirements
+===================
+
+Most of SAMtools functionality only depends on zlib which is included in
+this source code package. Compiling the alignment viewer further
+requires the GNU ncurses library <http://www.gnu.org/software/ncurses/>,
+which comes with Mac OS X and most of the modern Linux/Unix
+distributions. If you do not have this library installed, you can still
+compile the rest of SAMtools by manually modifying two lines in Makefile
+as is described in the Makefile.
+
+
+Compilation
+===========
+
+Type `make' to compile samtools.
+
+
+Installation
+============
+
+Simply copy `samtools' and other executables/scripts in `misc' to a
+location you want (e.g. a directory in your $PATH). No further
+configurations are required.
CC= gcc
CXX= g++
-CFLAGS= -g -Wall #-O2 -m64 #-arch ppc
+CFLAGS= -g -Wall -O2 #-m64 #-arch ppc
CXXFLAGS= $(CFLAGS)
-DFLAGS= -D_IOLIB=2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 #-D_NO_RAZF #-D_NO_CURSES
+### For ncurses: please apply `-D_NO_CURSES' if you do not have ncurses installed
+DFLAGS= -D_IOLIB=2 -D_FILE_OFFSET_BITS=64 #-D_NO_CURSES
OBJS= bam.o bam_import.o bam_pileup.o bam_lpileup.o bam_sort.o bam_index.o \
razf.o bgzf.o faidx.o bam_tview.o bam_maqcns.o bam_aux.o bam_plcmd.o \
bam_mate.o bam_rmdup.o glf.o bam_stat.o kstring.o bam_md.o sam.o sam_view.o \
bam_rmdupse.o
PROG= razip bgzip samtools
-INCLUDES=
-LIBS= -lm -lz
-SUBDIRS= . misc
+INCLUDES= -Izlib
+LIBS= -lm -Lzlib -lz
+SUBDIRS= zlib . misc
.SUFFIXES:.c .o
wdir=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
cd $$subdir; \
- $(MAKE) -f Makefile.generic CC="$(CC)" CXX="$(CXX)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" \
+ $(MAKE) -f Makefile CC="$(CC)" CXX="$(CXX)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" \
INCLUDES="$(INCLUDES)" LIBS="$(LIBS)" $$target || exit 1; \
cd $$wdir; \
done;
libbam.a:$(OBJS)
$(AR) -cru $@ $(OBJS)
+### For ncurses: comment out `-lcurses' if you do not have ncurses installed
samtools:lib bamtk.o
$(CC) $(CFLAGS) -o $@ bamtk.o $(LIBS) -L. -lbam -lcurses
CXX= g++
CFLAGS= -g -Wall -O2 -m64 #-arch ppc
CXXFLAGS= $(CFLAGS)
-DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+DFLAGS= -D_FILE_OFFSET_BITS=64
OBJS=
PROG= faidx md5sum-lite md5fa maq2sam-short maq2sam-long wgsim
INCLUDES= -I..
zutil.o: zutil.h zlib.h zconf.h
cleanlocal:
- rm -f *.o a.out *~ *.a libzr.a gmon.out
+ rm -f *.o a.out *~ *.a libz.a gmon.out
clean:cleanlocal