Makefile и QTCreator - PullRequest
       7

Makefile и QTCreator

2 голосов
/ 13 августа 2010

Я новичок в программировании под Linux и не знаком с make-файлами, так как MSVC-Express очень хорошо скрывает такие вещи.Но теперь я хотел поиграть с некоторым кодом, который нашел, но он не скомпилируется в qtcreator.Но с помощью make-файла в пакете я могу успешно скомпилировать и использовать его.Таким образом, все зависимости (библиотеки и заголовочные файлы) должны быть правильно установлены, но в файле .pro должно быть что-то пропущено.

Возможно, некоторые из них могут помочь мне и дать несколько советов, как найти пропущенные настройки.

рабочий make-файл:

# Defining the compiler:
CC = g++
CUDACC = nvcc 

SRCPATH=src
OBJPATH=obj
LIBPATH=lib
BINPATH=bin

OPTIMIZATION_LEVEL=-O3
DEBUG= #-Wall -g #-pg
DEBUG_CUDA = #-g --ptxas-options=-v #-deviceemu
SWITCHES= -msse2 -flax-vector-conversions
nj_cuda : SWITCHES += -DENABLEGPU
INCLUDES= -Isrc/distanceCalculation -Isrc/bootstrapping -Isrc/
nj_cuda : INCLUDES += -I /usr/local/cuda/include -Isrc/distanceCalculation/gpu
#use -pg for gprof profiling in both steps

# Defining the object files:
objects = $(OBJPATH)/main.o $(OBJPATH)/node.o $(OBJPATH)/distMatrixReader.o $(OBJPATH)/sortedNJ.o $(OBJPATH)/polytree.o $(OBJPATH)/diskMatrix.o $(OBJPATH)/rapidDisk.o $(OBJPATH)/rdDataInitialiser.o $(OBJPATH)/sortedRedundantNJ.o $(OBJPATH)/rapidDiskRedundant.o $(OBJPATH)/rapidNJMem.o $(OBJPATH)/rapidNJMemRedundant.o $(OBJPATH)/simpleNJ.o $(OBJPATH)/testNJ.o $(OBJPATH)/distanceCalculation/dnaBitString.o $(OBJPATH)/distanceCalculation/dataloaderPhylip.o $(OBJPATH)/distanceCalculation/hammingDistance.o $(OBJPATH)/distanceCalculation/bitDistanceNoGap.o $(OBJPATH)/distanceCalculation/bitDistanceGap.o $(OBJPATH)/distanceCalculation/JCdistance.o $(OBJPATH)/distanceCalculation/simpleDistanceCalculator.o $(OBJPATH)/distanceCalculation/dataloader.o $(OBJPATH)/distanceCalculation/KimuraDistance.o $(OBJPATH)/distanceCalculation/bitDistance.o $(OBJPATH)/distanceCalculation/bitDistanceProtein.o $(OBJPATH)/distanceCalculation/bitDistanceProteinPopCnt.o $(OBJPATH)/distanceCalculation/bitDistanceGapPopCnt.o $(OBJPATH)/bootstrapping/bootstrapper.o 

objects_cuda = $(OBJPATH)/distanceCalculation/gpu/distanceCalculatorDNA_gpu.o $(OBJPATH)/distanceCalculation/gpu/distanceCalculatorProtein_gpu.o


all: nj
    echo all: make complete

nj: $(objects)
    $(CC) $(DEBUG) $(SWITCHES) $(OPTIMIZATION_LEVEL) -lpthread -lboost_program_options -o $(BINPATH)/$@ $+

nj_cuda: $(objects_cuda) $(objects)
    $(CUDACC) $(DEBUG_CUDA) $(OPTIMIZATION_LEVEL) -lpthread -lboost_program_options -o $(BINPATH)/$@ $+

$(OBJPATH)/%.o: $(SRCPATH)/%.cu
    $(CUDACC) $(DEBUG_CUDA) $(INCLUDES) $(OPTIMIZATION_LEVEL) -o $@ -c $<   

# compile to objectfiles
$(OBJPATH)/%.o: $(SRCPATH)/%.cpp
    $(CC) $(DEBUG) $(SWITCHES) $(OPTIMIZATION_LEVEL) $(INCLUDES) -o $@ -c $<   

# clean target
clean:  
     -rm $(OBJPATH)/*.o
     -rm $(OBJPATH)/distanceCalculation/*.o
     -rm $(OBJPATH)/bootstrapping/*.o   
     -rm $(BINPATH)/*
     echo clean: make complete

release:
    mkdir rapidNJ
    cp -R src rapidNJ/
    cp -R obj rapidNJ/
    cp -R bin rapidNJ/
    cp Makefile rapidNJ/
    find . -name "*.~" -exec rm {} \;
    zip rapidNJ.zip rapidNJ/INSTALL rapidNJ/Makefile rapidNJ/src/* rapidNJ/src/distanceCalculation/* rapidNJ/src/distanceCalculation/gpu/* rapidNJ/src/bootstrapping/* rapidNJ/obj rapidNJ/obj/distanceCalculation rapidNJ/obj/distanceCalculation/gpu rapidNJ/obj/bootstrapping rapidNJ/bin
    rm -Rf rapidNJ/

util:   
    g++ -O3 src/distanceCalculation/sim_seq.cpp -o bin/sim_seq

#Make sure that make rebuilds files if included headers change:
$(objects): $(SRCPATH)/stdinclude.h $(SRCPATH)/sortedNJ.h $(SRCPATH)/polytree.h $(SRCPATH)/rapidDisk.h $(SRCPATH)/diskMatrix.h $(SRCPATH)/rdDataInitialiser.h $(SRCPATH)/distMatrixReader.hpp $(SRCPATH)/node.h $(SRCPATH)/sortedRedundantNJ.h $(SRCPATH)/rapidDiskRedundant.h $(SRCPATH)/rapidNJMem.h $(SRCPATH)/rapidNJMemRedundant.hpp $(SRCPATH)/simpleNJ.h $(SRCPATH)/testNJ.h $(SRCPATH)/distanceCalculation/dataloader.hpp $(SRCPATH)/distanceCalculation/hammingDistance.hpp $(SRCPATH)/distanceCalculation/bitDistanceNoGap.hpp $(SRCPATH)/distanceCalculation/bitDistanceGap.hpp $(SRCPATH)/distanceCalculation/dnaBitString.hpp $(SRCPATH)/distanceCalculation/JCdistance.hpp $(SRCPATH)/distanceCalculation/simpleDistanceCalculator.hpp $(SRCPATH)/distanceCalculation/dataloaderStockholm.hpp $(SRCPATH)/distanceCalculation/dataloaderPhylip.hpp $(SRCPATH)/distanceCalculation/KimuraDistance.hpp $(SRCPATH)/distanceCalculation/bitStringUtils.hpp $(SRCPATH)/distanceCalculation/bitDistance.hpp $(SRCPATH)/distanceCalculation/bitDistanceProtein.hpp $(SRCPATH)/distanceCalculation/dataloaderMemory.hpp $(SRCPATH)/distanceCalculation/bitDistanceProteinPopCnt.hpp $(SRCPATH)/distanceCalculation/bitDistanceGapPopCnt.hpp $(SRCPATH)/bootstrapping/bootstrapper.hpp $(SRCPATH)/distanceCalculation/gpu/constants.hpp

.pro файл и make-файл из qtcreator, который не работает:

#-------------------------------------------------
#
# Project created by QtCreator 2010-08-13T16:54:50
#
#-------------------------------------------------

QT       += core

QT       -= gui

TARGET = rapidNJ
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp \
    distMatrixReader.cpp \
    diskMatrix.cpp \
    threadedNJ.cpp \
    testNJ.cpp \
    sortedRedundantNJ.cpp \
    sortedNJ.cpp \
    simpleNJ.cpp \
    rdDataInitialiser.cpp \
    rapidNJMemRedundant.cpp \
    node.cpp \
    ninjaComparator.cpp \
    rapidNJMem.cpp \
    rapidDiskRedundant.cpp \
    rapidDisk.cpp \
    polytree.cpp \
    distanceCalculation/simpleDistanceCalculator.cpp \
    distanceCalculation/sim_seq.cpp \
    distanceCalculation/KimuraDistance.cpp \
    distanceCalculation/JCdistance.cpp \
    distanceCalculation/hammingDistance.cpp \
    distanceCalculation/dnaBitString.cpp \
    distanceCalculation/dataloaderPhylip.cpp \
    distanceCalculation/dataloader.cpp \
    distanceCalculation/bitDistanceProteinPopCnt.cpp \
    distanceCalculation/bitDistanceProtein.cpp \
    distanceCalculation/bitDistanceNoGap.cpp \
    distanceCalculation/bitDistanceGapPopCnt.cpp \
    distanceCalculation/bitDistanceGap.cpp \
    distanceCalculation/bitDistance.cpp \
    distanceCalculation/gpu/distanceCalculatorProtein_gpu.cu \
    distanceCalculation/gpu/distanceCalculatorDNA_gpu.cu \
    bootstrapping/bootstrapper.cpp

OTHER_FILES += \
    #distMatrixReader.cpp%23 \
    ninjaComparator.cpp~ \
    Makefile \
    rapidNJ.pro.user \
    distanceCalculation/dataloaderMemory.hpp~

HEADERS += \
    distMatrixReader.hpp \
    diskMatrix.h \
    cluster_pair.h \
    threadedNJ.h \
    testNJ.h \
    stdinclude.h \
    sortedRedundantNJ.h \
    sortedNJ.h \
    simpleNJ.h \
    rdDataInitialiser.h \
    rapidNJMemRedundant.hpp \
    minFinder.h \
    rapidNJMem.h \
    rapidDiskRedundant.h \
    rapidDisk.h \
    polytree.h \
    node.h \
    distanceCalculation/simpleDistanceCalculator.hpp \
    distanceCalculation/KimuraDistance.hpp \
    distanceCalculation/JCdistance.hpp \
    distanceCalculation/hammingDistance.hpp \
    distanceCalculation/dnaBitString.hpp \
    distanceCalculation/dataloaderStockholm.hpp \
    distanceCalculation/dataloaderPhylip.hpp \
    distanceCalculation/dataloaderMemory.hpp \
    distanceCalculation/dataloader.hpp \
    distanceCalculation/bitStringUtils.hpp \
    distanceCalculation/bitDistanceProteinPopCnt.hpp \
    distanceCalculation/bitDistanceProtein.hpp \
    distanceCalculation/bitDistanceNoGap.hpp \
    distanceCalculation/bitDistanceGapPopCnt.hpp \
    distanceCalculation/bitDistanceGap.hpp \
    distanceCalculation/bitDistance.hpp \
    distanceCalculation/gpu/cutil_inline_runtime.h \
    distanceCalculation/gpu/cutil_inline.h \
    distanceCalculation/gpu/cutil_inline_drvapi.h \
    distanceCalculation/gpu/cutil_inline_bankchecker.h \
    distanceCalculation/gpu/cutil.h \
    distanceCalculation/gpu/constants.hpp \
    bootstrapping/bootstrapper.hpp

INCLUDEPATH += \
    bootstrapping \
    distanceCalculation \
    /usr/include/boost/program_options \
    /usr/include/boost

заранее спасибо

Ответы [ 2 ]

1 голос
/ 16 августа 2010

[РЕШИТЬ]

ОК, я сам нашел проблемы.

Прежде всего, не все cpp-файлы используются вообще, потому что в них отсутствуют некоторые другие файлы / библиотеки, которых нет в пакете и которые не нужны для базовой программы. Также есть некоторые флаги компиляции, которые могут быть добавлены с

QMAKE_CXXFLAGS += [FLAGS]

и, наконец, что не менее важно, есть некоторый gpu-материал, который должен быть скомпилирован отдельно и не является необходимым, поэтому он должен обрабатываться с некоторым условным флайгингом

gpu {
INCLUDES += ....
SOURCES += ....
} 
1 голос
/ 13 августа 2010

и make-файл, сгенерированный qtcreator

#############################################################################
# Makefile for building: rapidNJ
# Generated by qmake (2.01a) (Qt 4.7.0) on: Fr. Aug 13 17:12:08 2010
# Project:  ../rapidNJ/rapidNJ.pro
# Template: app
# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile ../rapidNJ/rapidNJ.pro
#############################################################################

####### Compiler, tools and options

CC            = gcc
CXX           = g++
DEFINES       = -DQT_CORE_LIB -DQT_SHARED
CFLAGS        = -pipe -g -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS      = -pipe -g -Wall -W -D_REENTRANT $(DEFINES)
INCPATH       = -I/usr/share/qt4/mkspecs/linux-g++ -I../rapidNJ -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I../rapidNJ/bootstrapping -I../rapidNJ/distanceCalculation -I/usr/include -I. -I../rapidNJ -I.
LINK          = g++
LFLAGS        = 
LIBS          = $(SUBLIBS)  -L/usr/lib -lQtCore -lpthread 
AR            = ar cqs
RANLIB        = 
QMAKE         = /usr/bin/qmake-qt4
TAR           = tar -cf
COMPRESS      = gzip -9f
COPY          = cp -f
SED           = sed
COPY_FILE     = $(COPY)
COPY_DIR      = $(COPY) -r
STRIP         = strip
INSTALL_FILE  = install -m 644 -p
INSTALL_DIR   = $(COPY_DIR)
INSTALL_PROGRAM = install -m 755 -p
DEL_FILE      = rm -f
SYMLINK       = ln -f -s
DEL_DIR       = rmdir
MOVE          = mv -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p

####### Output directory

OBJECTS_DIR   = ./

####### Files

SOURCES       = ../rapidNJ/main.cpp \
        ../rapidNJ/distMatrixReader.cpp \
        ../rapidNJ/diskMatrix.cpp \
        ../rapidNJ/threadedNJ.cpp \
        ../rapidNJ/testNJ.cpp \
        ../rapidNJ/sortedRedundantNJ.cpp \
        ../rapidNJ/sortedNJ.cpp \
        ../rapidNJ/simpleNJ.cpp \
        ../rapidNJ/rdDataInitialiser.cpp \
        ../rapidNJ/rapidNJMemRedundant.cpp \
        ../rapidNJ/node.cpp \
        ../rapidNJ/ninjaComparator.cpp \
        ../rapidNJ/rapidNJMem.cpp \
        ../rapidNJ/rapidDiskRedundant.cpp \
        ../rapidNJ/rapidDisk.cpp \
        ../rapidNJ/polytree.cpp \
        ../rapidNJ/distanceCalculation/simpleDistanceCalculator.cpp \
        ../rapidNJ/distanceCalculation/sim_seq.cpp \
        ../rapidNJ/distanceCalculation/KimuraDistance.cpp \
        ../rapidNJ/distanceCalculation/JCdistance.cpp \
        ../rapidNJ/distanceCalculation/hammingDistance.cpp \
        ../rapidNJ/distanceCalculation/dnaBitString.cpp \
        ../rapidNJ/distanceCalculation/dataloaderPhylip.cpp \
        ../rapidNJ/distanceCalculation/dataloader.cpp \
        ../rapidNJ/distanceCalculation/bitDistanceProteinPopCnt.cpp \
        ../rapidNJ/distanceCalculation/bitDistanceProtein.cpp \
        ../rapidNJ/distanceCalculation/bitDistanceNoGap.cpp \
        ../rapidNJ/distanceCalculation/bitDistanceGapPopCnt.cpp \
        ../rapidNJ/distanceCalculation/bitDistanceGap.cpp \
        ../rapidNJ/distanceCalculation/bitDistance.cpp \
        ../rapidNJ/distanceCalculation/gpu/distanceCalculatorProtein_gpu.cu \
        ../rapidNJ/distanceCalculation/gpu/distanceCalculatorDNA_gpu.cu \
        ../rapidNJ/bootstrapping/bootstrapper.cpp 
OBJECTS       = main.o \
        distMatrixReader.o \
        diskMatrix.o \
        threadedNJ.o \
        testNJ.o \
        sortedRedundantNJ.o \
        sortedNJ.o \
        simpleNJ.o \
        rdDataInitialiser.o \
        rapidNJMemRedundant.o \
        node.o \
        ninjaComparator.o \
        rapidNJMem.o \
        rapidDiskRedundant.o \
        rapidDisk.o \
        polytree.o \
        simpleDistanceCalculator.o \
        sim_seq.o \
        KimuraDistance.o \
        JCdistance.o \
        hammingDistance.o \
        dnaBitString.o \
        dataloaderPhylip.o \
        dataloader.o \
        bitDistanceProteinPopCnt.o \
        bitDistanceProtein.o \
        bitDistanceNoGap.o \
        bitDistanceGapPopCnt.o \
        bitDistanceGap.o \
        bitDistance.o \
        distanceCalculatorProtein_gpu.o \
        distanceCalculatorDNA_gpu.o \
        bootstrapper.o
DIST          = /usr/share/qt4/mkspecs/common/g++.conf \
        /usr/share/qt4/mkspecs/common/unix.conf \
        /usr/share/qt4/mkspecs/common/linux.conf \
        /usr/share/qt4/mkspecs/qconfig.pri \
        /usr/share/qt4/mkspecs/features/qt_functions.prf \
        /usr/share/qt4/mkspecs/features/qt_config.prf \
        /usr/share/qt4/mkspecs/features/exclusive_builds.prf \
        /usr/share/qt4/mkspecs/features/default_pre.prf \
        /usr/share/qt4/mkspecs/features/debug.prf \
        /usr/share/qt4/mkspecs/features/default_post.prf \
        /usr/share/qt4/mkspecs/features/warn_on.prf \
        /usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
        /usr/share/qt4/mkspecs/features/qt.prf \
        /usr/share/qt4/mkspecs/features/unix/thread.prf \
        /usr/share/qt4/mkspecs/features/moc.prf \
        /usr/share/qt4/mkspecs/features/resources.prf \
        /usr/share/qt4/mkspecs/features/uic.prf \
        /usr/share/qt4/mkspecs/features/yacc.prf \
        /usr/share/qt4/mkspecs/features/lex.prf \
        /usr/share/qt4/mkspecs/features/include_source_dir.prf \
        ../rapidNJ/rapidNJ.pro
QMAKE_TARGET  = rapidNJ
DESTDIR       = 
TARGET        = rapidNJ

first: all
####### Implicit rules

.SUFFIXES: .o .c .cpp .cc .cxx .C

.cpp.o:
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cc.o:
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cxx.o:
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.C.o:
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.c.o:
    $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"

####### Build rules

all: Makefile $(TARGET)

$(TARGET):  $(OBJECTS)  
    $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)

Makefile: ../rapidNJ/rapidNJ.pro  /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/g++.conf \
        /usr/share/qt4/mkspecs/common/unix.conf \
        /usr/share/qt4/mkspecs/common/linux.conf \
        /usr/share/qt4/mkspecs/qconfig.pri \
        /usr/share/qt4/mkspecs/features/qt_functions.prf \
        /usr/share/qt4/mkspecs/features/qt_config.prf \
        /usr/share/qt4/mkspecs/features/exclusive_builds.prf \
        /usr/share/qt4/mkspecs/features/default_pre.prf \
        /usr/share/qt4/mkspecs/features/debug.prf \
        /usr/share/qt4/mkspecs/features/default_post.prf \
        /usr/share/qt4/mkspecs/features/warn_on.prf \
        /usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
        /usr/share/qt4/mkspecs/features/qt.prf \
        /usr/share/qt4/mkspecs/features/unix/thread.prf \
        /usr/share/qt4/mkspecs/features/moc.prf \
        /usr/share/qt4/mkspecs/features/resources.prf \
        /usr/share/qt4/mkspecs/features/uic.prf \
        /usr/share/qt4/mkspecs/features/yacc.prf \
        /usr/share/qt4/mkspecs/features/lex.prf \
        /usr/share/qt4/mkspecs/features/include_source_dir.prf \
        /usr/lib/libQtCore.prl
    $(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile ../rapidNJ/rapidNJ.pro
/usr/share/qt4/mkspecs/common/g++.conf:
/usr/share/qt4/mkspecs/common/unix.conf:
/usr/share/qt4/mkspecs/common/linux.conf:
/usr/share/qt4/mkspecs/qconfig.pri:
/usr/share/qt4/mkspecs/features/qt_functions.prf:
/usr/share/qt4/mkspecs/features/qt_config.prf:
/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
/usr/share/qt4/mkspecs/features/default_pre.prf:
/usr/share/qt4/mkspecs/features/debug.prf:
/usr/share/qt4/mkspecs/features/default_post.prf:
/usr/share/qt4/mkspecs/features/warn_on.prf:
/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri:
/usr/share/qt4/mkspecs/features/qt.prf:
/usr/share/qt4/mkspecs/features/unix/thread.prf:
/usr/share/qt4/mkspecs/features/moc.prf:
/usr/share/qt4/mkspecs/features/resources.prf:
/usr/share/qt4/mkspecs/features/uic.prf:
/usr/share/qt4/mkspecs/features/yacc.prf:
/usr/share/qt4/mkspecs/features/lex.prf:
/usr/share/qt4/mkspecs/features/include_source_dir.prf:
/usr/lib/libQtCore.prl:
qmake:  FORCE
    @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile ../rapidNJ/rapidNJ.pro

dist: 
    @$(CHK_DIR_EXISTS) ../rapidNJ/.tmp/rapidNJ1.0.0 || $(MKDIR) ../rapidNJ/.tmp/rapidNJ1.0.0 
    $(COPY_FILE) --parents $(SOURCES) $(DIST) ../rapidNJ/.tmp/rapidNJ1.0.0/ && $(COPY_FILE) --parents ../rapidNJ/distMatrixReader.hpp ../rapidNJ/diskMatrix.h ../rapidNJ/cluster_pair.h ../rapidNJ/threadedNJ.h ../rapidNJ/testNJ.h ../rapidNJ/stdinclude.h ../rapidNJ/sortedRedundantNJ.h ../rapidNJ/sortedNJ.h ../rapidNJ/simpleNJ.h ../rapidNJ/rdDataInitialiser.h ../rapidNJ/rapidNJMemRedundant.hpp ../rapidNJ/minFinder.h ../rapidNJ/rapidNJMem.h ../rapidNJ/rapidDiskRedundant.h ../rapidNJ/rapidDisk.h ../rapidNJ/polytree.h ../rapidNJ/node.h ../rapidNJ/distanceCalculation/simpleDistanceCalculator.hpp ../rapidNJ/distanceCalculation/KimuraDistance.hpp ../rapidNJ/distanceCalculation/JCdistance.hpp ../rapidNJ/distanceCalculation/hammingDistance.hpp ../rapidNJ/distanceCalculation/dnaBitString.hpp ../rapidNJ/distanceCalculation/dataloaderStockholm.hpp ../rapidNJ/distanceCalculation/dataloaderPhylip.hpp ../rapidNJ/distanceCalculation/dataloaderMemory.hpp ../rapidNJ/distanceCalculation/dataloader.hpp ../rapidNJ/distanceCalculation/bitStringUtils.hpp ../rapidNJ/distanceCalculation/bitDistanceProteinPopCnt.hpp ../rapidNJ/distanceCalculation/bitDistanceProtein.hpp ../rapidNJ/distanceCalculation/bitDistanceNoGap.hpp ../rapidNJ/distanceCalculation/bitDistanceGapPopCnt.hpp ../rapidNJ/distanceCalculation/bitDistanceGap.hpp ../rapidNJ/distanceCalculation/bitDistance.hpp ../rapidNJ/distanceCalculation/gpu/cutil_inline_runtime.h ../rapidNJ/distanceCalculation/gpu/cutil_inline.h ../rapidNJ/distanceCalculation/gpu/cutil_inline_drvapi.h ../rapidNJ/distanceCalculation/gpu/cutil_inline_bankchecker.h ../rapidNJ/distanceCalculation/gpu/cutil.h ../rapidNJ/distanceCalculation/gpu/constants.hpp ../rapidNJ/bootstrapping/bootstrapper.hpp ../rapidNJ/.tmp/rapidNJ1.0.0/ && $(COPY_FILE) --parents ../rapidNJ/main.cpp ../rapidNJ/distMatrixReader.cpp ../rapidNJ/diskMatrix.cpp ../rapidNJ/threadedNJ.cpp ../rapidNJ/testNJ.cpp ../rapidNJ/sortedRedundantNJ.cpp ../rapidNJ/sortedNJ.cpp ../rapidNJ/simpleNJ.cpp ../rapidNJ/rdDataInitialiser.cpp ../rapidNJ/rapidNJMemRedundant.cpp ../rapidNJ/node.cpp ../rapidNJ/ninjaComparator.cpp ../rapidNJ/rapidNJMem.cpp ../rapidNJ/rapidDiskRedundant.cpp ../rapidNJ/rapidDisk.cpp ../rapidNJ/polytree.cpp ../rapidNJ/distanceCalculation/simpleDistanceCalculator.cpp ../rapidNJ/distanceCalculation/sim_seq.cpp ../rapidNJ/distanceCalculation/KimuraDistance.cpp ../rapidNJ/distanceCalculation/JCdistance.cpp ../rapidNJ/distanceCalculation/hammingDistance.cpp ../rapidNJ/distanceCalculation/dnaBitString.cpp ../rapidNJ/distanceCalculation/dataloaderPhylip.cpp ../rapidNJ/distanceCalculation/dataloader.cpp ../rapidNJ/distanceCalculation/bitDistanceProteinPopCnt.cpp ../rapidNJ/distanceCalculation/bitDistanceProtein.cpp ../rapidNJ/distanceCalculation/bitDistanceNoGap.cpp ../rapidNJ/distanceCalculation/bitDistanceGapPopCnt.cpp ../rapidNJ/distanceCalculation/bitDistanceGap.cpp ../rapidNJ/distanceCalculation/bitDistance.cpp ../rapidNJ/distanceCalculation/gpu/distanceCalculatorProtein_gpu.cu ../rapidNJ/distanceCalculation/gpu/distanceCalculatorDNA_gpu.cu ../rapidNJ/bootstrapping/bootstrapper.cpp ../rapidNJ/.tmp/rapidNJ1.0.0/ && (cd `dirname ../rapidNJ/.tmp/rapidNJ1.0.0` && $(TAR) rapidNJ1.0.0.tar rapidNJ1.0.0 && $(COMPRESS) rapidNJ1.0.0.tar) && $(MOVE) `dirname ../rapidNJ/.tmp/rapidNJ1.0.0`/rapidNJ1.0.0.tar.gz . && $(DEL_FILE) -r ../rapidNJ/.tmp/rapidNJ1.0.0


clean:compiler_clean 
    -$(DEL_FILE) $(OBJECTS)
    -$(DEL_FILE) *~ core *.core


####### Sub-libraries

distclean: clean
    -$(DEL_FILE) $(TARGET) 
    -$(DEL_FILE) Makefile


check: first

mocclean: compiler_moc_header_clean compiler_moc_source_clean

mocables: compiler_moc_header_make_all compiler_moc_source_make_all

compiler_moc_header_make_all:
compiler_moc_header_clean:
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
    -$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all:
compiler_uic_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: 

####### Compile

main.o: ../rapidNJ/main.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/sortedNJ.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/distMatrixReader.hpp \
        ../rapidNJ/cluster_pair.h \
        ../rapidNJ/rapidDisk.h \
        ../rapidNJ/diskMatrix.h \
        ../rapidNJ/rdDataInitialiser.h \
        ../rapidNJ/sortedRedundantNJ.h \
        ../rapidNJ/rapidDiskRedundant.h \
        ../rapidNJ/rapidNJMem.h \
        ../rapidNJ/rapidNJMemRedundant.hpp \
        ../rapidNJ/simpleNJ.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../rapidNJ/main.cpp

distMatrixReader.o: ../rapidNJ/distMatrixReader.cpp ../rapidNJ/distMatrixReader.hpp \
        ../rapidNJ/polytree.h \
        ../rapidNJ/stdinclude.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o distMatrixReader.o ../rapidNJ/distMatrixReader.cpp

diskMatrix.o: ../rapidNJ/diskMatrix.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/diskMatrix.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o diskMatrix.o ../rapidNJ/diskMatrix.cpp

threadedNJ.o: ../rapidNJ/threadedNJ.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/threadedNJ.h \
        ../rapidNJ/node.h \
        ../rapidNJ/minFinder.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o threadedNJ.o ../rapidNJ/threadedNJ.cpp

testNJ.o: ../rapidNJ/testNJ.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/testNJ.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/distMatrixReader.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o testNJ.o ../rapidNJ/testNJ.cpp

sortedRedundantNJ.o: ../rapidNJ/sortedRedundantNJ.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/sortedRedundantNJ.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/distMatrixReader.hpp \
        ../rapidNJ/cluster_pair.h \
        ../rapidNJ/testNJ.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sortedRedundantNJ.o ../rapidNJ/sortedRedundantNJ.cpp

sortedNJ.o: ../rapidNJ/sortedNJ.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/sortedNJ.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/distMatrixReader.hpp \
        ../rapidNJ/cluster_pair.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sortedNJ.o ../rapidNJ/sortedNJ.cpp

simpleNJ.o: ../rapidNJ/simpleNJ.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/simpleNJ.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/distMatrixReader.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o simpleNJ.o ../rapidNJ/simpleNJ.cpp

rdDataInitialiser.o: ../rapidNJ/rdDataInitialiser.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/rdDataInitialiser.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/diskMatrix.h \
        ../rapidNJ/cluster_pair.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o rdDataInitialiser.o ../rapidNJ/rdDataInitialiser.cpp

rapidNJMemRedundant.o: ../rapidNJ/rapidNJMemRedundant.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/rapidNJMemRedundant.hpp \
        ../rapidNJ/polytree.h \
        ../rapidNJ/distMatrixReader.hpp \
        ../rapidNJ/cluster_pair.h \
        ../rapidNJ/testNJ.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o rapidNJMemRedundant.o ../rapidNJ/rapidNJMemRedundant.cpp

node.o: ../rapidNJ/node.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/node.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o node.o ../rapidNJ/node.cpp

ninjaComparator.o: ../rapidNJ/ninjaComparator.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/testNJ.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/distMatrixReader.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ninjaComparator.o ../rapidNJ/ninjaComparator.cpp

rapidNJMem.o: ../rapidNJ/rapidNJMem.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/rapidNJMem.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/distMatrixReader.hpp \
        ../rapidNJ/cluster_pair.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o rapidNJMem.o ../rapidNJ/rapidNJMem.cpp

rapidDiskRedundant.o: ../rapidNJ/rapidDiskRedundant.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/rapidDiskRedundant.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/cluster_pair.h \
        ../rapidNJ/diskMatrix.h \
        ../rapidNJ/rdDataInitialiser.h \
        ../rapidNJ/distMatrixReader.hpp \
        ../rapidNJ/testNJ.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o rapidDiskRedundant.o ../rapidNJ/rapidDiskRedundant.cpp

rapidDisk.o: ../rapidNJ/rapidDisk.cpp ../rapidNJ/rapidDisk.h \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/cluster_pair.h \
        ../rapidNJ/diskMatrix.h \
        ../rapidNJ/rdDataInitialiser.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o rapidDisk.o ../rapidNJ/rapidDisk.cpp

polytree.o: ../rapidNJ/polytree.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/polytree.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o polytree.o ../rapidNJ/polytree.cpp

simpleDistanceCalculator.o: ../rapidNJ/distanceCalculation/simpleDistanceCalculator.cpp ../rapidNJ/distanceCalculation/simpleDistanceCalculator.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o simpleDistanceCalculator.o ../rapidNJ/distanceCalculation/simpleDistanceCalculator.cpp

sim_seq.o: ../rapidNJ/distanceCalculation/sim_seq.cpp 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o sim_seq.o ../rapidNJ/distanceCalculation/sim_seq.cpp

KimuraDistance.o: ../rapidNJ/distanceCalculation/KimuraDistance.cpp ../rapidNJ/distanceCalculation/KimuraDistance.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp \
        ../rapidNJ/distanceCalculation/bitDistance.hpp \
        ../rapidNJ/distanceCalculation/simpleDistanceCalculator.hpp \
        ../rapidNJ/distanceCalculation/bitDistanceProteinPopCnt.hpp \
        ../rapidNJ/distanceCalculation/bitStringUtils.hpp \
        ../rapidNJ/distanceCalculation/bitDistanceGapPopCnt.hpp \
        ../rapidNJ/distanceCalculation/bitDistanceNoGap.hpp \
        ../rapidNJ/distanceCalculation/bitDistanceGap.hpp \
        ../rapidNJ/distanceCalculation/bitDistanceProtein.hpp \
        ../rapidNJ/distanceCalculation/dnaBitString.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o KimuraDistance.o ../rapidNJ/distanceCalculation/KimuraDistance.cpp

JCdistance.o: ../rapidNJ/distanceCalculation/JCdistance.cpp ../rapidNJ/distanceCalculation/JCdistance.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp \
        ../rapidNJ/distanceCalculation/bitDistanceNoGap.hpp \
        ../rapidNJ/distanceCalculation/bitDistance.hpp \
        ../rapidNJ/distanceCalculation/bitDistanceGap.hpp \
        ../rapidNJ/distanceCalculation/dnaBitString.hpp \
        ../rapidNJ/distanceCalculation/simpleDistanceCalculator.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o JCdistance.o ../rapidNJ/distanceCalculation/JCdistance.cpp

hammingDistance.o: ../rapidNJ/distanceCalculation/hammingDistance.cpp ../rapidNJ/distanceCalculation/simpleDistanceCalculator.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp \
        ../rapidNJ/distanceCalculation/hammingDistance.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o hammingDistance.o ../rapidNJ/distanceCalculation/hammingDistance.cpp

dnaBitString.o: ../rapidNJ/distanceCalculation/dnaBitString.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dnaBitString.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dnaBitString.o ../rapidNJ/distanceCalculation/dnaBitString.cpp

dataloaderPhylip.o: ../rapidNJ/distanceCalculation/dataloaderPhylip.cpp ../rapidNJ/distanceCalculation/dataloaderPhylip.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp \
        ../rapidNJ/distanceCalculation/dnaBitString.hpp \
        ../rapidNJ/distanceCalculation/bitStringUtils.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dataloaderPhylip.o ../rapidNJ/distanceCalculation/dataloaderPhylip.cpp

dataloader.o: ../rapidNJ/distanceCalculation/dataloader.cpp ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dataloader.o ../rapidNJ/distanceCalculation/dataloader.cpp

bitDistanceProteinPopCnt.o: ../rapidNJ/distanceCalculation/bitDistanceProteinPopCnt.cpp ../rapidNJ/distanceCalculation/bitDistanceProteinPopCnt.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp \
        ../rapidNJ/distanceCalculation/bitDistance.hpp \
        ../rapidNJ/distanceCalculation/bitStringUtils.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o bitDistanceProteinPopCnt.o ../rapidNJ/distanceCalculation/bitDistanceProteinPopCnt.cpp

bitDistanceProtein.o: ../rapidNJ/distanceCalculation/bitDistanceProtein.cpp ../rapidNJ/distanceCalculation/bitDistanceProtein.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp \
        ../rapidNJ/distanceCalculation/bitDistance.hpp \
        ../rapidNJ/distanceCalculation/bitStringUtils.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o bitDistanceProtein.o ../rapidNJ/distanceCalculation/bitDistanceProtein.cpp

bitDistanceNoGap.o: ../rapidNJ/distanceCalculation/bitDistanceNoGap.cpp ../rapidNJ/distanceCalculation/bitDistanceNoGap.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp \
        ../rapidNJ/distanceCalculation/bitDistance.hpp \
        ../rapidNJ/distanceCalculation/dnaBitString.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o bitDistanceNoGap.o ../rapidNJ/distanceCalculation/bitDistanceNoGap.cpp

bitDistanceGapPopCnt.o: ../rapidNJ/distanceCalculation/bitDistanceGapPopCnt.cpp ../rapidNJ/distanceCalculation/bitDistanceGapPopCnt.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp \
        ../rapidNJ/distanceCalculation/bitDistance.hpp \
        ../rapidNJ/distanceCalculation/bitStringUtils.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o bitDistanceGapPopCnt.o ../rapidNJ/distanceCalculation/bitDistanceGapPopCnt.cpp

bitDistanceGap.o: ../rapidNJ/distanceCalculation/bitDistanceGap.cpp ../rapidNJ/distanceCalculation/bitDistanceGap.hpp \
        ../rapidNJ/stdinclude.h \
        ../rapidNJ/distanceCalculation/dataloader.hpp \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp \
        ../rapidNJ/distanceCalculation/bitDistance.hpp \
        ../rapidNJ/distanceCalculation/bitStringUtils.hpp
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o bitDistanceGap.o ../rapidNJ/distanceCalculation/bitDistanceGap.cpp

bitDistance.o: ../rapidNJ/distanceCalculation/bitDistance.cpp ../rapidNJ/distanceCalculation/bitDistance.hpp \
        ../rapidNJ/stdinclude.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o bitDistance.o ../rapidNJ/distanceCalculation/bitDistance.cpp

distanceCalculatorProtein_gpu.o: ../rapidNJ/distanceCalculation/gpu/distanceCalculatorProtein_gpu.cu ../rapidNJ/distanceCalculation/gpu/constants.hpp
    $(CC) -c $(CFLAGS) $(INCPATH) -o distanceCalculatorProtein_gpu.o ../rapidNJ/distanceCalculation/gpu/distanceCalculatorProtein_gpu.cu

distanceCalculatorDNA_gpu.o: ../rapidNJ/distanceCalculation/gpu/distanceCalculatorDNA_gpu.cu ../rapidNJ/distanceCalculation/gpu/cutil_inline.h \
        ../rapidNJ/distanceCalculation/gpu/constants.hpp
    $(CC) -c $(CFLAGS) $(INCPATH) -o distanceCalculatorDNA_gpu.o ../rapidNJ/distanceCalculation/gpu/distanceCalculatorDNA_gpu.cu

bootstrapper.o: ../rapidNJ/bootstrapping/bootstrapper.cpp ../rapidNJ/stdinclude.h \
        ../rapidNJ/bootstrapping/bootstrapper.hpp \
        ../rapidNJ/sortedRedundantNJ.h \
        ../rapidNJ/polytree.h \
        ../rapidNJ/distMatrixReader.hpp \
        ../rapidNJ/cluster_pair.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o bootstrapper.o ../rapidNJ/bootstrapping/bootstrapper.cpp

####### Install

install:   FORCE

uninstall:   FORCE

FORCE:
...