]> git.donarmstrong.com Git - bamtools.git/blob - src/toolkit/Makefile
077c6ccca0150cae787d18cd701c573999a0f646
[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_stats.cpp \
29           bamtools.cpp 
30 OBJECTS= $(SOURCES:.cpp=.o)
31 BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
32 EXT_OBJECTS = $(OBJ_DIR)/*.o
33 PROGRAM = bamtools
34
35 all: $(PROGRAM)
36
37 .PHONY: all
38
39 $(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
40         @echo "  * linking $(PROGRAM)"
41         @$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
42
43 $(BUILT_OBJECTS): $(SOURCES)
44         @echo "  * compiling" $(*F).cpp
45         @$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
46
47 $(EXT_OBJECTS):
48         @$(MAKE) --no-print-directory -C $(API_DIR) $(UTILS_DIR)        
49         
50 clean:
51         @echo "Cleaning up."
52         @rm -f $(OBJ_DIR)/* $(BIN_DIR)/*
53
54 .PHONY: clean