SHELL = /bin/sh
.SUFFIXES:
.SUFFIXES: .cpp .o
CC = g++
CFLAGS = -g -DDEBUG -D_CONSOLE -O3 -funroll-loops
LDFLAGS = -lm

OBJS =  PepNovo_main.o AnnotatedSpecturm.o auxfun.o base64.o BasicDataStructs.o Config.o\
	ConversionTables.o DeNovoDp.o DeNovoSolutions.o DiscretePeakModel.o EdgeModel.o FileManagement.o\
	Fragmentation.o FragmentSelection.o FragProbTable.o Isotopes.o MassRangeMap.o ME_REG.o\
	ME_Regression_DataSet.o ME_Regression_Model.o Model.o MultiPath.o MZXML_parsing.o\
	PrmGraph.o PTM_stuff.o RegionalPepNovoModel.o RegularRankModel.o ScoreDoubleAA.o\
    ScoreSingleAA.o Spectrum.o TagModel.o PMCSQS.o PMCSQS_model.o QCBasicSpecReader.o QuickClusteringSpectra.o

HDRS = AnnotatedSpectrum.h auxfun.h base64.h BasicDataStructs.h Config.h ConversionTables.h\
       DeNovoDp.h DeNovoSolutions.h DiscretePeakModel.h EdgeModel.h FileManagement.h Fragmentation.h\
       FragmentSelection.h FragProbTable.h includes.h Isotopes.h ME_REG.h Model.h\
       PrmGraph.h RegionalPepNovoModel.h RegularRankModel.h ScoreDoubleAA.h\
       ScoreSingleAA.h Spectrum.h TagModel.h PMCSQS.h

EXE = PepNovo_bin

all: $(EXE)

.o.o: $(HDRS)
	$(CC) $(CFLAGS) -c $<

$(EXE): $(OBJS)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(EXE) $(OBJS)

clean-objs:
	@rm -f $(OBJS) $(MPI_OBJS)

clean-exe:
	@rm -f $(EXE) $(MPI_EXE) 

clean: clean-objs clean-exe