1 CXX:= g++ --std=c++14 -O2
\r
7 SUBSCR:=$(E2AP_c)/subscription
\r
8 ASN1C_DEFS:=../asn1c_defs/all-defs
\r
9 KPI_HANDLER:=./KPI-Message-Handler
\r
10 KPI_MONITOR:=./KPI-Monitoring
\r
12 # Logging library and flags
\r
13 CLOGFLAGS:= `pkg-config mdclog --cflags`
\r
14 LOG_LIBS:= `pkg-config mdclog --libs`
\r
15 HIREDIS_LIBS:= `pkg-config hiredis --libs`
\r
17 # Keep include dirs separate so we have transparency
\r
18 BASEFLAGS= -Wall -std=c++14 $(CLOGFLAGS)
\r
21 ASN1C_FLAGS=-I$(ASN1C_DEFS) -DASN_DISABLE_OER_SUPPORT
\r
22 SUBSCRFLAGS= -I$(SUBSCR)
\r
23 E2AP_C_FLAGS = -I$(E2AP_c)
\r
24 E2SM_FLAGS = -I$(E2SM)
\r
25 KPI_HANDLER_FLAGS = -I$(KPI_HANDLER)
\r
26 KPI_MONITOR_FLAGS = -I$(KPI_MONITOR)
\r
27 C_BASEFLAGS=-Wall $(CLOGFLAGS) -DASN_DISABLE_OER_SUPPORT
\r
29 LIBS= -lrmr_nng -lnng -lpthread -lm $(LOG_LIBS) $(HIREDIS_LIBS)
\r
30 COV_FLAGS= -fprofile-arcs -ftest-coverage
\r
32 XAPP_SRC= kpi-xapp.cc \
\r
34 message_processor_class.cc \
\r
37 SUBSCR_SRC= $(wildcard $(SUBSCR)/*.cc)
\r
38 E2AP_C_SRC =$(wildcard $(E2AP_c)/*.cc)
\r
39 E2SM_SRC = $(wildcard $(E2SM)/*.cc)
\r
40 ASN1C_SRC= $(wildcard $(ASN1C_DEFS)/*.c)
\r
41 KPI_HANDLER_SRC = $(wildcard $(KPI_HANDLER)/*.cc)
\r
42 KPI_MONITOR_SRC = $(wildcard $(KPI_MONITOR)/*.cc)
\r
44 XAPP_OBJ= ${XAPP_SRC:.cc=.o}
\r
45 SUBSCR_OBJ= ${SUBSCR_SRC:.cc=.o}
\r
46 E2AP_C_OBJ = $(E2AP_C_SRC:.cc=.o)
\r
47 E2SM_OBJ = $(E2SM_SRC:.cc=.o)
\r
48 KPI_HANDLER_OBJ = $(KPI_HANDLER_SRC:.cc=.o)
\r
49 KPI_MONITOR_OBJ = $(KPI_MONITOR_SRC:.cc=.o)
\r
50 ASN1C_MODULES = $(ASN1C_SRC:.c=.o)
\r
52 $(ASN1C_MODULES): export CFLAGS = $(C_BASEFLAGS) $(ASN1C_FLAGS)
\r
53 $(SUBSCR_OBJ): export CPPFLAGS=$(BASEFLAGS) $(ASN1C_FLAGS) $(E2AP_C_FLAGS) $(SUBSCRFLAGS)
\r
54 $(E2AP_C_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(E2AP_C_FLAGS)
\r
55 $(E2SM_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(E2SM_FLAGS)
\r
56 $(KPI_HANDLER_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(KPI_HANDLER_FLAGS) $(KPI_MONITOR_FLAGS)
\r
57 $(KPI_MONITOR_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(KPI_MONITOR_FLAGS)
\r
58 $(XAPP_OBJ):export CPPFLAGS=$(BASEFLAGS) $(SUBSCRFLAGS) $(E2AP_C_FLAGS) $(ASN1C_FLAGS) $(E2SM_FLAGS) $(XAPPFLAGS) $(KPI_HANDLER_FLAGS) $(KPI_MONITOR_FLAGS)
\r
60 OBJ= $(SUBSCR_OBJ) $(XAPP_OBJ) $(E2AP_C_OBJ) $(ASN1C_MODULES) $(E2SM_OBJ) $(KPI_HANDLER_OBJ) $(KPI_MONITOR_OBJ)
\r
63 $(CXX) -o $@ $(OBJ) $(LIBS) $(CPPFLAGS) $(CLOGFLAGS)
\r
66 install -D kpi-xapp /usr/local/bin/kpi-xapp
\r
69 -rm *.o $(E2AP_c)/*.o $(SUBSCR)/*.o $(E2SM)/*.o $(KPI_HANDLER)/*.o $(KPI_MONITOR)/*.o kpi-xapp
\r