]> git.donarmstrong.com Git - mothur.git/blobdiff - makefile
working on pam
[mothur.git] / makefile
index d751bb6b310fada520a10a292b3e45f5b8f4b309..42e71a0e42bb0341c3cff63a8c616d6572537f4b 100644 (file)
--- a/makefile
+++ b/makefile
@@ -9,52 +9,77 @@
 # 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 += -O3
 
-MOTHUR_FILES = "\"../Release\""
+CXXFLAGS += -DRELEASE_DATE=${RELEASE_DATE} -DVERSION=${VERSION}
+
 ifeq  ($(strip $(MOTHUR_FILES)),"\"Enter_your_default_path_here\"")
 else
        CXXFLAGS += -DMOTHUR_FILES=${MOTHUR_FILES}
 endif
 
-CYGWIN_BUILD ?= no
 ifeq  ($(strip $(CYGWIN_BUILD)),yes)
     CXXFLAGS += -mno-cygwin
     LDFLAGS += -mno-cygwin 
 endif
 
-64BIT_VERSION ?= yes
-
-ifeq  ($(strip $(64BIT_VERSION)),yes)
-    TARGET_ARCH += -arch x86_64
-        CXXFLAGS += -DBIT_VERSION
-       
-       #if you are using centos uncomment the following lines
-       #CC = g++44
-       #CXXFLAGS += -mtune=native -march=native -m64
-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 += \
+    LIBS = \
       -lreadline\
       -lncurses
 endif
 
-USEMPI ?= no
 
 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
 #
@@ -66,13 +91,25 @@ endif
 #
 
 OBJECTS=$(patsubst %.cpp,%.o,$(wildcard *.cpp))
+OBJECTS+=$(patsubst %.c,%.o,$(wildcard *.c))
+OBJECTS+=$(patsubst %.f,%.o,$(wildcard *.f))
 
-mothur : $(OBJECTS)
-       $(CXX) $(LDFLAGS) $(TARGET_ARCH) -o $@ $(OBJECTS)
+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
-
+#      cp mothur ../Release/mothur
+       
+%.o : %.c %.h
+       $(COMPILE.c) $(OUTPUT_OPTION) $<
 %.o : %.cpp %.h
        $(COMPILE.cpp) $(OUTPUT_OPTION) $<
 %.o : %.cpp %.hpp
@@ -81,4 +118,5 @@ install : mothur
 
 clean :
        @rm -f $(OBJECTS)
+       @rm -f uchime