1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
#Set your paths here.
MZPARSER_PATH = ./src/mzParser
MST_PATH = ./src/MSToolkit
HEADER_PATH = ./include
MZPARSER = mzp.MSNumpress.o mzp.mzp_base64.o mzp.BasicSpectrum.o mzp.mzParser.o mzp.RAMPface.o mzp.saxhandler.o mzp.saxmzmlhandler.o \
mzp.saxmzxmlhandler.o mzp.Czran.o mzp.mz5handler.o mzp.mzpMz5Config.o mzp.mzpMz5Structs.o mzp.BasicChromatogram.o mzp.PWIZface.o
MZPARSERLITE = mzp.MSNumpress.o mzp.mzp_base64_lite.o mzp.BasicSpectrum_lite.o mzp.mzParser_lite.o mzp.RAMPface_lite.o mzp.saxhandler_lite.o mzp.saxmzmlhandler_lite.o \
mzp.saxmzxmlhandler_lite.o mzp.Czran_lite.o mzp.mz5handler_lite.o mzp.mzpMz5Config_lite.o mzp.mzpMz5Structs_lite.o mzp.BasicChromatogram_lite.o mzp.PWIZface_lite.o
MSTOOLKIT = Spectrum.o MSObject.o mzMLWriter.o pepXMLWriter.o
READER = MSReader.o
READERLITE = MSReaderLite.o
CC = g++
GCC = gcc
NOSQLITE = -D_NOSQLITE
SOVER = 82
RELVER = $(SOVER).0.0
AR_CFLAGS = -O3 -static -g -I. -I$(HEADER_PATH) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DGCC -DHAVE_EXPAT_CONFIG_H
SO_CFLAGS = -O3 -shared -fPIC -g -I. -I$(HEADER_PATH) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DGCC -DHAVE_EXPAT_CONFIG_H
LIBS = -lm -lpthread -ldl -lz -lsqlite3 -lexpat
CLEAN_LIBS = libmstoolkitlite.a libmstoolkitlite.so libmstoolkitlite.so.$(SOVER)* libmstoolkit.a libmstoolkit.so libmstoolkit.so.$(SOVER)*
all:
make arlib
make solib
.PHONY: objects
objects: $(MZPARSER) $(MZPARSERLITE) $(MSTOOLKIT) $(READER) $(READERLITE)
arlib: CFLAGS = $(AR_CFLAGS)
arlib: clean_objects objects
ar rcs libmstoolkitlite.a $(MZPARSERLITE) $(MSTOOLKIT) $(READERLITE)
ar rcs libmstoolkit.a $(MZPARSER) $(MSTOOLKIT) $(READER)
# $(CC) $(CFLAGS) MSTDemo.cpp -L. -lmstoolkitlite -o MSTDemo
# $(CC) $(CFLAGS) -I./include MSSingleScan/MSSingleScan.cpp -L. -lmstoolkitlite -o msSingleScan.static
# $(CC) $(CFLAGS) MSConvertFile.cpp -L. -lmstoolkitlite -o MSConvertFile
solib: CFLAGS = $(SO_CFLAGS)
solib: clean_objects objects
$(CC) $(CFLAGS) -o libmstoolkitlite.so.$(RELVER) -Wl,-z,relro -Wl,-soname,libmstoolkitlite.so.$(SOVER) $(MZPARSERLITE) $(MSTOOLKIT) $(READERLITE) $(LIBS)
ln -sf libmstoolkitlite.so.$(RELVER) libmstoolkitlite.so.$(SOVER)
ln -sf libmstoolkitlite.so.$(SOVER) libmstoolkitlite.so
$(CC) $(CFLAGS) -o libmstoolkit.so.$(RELVER) -Wl,-z,relro -Wl,-soname,libmstoolkit.so.$(SOVER) $(MZPARSER) $(MSTOOLKIT) $(READER) $(LIBS)
ln -sf libmstoolkit.so.$(RELVER) libmstoolkit.so.$(SOVER)
ln -sf libmstoolkit.so.$(SOVER) libmstoolkit.so
# Be careful not to include in the linker command line below the compilation -shared -fPIC flags!
$(CC) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DGCC -DHAVE_EXPAT_CONFIG_H -I./include -L. MSSingleScan/MSSingleScan.cpp -o msSingleScan $(LIBS) -lmstoolkitlite
clean_objects:
rm -f *.o msSingleScan.*
clean_libs:
rm -f $(CLEAN_LIBS)
clean: clean_libs clean_objects
#mzParser objects
mzp.%.o : $(MZPARSER_PATH)/%.cpp
$(CC) $(CFLAGS) $(MZ5) $< -c -o $@
#mzParserLite objects
mzp.%_lite.o : $(MZPARSER_PATH)/%.cpp
$(CC) $(CFLAGS) $< -c -o $@
#MSToolkit objects
Spectrum.o : $(MST_PATH)/Spectrum.cpp
$(CC) $(CFLAGS) $(MST_PATH)/Spectrum.cpp -c
MSReader.o : $(MST_PATH)/MSReader.cpp
$(CC) $(CFLAGS) $(MZ5) $(MST_PATH)/MSReader.cpp -c
MSReaderLite.o : $(MST_PATH)/MSReader.cpp
$(CC) $(CFLAGS) $(NOSQLITE) $(MST_PATH)/MSReader.cpp -c -o MSReaderLite.o
MSObject.o : $(MST_PATH)/MSObject.cpp
$(CC) $(CFLAGS) $(MST_PATH)/MSObject.cpp -c
mzMLWriter.o : $(MST_PATH)/mzMLWriter.cpp
$(CC) $(CFLAGS) $(MST_PATH)/mzMLWriter.cpp -c
pepXMLWriter.o : $(MST_PATH)/pepXMLWriter.cpp
$(CC) $(CFLAGS) $(MST_PATH)/pepXMLWriter.cpp -c
|