File: Makefile

package info (click to toggle)
libmstoolkit 82-7.2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 776 kB
  • sloc: cpp: 10,999; ansic: 109; makefile: 86; sh: 20
file content (99 lines) | stat: -rw-r--r-- 3,610 bytes parent folder | download | duplicates (3)
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