]> git.donarmstrong.com Git - bamtools.git/blob - src/toolkit/Makefile
Added implementation of new SplitTool. This tool splits a single BAM file into multi...
[bamtools.git] / src / toolkit / Makefile
1 # ==========================
2 # BamTools Makefile
3 # (c) 2010 Derek Barnett
4 #
5 # src/toolkit
6 # ==========================
7
8 API_DIR   = ../api
9 UTILS_DIR = ../utils
10 OBJ_DIR   = ../../obj
11 BIN_DIR   = ../../bin
12 THIRD_PARTY_DIR = ../third_party
13
14 INCLUDES = -I$(API_DIR)/ -I$(UTILS_DIR) -I$(THIRD_PARTY_DIR)
15
16 # ----------------------------------
17 # define our source and object files
18 # ----------------------------------
19 SOURCES = bamtools_convert.cpp \
20           bamtools_count.cpp \
21           bamtools_coverage.cpp \
22           bamtools_filter.cpp \
23           bamtools_header.cpp \
24           bamtools_index.cpp \
25           bamtools_merge.cpp \
26           bamtools_random.cpp \
27           bamtools_sort.cpp \
28           bamtools_split.cpp \
29           bamtools_stats.cpp \
30           bamtools.cpp 
31 OBJECTS= $(SOURCES:.cpp=.o)
32 BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
33 EXT_OBJECTS = $(OBJ_DIR)/*.o
34 PROGRAM = bamtools
35
36 all: $(PROGRAM)
37
38 .PHONY: all
39
40 $(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
41         @echo "  * linking $(PROGRAM)"
42         @$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
43
44 $(BUILT_OBJECTS): $(SOURCES)
45         @echo "  * compiling" $(*F).cpp
46         @$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
47
48 $(EXT_OBJECTS):
49         @$(MAKE) --no-print-directory -C $(API_DIR) $(UTILS_DIR)        
50         
51 clean:
52         @echo "Cleaning up."
53         @rm -f $(OBJ_DIR)/* $(BIN_DIR)/*
54
55 .PHONY: clean