diff --git a/Makefile b/Makefile index 263976b..4b86020 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ CC= gcc -CFLAGS= -g -Wall -O2 -Wc++-compat -march=native +CFLAGS= -g -Wall -O2 -Wc++-compat CPPFLAGS= -DHAVE_KALLOC INCLUDES= -I. OBJS= kthread.o kalloc.o ksw2_extz2_sse.o ksw2_extd2_sse.o misc.o bseq.o \ @@ -8,6 +8,10 @@ PROG= minimap2 PROG_EXTRA= sdust LIBS= -lm -lz -lpthread +ifeq ($(sse2only),) + CFLAGS+=-msse4 +endif + .SUFFIXES:.c .o .c.o: diff --git a/README.md b/README.md index 9e5dd20..982a4b9 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,15 @@ and [longISLND][longislnd]), better chaining and the ability to produce CIGAR with fast extension alignment (see also [libgaba][gaba] and [ksw2][ksw2]) and piece-wise affine gap cost. +## Installation + +For modern x86-64 CPUs, just type `make` in the source code directory. This +will compile a binary `minimap2` which you can copy to your desired location. +If you see compilation errors, try `make sse2only=1` to disable SSE4. Minimap2 +will run a little slower. At present, minimap2 does not work with non-x86 CPUs +or ancient CPUs that do not support SSE2. SSE2 is critical to the performance +of minimap2. + ## Limitations * At the alignment phase, minimap2 performs global alignments between minimizer