forked from E3V3A/gsm-parser
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
83 lines (67 loc) · 1.51 KB
/
Makefile
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
CC = gcc
CFLAGS = -Wall -O3 -ggdb -I. -I/usr/include/asn1c -fPIC $(EXTRA_CFLAGS)
LDFLAGS = -losmocore -losmogsm -lasn1c -lm -losmo-asn1-rrc $(EXTRA_LDFLAGS)
OBJ = \
address.o \
assignment.o \
bit_func.o \
ccch.o \
cch.o \
chan_detect.o \
crc.o \
umts_rrc.o \
lte_eps.o \
diag_input.o \
gprs.o \
gsm_interleave.o \
cell_info.o \
l3_handler.o \
output.o \
process.o \
punct.o \
rand_check.o \
rlcmac.o \
sch.o \
session.o \
sms.o \
tch.o \
viterbi.o
TOOLS = diag_import hex_import gsmtap_import analyze.sh
ifeq ($(MYSQL),1)
CFLAGS += -DUSE_MYSQL $(shell mysql_config --cflags)
LDFLAGS += $(shell mysql_config --libs)
OBJ += mysql_api.o
TOOLS += db_import
endif
ifeq ($(SQLITE),1)
CFLAGS += -DUSE_SQLITE
LDFLAGS += -lsqlite3
OBJ += sqlite_api.o
endif
%.o: %.c %.h
$(CC) -c -o $@ $< $(CFLAGS)
all: $(TOOLS)
libmetagsm.so: $(OBJ)
$(CC) -o $@ $^ -shared -fPIC $(LDFLAGS)
libmetagsm.a: $(OBJ)
ar rcs $@ $^
hex_import: hex_import.o libmetagsm.a
$(CC) -o $@ $^ $(LDFLAGS)
diag_import: diag_import.o libmetagsm.a
$(CC) -o $@ $^ $(LDFLAGS)
gsmtap_import: gsmtap_import.o libmetagsm.a
$(CC) -o $@ $^ $(LDFLAGS) -lpcap
db_import: db_import.o libmetagsm.a
$(CC) -o $@ $^ $(LDFLAGS)
analyze.sh: analyze_header.in cell_info.sql si.sql sms.sql analyze_footer.in
cat $^ >> $@
chmod 755 $@
clean:
@rm -f *.o libmetagsm* *.so
@rm -f $(TOOLS)
database:
@rm metadata.db
@sqlite3 metadata.db < si.sql
@sqlite3 metadata.db < sms.sql
@sqlite3 metadata.db < cell_info.sql
.PHONY: all clean database