X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Makefile;h=1dc3f7b1b1ed51862f08967e947e2bfc38eededf;hb=7eee95124eb52bee48d75bbbfc5ab5f2720bfe63;hp=8862226d50cf01812083549ca1d71f41dc29cde0;hpb=bcddc83db58c2da241c1e81be260609cdbe36bc6;p=bamtools.git diff --git a/Makefile b/Makefile index 8862226..1dc3f7b 100644 --- a/Makefile +++ b/Makefile @@ -1,39 +1,48 @@ -CC= gcc -CXX= g++ -CFLAGS= -Wall -O3 -CXXFLAGS= $(CFLAGS) -DFLAGS= -D_IOLIB=2 #-D_NDEBUG -OBJS= BamReader.o bgzf.o -PROG= BamReaderTest -INCLUDES= -ARFLAGS= -crs -LIBS= -lz -SUBDIRS= . - -.SUFFIXES:.c .cpp .o - -.c.o: - $(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@ - -.cpp.o: - $(CXX) -c $(CXXFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@ - -all: $(PROG) BamConversion - -lib:libbambc.a - -libbambc.a:$(OBJS) - $(AR) $(ARFLAGS) $@ $(OBJS) - -BamReaderTest:lib BamReaderMain.o - $(CXX) $(CXXFLAGS) -o $@ BamReaderMain.o $(LIBS) -L. -lbambc - -BamConversion: lib BamWriter.o BamConversionMain.o - $(CXX) $(CXXFLAGS) -o $@ BamWriter.o BamConversionMain.o $(LIBS) -L. -lbambc - -BamMerge: lib BamMerge.o - $(CXX) $(CXXFLAGS) -o $@ BamWriter.o BamMerge.o $(LIBS) -L. -lbambc - - -clean: - rm -fr gmon.out *.o *.a a.out $(PROG) BamConversion *~ +# ========================== +# BamTools Makefile +# (c) 2010 Derek Barnett +# +# top-level +# ========================== + +# define main directories +export OBJ_DIR = obj +export BIN_DIR = bin +export SRC_DIR = src + +# define compile/link flags +export CXX = g++ +export CXXFLAGS = -Wall -O3 -D_FILE_OFFSET_BITS=64 +export LIBS = -lz + +# define current BamTools version +export BAMTOOLS_VERSION = 0.7.0812 + +# define source subdirectories +SUBDIRS = $(SRC_DIR)/api \ + $(SRC_DIR)/utils \ + $(SRC_DIR)/third_party \ + $(SRC_DIR)/toolkit + +all: + @echo "Building BamTools:" + @echo "Version: $$BAMTOOLS_VERSION" + @echo "=========================================================" + @echo "" + @echo "- Creating target directories" + @mkdir -p $(BIN_DIR) + @mkdir -p $(OBJ_DIR) + @echo "" + @for dir in $(SUBDIRS); do \ + echo "- Building in $$dir"; \ + $(MAKE) --no-print-directory -C $$dir; \ + echo ""; \ + done + +.PHONY: all + +clean: + @echo "Cleaning up." + @rm -f $(OBJ_DIR)/* $(BIN_DIR)/* + +.PHONY: clean