https://github.com/splatlab/squeakr
Raw File
Tip revision: 0ecb68d936c17f8109ec29048c2d98c09e844924 authored by Prashant Pandey on 18 September 2017, 00:29:21 UTC
Adding help option and updating executable names.
Tip revision: 0ecb68d
Makefile
TARGETS= squeakr-count squeakr-query squeakr-inner-prod

ifdef D
	DEBUG=-g
	OPT=
else
	DEBUG=
	OPT=-Ofast
endif

ifdef NH
	ARCH=
else
	ARCH=-msse4.2 -D__SSE4_2_
endif

ifdef P
	PROFILE=-pg -no-pie # for bug in gprof.
endif

CXX = g++ -std=c++11
CC = g++ -std=c++11
LD= g++ -std=c++11

CXXFLAGS = -Wall $(DEBUG) $(PROFILE) $(OPT) $(ARCH) -m64 -I. -Wno-unused-result -Wno-strict-aliasing -Wno-unused-function -Wno-sign-compare

LDFLAGS = $(DEBUG) $(PROFILE) $(OPT) -lpthread -lssl -lcrypto -lboost_system -lboost_thread -lm -lbz2 -lz

#
# declaration of dependencies
#

all: $(TARGETS)

# dependencies between programs and .o files

squeakr-count:                  main.o 								 murmurHash3.o hashutil.o threadsafe-gqf/gqf.o
squeakr-query: 					 kmer_query.o 					 hashutil.o threadsafe-gqf/gqf.o
squeakr-inner-prod: 			 kmer_inner_prod.o 			 hashutil.o threadsafe-gqf/gqf.o

# dependencies between .o files and .h files

main.o: 								 									threadsafe-gqf/gqf.h hashutil.h chunk.h kmer.h reader.h
kmer_query.o: 					 									threadsafe-gqf/gqf.h hashutil.h chunk.h kmer.h
kmer_inner_prod.o: 			 									threadsafe-gqf/gqf.h hashutil.h
hashutil.o: 																									 hashutil.h
murmurHash3.o: 																								 murmurHash3.h

# dependencies between .o files and .cc (or .c) files

%.o: %.cc
threadsafe-gqf/gqf.o: threadsafe-gqf/gqf.c threadsafe-gqf/gqf.h

#
# generic build rules
#

$(TARGETS):
	$(LD) $^ $(LDFLAGS) -o $@

%.o: %.cc
	$(CXX) $(CXXFLAGS) $(INCLUDE) $< -c -o $@

%.o: %.c
	$(CC) $(CXXFLAGS) $(INCLUDE) $< -c -o $@

clean:
	rm -f *.o threadsafe-gqf/gqf.o $(TARGETS)

back to top