Adding initial code jy.oak@samsung.com
[ric-app/kpimon.git] / src / Makefile
diff --git a/src/Makefile b/src/Makefile
new file mode 100755 (executable)
index 0000000..c46d17a
--- /dev/null
@@ -0,0 +1,69 @@
+CXX:= g++ --std=c++14 -O2\r
+CC:= gcc -O2\r
+\r
+SRC:=./\r
+E2AP_c:=./E2AP-c\r
+E2SM := ./E2SM\r
+SUBSCR:=$(E2AP_c)/subscription\r
+ASN1C_DEFS:=../asn1c_defs/all-defs\r
+KPI_HANDLER:=./KPI-Message-Handler\r
+KPI_MONITOR:=./KPI-Monitoring\r
+\r
+# Logging library and flags\r
+CLOGFLAGS:= `pkg-config mdclog --cflags`\r
+LOG_LIBS:= `pkg-config mdclog --libs`\r
+HIREDIS_LIBS:= `pkg-config hiredis --libs`\r
+\r
+# Keep include dirs separate so we have transparency\r
+BASEFLAGS=  -Wall  -std=c++14 $(CLOGFLAGS) \r
+\r
+XAPPFLAGS= -I./\r
+ASN1C_FLAGS=-I$(ASN1C_DEFS) -DASN_DISABLE_OER_SUPPORT\r
+SUBSCRFLAGS=  -I$(SUBSCR)\r
+E2AP_C_FLAGS = -I$(E2AP_c)\r
+E2SM_FLAGS = -I$(E2SM)\r
+KPI_HANDLER_FLAGS = -I$(KPI_HANDLER)\r
+KPI_MONITOR_FLAGS = -I$(KPI_MONITOR)\r
+C_BASEFLAGS=-Wall $(CLOGFLAGS) -DASN_DISABLE_OER_SUPPORT\r
+\r
+LIBS= -lrmr_nng -lnng -lpthread -lm $(LOG_LIBS) $(HIREDIS_LIBS)\r
+COV_FLAGS= -fprofile-arcs -ftest-coverage\r
+\r
+XAPP_SRC= kpi-xapp.cc \\r
+     xapp_utils.cc \\r
+     message_processor_class.cc \\r
+     get_config.cc\r
+\r
+SUBSCR_SRC= $(wildcard $(SUBSCR)/*.cc)\r
+E2AP_C_SRC =$(wildcard $(E2AP_c)/*.cc)\r
+E2SM_SRC = $(wildcard $(E2SM)/*.cc)\r
+ASN1C_SRC= $(wildcard $(ASN1C_DEFS)/*.c)\r
+KPI_HANDLER_SRC = $(wildcard $(KPI_HANDLER)/*.cc)\r
+KPI_MONITOR_SRC = $(wildcard $(KPI_MONITOR)/*.cc)\r
+\r
+XAPP_OBJ= ${XAPP_SRC:.cc=.o} \r
+SUBSCR_OBJ= ${SUBSCR_SRC:.cc=.o} \r
+E2AP_C_OBJ = $(E2AP_C_SRC:.cc=.o)\r
+E2SM_OBJ = $(E2SM_SRC:.cc=.o)\r
+KPI_HANDLER_OBJ = $(KPI_HANDLER_SRC:.cc=.o)\r
+KPI_MONITOR_OBJ = $(KPI_MONITOR_SRC:.cc=.o)\r
+ASN1C_MODULES = $(ASN1C_SRC:.c=.o)\r
+\r
+$(ASN1C_MODULES): export CFLAGS = $(C_BASEFLAGS) $(ASN1C_FLAGS)\r
+$(SUBSCR_OBJ): export CPPFLAGS=$(BASEFLAGS) $(ASN1C_FLAGS) $(E2AP_C_FLAGS) $(SUBSCRFLAGS)\r
+$(E2AP_C_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(E2AP_C_FLAGS)\r
+$(E2SM_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(E2SM_FLAGS)\r
+$(KPI_HANDLER_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(KPI_HANDLER_FLAGS) $(KPI_MONITOR_FLAGS)\r
+$(KPI_MONITOR_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(KPI_MONITOR_FLAGS)\r
+$(XAPP_OBJ):export CPPFLAGS=$(BASEFLAGS) $(SUBSCRFLAGS) $(E2AP_C_FLAGS) $(ASN1C_FLAGS) $(E2SM_FLAGS) $(XAPPFLAGS) $(KPI_HANDLER_FLAGS) $(KPI_MONITOR_FLAGS)\r
+\r
+OBJ= $(SUBSCR_OBJ) $(XAPP_OBJ) $(E2AP_C_OBJ) $(ASN1C_MODULES) $(E2SM_OBJ) $(KPI_HANDLER_OBJ) $(KPI_MONITOR_OBJ)\r
+\r
+kpi-xapp: $(OBJ)\r
+       $(CXX) -o $@  $(OBJ) $(LIBS) $(CPPFLAGS) $(CLOGFLAGS) \r
+\r
+install: kpi-xapp\r
+       install  -D kpi-xapp  /usr/local/bin/kpi-xapp\r
+\r
+clean:\r
+       -rm *.o $(E2AP_c)/*.o $(SUBSCR)/*.o $(E2SM)/*.o $(KPI_HANDLER)/*.o $(KPI_MONITOR)/*.o kpi-xapp\r