X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=makefile;h=42e71a0e42bb0341c3cff63a8c616d6572537f4b;hp=af46fd97ab6bcd26392de438592e9d03678f3948;hb=cf9987b67aa49777a4c91c2d21f96e58bf17aa82;hpb=bc4c4d63e983a3e91e74b5038bfec6705e1a3a2e diff --git a/makefile b/makefile index af46fd9..42e71a0 100644 --- a/makefile +++ b/makefile @@ -1,69 +1,122 @@ -################################################### -# -# Makefile for mothur -# Created: June 29, 2010 -# -################################################### - -# -# Macros -# - -# Optimize to level 3: - -CXXFLAGS += -O3 - -CYGWIN_BUILD ?= no -ifeq ($(strip $(CYGWIN_BUILD)),yes) - CXXFLAGS += -mno-cygwin - LDFLAGS += -mno-cygwin -#-lpsapi -endif - -64BIT_VERSION ?= yes - -ifeq ($(strip $(64BIT_VERSION)),yes) - TARGET_ARCH += -arch x86_64 -endif - -# if you do not want to use the readline library, set this to no. -# make sure you have the library installed - -USEREADLINE ?= yes - -ifeq ($(strip $(USEREADLINE)),yes) - CXXFLAGS += -DUSE_READLINE - LDFLAGS += \ - -lreadline\ - -lncurses\ - -L../readline-6.0 -endif - -USEMPI ?= no - -ifeq ($(strip $(USEMPI)),yes) - CXX = mpic++ - CXXFLAGS += -DUSE_MPI -endif - -# -# INCLUDE directories for mothur -# - - CXXFLAGS += -I. - -# -# Get the list of all .cpp files, rename to .o files -# - -OBJECTS=$(patsubst %.cpp,%.o,$(wildcard *.cpp)) - -mothur : $(OBJECTS) - $(CXX) $(LDFLAGS) $(TARGET_ARCH) -o $@ $(OBJECTS) - -install : mothur - cp mothur ../Release/mothur - -clean : - @rm -f $(OBJECTS) - +################################################### +# +# Makefile for mothur +# Created: June 29, 2010 +# +################################################### + +# +# Macros +# + +USEMPI ?= no +64BIT_VERSION ?= yes +USEREADLINE ?= yes +CYGWIN_BUILD ?= no +USECOMPRESSION ?= no +MOTHUR_FILES="\"Enter_your_default_path_here\"" +RELEASE_DATE = "\"10/16/2013\"" +VERSION = "\"1.32.1\"" +FORTAN_COMPILER = gfortran +FORTRAN_FLAGS = + +# Optimize to level 3: +CXXFLAGS += -O3 + +ifeq ($(strip $(64BIT_VERSION)),yes) + #if you are using centos uncomment the following lines + #CXX = g++44 + + #if you are a mac user use the following line + TARGET_ARCH += -arch x86_64 + + #if you using cygwin to build Windows the following line + #CXX = x86_64-w64-mingw32-g++ + #CC = x86_64-w64-mingw32-g++ + #FORTAN_COMPILER = x86_64-w64-mingw32-gfortran + #TARGET_ARCH += -m64 -static + + #if you are a linux user use the following line + #CXXFLAGS += -mtune=native -march=native + + CXXFLAGS += -DBIT_VERSION +endif + + +CXXFLAGS += -DRELEASE_DATE=${RELEASE_DATE} -DVERSION=${VERSION} + +ifeq ($(strip $(MOTHUR_FILES)),"\"Enter_your_default_path_here\"") +else + CXXFLAGS += -DMOTHUR_FILES=${MOTHUR_FILES} +endif + +ifeq ($(strip $(CYGWIN_BUILD)),yes) + CXXFLAGS += -mno-cygwin + LDFLAGS += -mno-cygwin +endif + +# if you do not want to use the readline library, set this to no. +# make sure you have the library installed + + +ifeq ($(strip $(USEREADLINE)),yes) + CXXFLAGS += -DUSE_READLINE + LIBS = \ + -lreadline\ + -lncurses +endif + + +ifeq ($(strip $(USEMPI)),yes) + CXX = mpic++ + CXXFLAGS += -DUSE_MPI +endif + +# if you want to enable reading and writing of compressed files, set to yes. +# The default is no. this may only work on unix-like systems, not for windows. + + +ifeq ($(strip $(USECOMPRESSION)),yes) + CXXFLAGS += -DUSE_COMPRESSION +endif + +# +# INCLUDE directories for mothur +# + + CXXFLAGS += -I. + +# +# Get the list of all .cpp files, rename to .o files +# + +OBJECTS=$(patsubst %.cpp,%.o,$(wildcard *.cpp)) +OBJECTS+=$(patsubst %.c,%.o,$(wildcard *.c)) +OBJECTS+=$(patsubst %.f,%.o,$(wildcard *.f)) + +mothur : fortranSource $(OBJECTS) uchime + $(CXX) $(LDFLAGS) $(TARGET_ARCH) -o $@ $(OBJECTS) $(LIBS) + + strip mothur + +uchime: + cd uchime_src && ./mk && mv uchime .. && cd .. + +fortranSource: + ${FORTAN_COMPILER} -c $(FORTRAN_FLAGS) *.f + +install : mothur +# cp mothur ../Release/mothur + +%.o : %.c %.h + $(COMPILE.c) $(OUTPUT_OPTION) $< +%.o : %.cpp %.h + $(COMPILE.cpp) $(OUTPUT_OPTION) $< +%.o : %.cpp %.hpp + $(COMPILE.cpp) $(OUTPUT_OPTION) $< + + +clean : + @rm -f $(OBJECTS) + @rm -f uchime +