Updated documentation for mock a1 tool
[ric-app/admin.git] / src / Makefile
1 CXX:= g++ --std=c++14 -O2
2 CC:= gcc -O2
3
4 SRC:=./
5 E2AP_c:=./E2AP-c
6 E2SM := ./E2SM
7 X2AP:=./X2AP
8 SUBSCR:=$(E2AP_c)/subscription
9
10 PLUGININTERFACE :=./plugin-interface
11 CURL := ./curl
12 PLUGIN:=./protector-plugin
13 ASN1C_DEFS:=../asn1c_defs
14
15 # Logging library and flags
16 CLOGFLAGS:= `pkg-config mdclog --cflags`
17 LOG_LIBS:= `pkg-config mdclog --libs`
18 CURL_LIBS:= `pkg-config libcurl --libs`
19
20 # Keep include dirs separate so we have transparency
21 BASEFLAGS=  -Wall  -std=c++14 $(CLOGFLAGS) 
22
23 XAPPFLAGS= -I./
24 ASN1C_FLAGS=-I$(ASN1C_DEFS) -DASN_DISABLE_OER_SUPPORT
25 SUBSCRFLAGS=  -I$(SUBSCR)
26
27 X2FLAGS=  -I$(X2AP) 
28 PLUGINFLAGS = -I$(PLUGIN)
29 PLUGININTERFACEFLAGS = -I$(PLUGININTERFACE)
30 CURLFLAGS = -I$(CURL)
31 E2AP_C_FLAGS = -I$(E2AP_c)
32 E2SM_FLAGS = -I$(E2SM)
33 C_BASEFLAGS=-Wall $(CLOGFLAGS) -DASN_DISABLE_OER_SUPPORT
34
35 LIBS= -lrmr_nng  -lnng -lpthread -lm $(LOG_LIBS) $(CURL_LIBS)
36 COV_FLAGS= -fprofile-arcs -ftest-coverage
37
38 XAPP_SRC= adm-ctrl-xapp.cc \
39      xapp_utils.cc \
40      message_processor_class.cc \
41      get_config.cc \
42      admission_init_routines.cc
43
44 CURL_SRC=$(wildcard $(CURL)/*.cc)
45
46 SUBSCR_SRC= $(wildcard $(SUBSCR)/*.cc)
47 X2AP_SRC = $(wildcard $(X2AP)/*.cc)
48 PLUGINS_SRC = $(wildcard $(PLUGIN)/*.cc)
49 PLUGININTERFACE_SRC = $(wildcard $(PLUGININTERFACE)/*.cc)
50 E2AP_C_SRC =$(wildcard $(E2AP_c)/*.cc)
51 E2SM_SRC = $(wildcard $(E2SM)/*.cc)
52 ASN1C_SRC= $(wildcard $(ASN1C_DEFS)/*.c)
53
54 CURL_OBJ = $(CURL_SRC:.cc=.o)
55
56 XAPP_OBJ= ${XAPP_SRC:.cc=.o} 
57 SUBSCR_OBJ= ${SUBSCR_SRC:.cc=.o} 
58 X2AP_OBJ= ${X2AP_SRC:.cc=.o}
59 PLUGINS_OBJ = ${PLUGINS_SRC:.cc=.o}
60 PLUGININTERFACE_OBJ = $(PLUGININTERFACE_SRC:.cc=.o)
61 E2AP_C_OBJ = $(E2AP_C_SRC:.cc=.o)
62 E2SM_OBJ = $(E2SM_SRC:.cc=.o)
63 ASN1C_MODULES = $(ASN1C_SRC:.c=.o)
64
65 $(ASN1C_MODULES): export CFLAGS = $(C_BASEFLAGS) $(ASN1C_FLAGS)
66 $(CURL_OBJ):export CPPFLAGS=$(BASEFLAGS) $(CURLFLAGS)
67
68 $(PLUGININTERFACE_OBJ):export CPPFLAGS=$(BASEFLAGS) $(PLUGININTERFACEFLAGS)
69 $(SUBSCR_OBJ): export CPPFLAGS=$(BASEFLAGS) $(ASN1C_FLAGS) $(E2AP_C_FLAGS) $(SUBSCRFLAGS)
70 $(E2AP_C_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(E2AP_C_FLAGS)
71 $(E2SM_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(E2SM_FLAGS)
72 $(X2AP_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(X2FLAGS)
73 $(PLUGINS_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(X2FLAGS) $(PLUGINFLAGS) $(PLUGININTERFACEFLAGS)
74 $(XAPP_OBJ):export CPPFLAGS=$(BASEFLAGS)   $(SUBSCRFLAGS) $(PLUGINFLAGS) $(CURLFLAGS) $(E2AP_C_FLAGS) $(ASN1C_FLAGS) $(E2SM_FLAGS) $(X2FLAGS) $(XAPPFLAGS) $(PLUGININTERFACEFLAGS)
75
76 OBJ= $(SUBSCR_OBJ) $(XAPP_OBJ) $(PLUGINS_OBJ) $(CURL_OBJ) $(E2AP_C_OBJ) $(ASN1C_MODULES) $(E2SM_OBJ) $(X2AP_OBJ) $(PLUGININTERFACE_OBJ)
77
78 adm-ctrl-xapp: $(OBJ)
79         $(CXX) -o $@  $(OBJ) $(LIBS) $(CPPFLAGS) $(CLOGFLAGS) 
80
81 install: adm-ctrl-xapp
82         install  -D adm-ctrl-xapp  /usr/local/bin/adm-ctrl-xapp
83
84 clean:
85         -rm *.o  $(E2AP_c)/*.o $(SUBSCR)/*.o $(PLUGIN)/*.o $(E2SM)/*.o $(X2AP)/*.o $(CURL)/*.o $(PLUGININTERFACE)/*.o adm-ctrl-xapp