X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2FMakefile;fp=src%2FMakefile;h=700b0d55422d6f45ef2403e544e00c66de89829b;hb=6df19a4dacb4fcb6edb35a32af9c8f5c07c95e37;hp=0000000000000000000000000000000000000000;hpb=1d072cdd5a55dbbcb326dbd25e36caf724f28af4;p=ric-app%2Fhw.git diff --git a/src/Makefile b/src/Makefile new file mode 100755 index 0000000..700b0d5 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,76 @@ +CXX:= g++ --std=c++14 -O2 +CC:= gcc -O2 + +SRC:=./ +HWSRC:=./ +UTILSRC=./xapp-utils +MSGSRC:=./xapp-mgmt + +ASNSRC:=../asn1c_defs +E2APSRC:=./xapp-asn/e2ap +E2SMSRC:=./xapp-asn/e2sm + +####### Logging library and flags +CLOGFLAGS:= `pkg-config mdclog --cflags` +LOG_LIBS:= `pkg-config mdclog --libs` +CURL_LIBS:= `pkg-config libcurl --libs` + +######## Keep include dirs separate so we have transparency +BASEFLAGS= -Wall -std=c++14 $(CLOGFLAGS) +C_BASEFLAGS= -Wall $(CLOGFLAGS) -DASN_DISABLE_OER_SUPPORT + +XAPPFLAGS= -I./ +HWFLAGS= -I./ +UTILFLAGS= -I$(UTILSRC) +MSGFLAGS= -I$(MSGSRC) + +ASNFLAGS=-I$(ASNSRC) -DASN_DISABLE_OER_SUPPORT +E2APFLAGS = -I$(E2APSRC) +E2SMFLAGS = -I$(E2SMSRC) + +########libs +LIBS= -lsdl -lrmr_nng -lnng -lpthread -lm $(LOG_LIBS) $(CURL_LIBS) +COV_FLAGS= -fprofile-arcs -ftest-coverage + +####### +HWXAPP_SRC= hw_xapp_main.cc +XAPP_SRC= xapp.cc +UTIL_SRC= $(wildcard $(UTILSRC)/*.cc) +MSG_SRC= $(wildcard $(MSGSRC)/*.cc) + +E2AP_SRC= $(wildcard $(E2APSRC)/*.cc) +E2SM_SRC= $(wildcard $(E2SMSRC)/*.cc) +ASN1C_SRC= $(wildcard $(ASNSRC)/*.c) + +##############Objects +UTIL_OBJ=${UTIL_SRC:.cc=.o} +XAPP_OBJ=${XAPP_SRC:.cc=.o} +HWXAPP_OBJ= ${HWXAPP_SRC:.cc=.o} +MSG_OBJ= ${MSG_SRC:.cc=.o} + +E2AP_OBJ = $(E2AP_SRC:.cc=.o) +E2SM_OBJ = $(E2SM_SRC:.cc=.o) +ASN1C_MODULES = $(ASN1C_SRC:.c=.o) + +$(ASN1C_MODULES): export CFLAGS = $(C_BASEFLAGS) $(ASNFLAGS) +$(UTIL_OBJ):export CPPFLAGS=$(BASEFLAGS) $(UTILFLAGS) $(E2APFLAGS) $(E2SMFLAGS) $(ASNFLAGS) $(MSGFLAGS) + +$(MSG_OBJ):export CPPFLAGS=$(BASEFLAGS) $(MSGFLAGS) $(ASNFLAGS) $(E2APFLAGS) $(E2SMFLAGS) +$(E2AP_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASNFLAGS) $(E2APFLAGS) +$(E2SM_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASNFLAGS) $(E2SMFLAGS) +$(XAPP_OBJ): export CPPFLAGS = $(BASEFLAGS) $(XAPPFLAGS) $(UTILFLAGS) $(MSGFLAGS) $(E2APFLAGS) $(E2SMFLAGS) $(ASNFLAGS) + +$(HWXAPP_OBJ):export CPPFLAGS=$(BASEFLAGS) $(HWFLAGS) $(XAPPFLAGS) $(UTILFLAGS) $(MSGFLAGS) $(E2APFLAGS) $(E2SMFLAGS) $(ASNFLAGS) + +OBJ= $(HWXAPP_OBJ) $(UTIL_OBJ) $(MSG_OBJ) $(ASN1C_MODULES) $(E2AP_OBJ) $(E2SM_OBJ) $(XAPP_OBJ) + +print-% : ; @echo $* = $($*) + +hw_xapp_main: $(OBJ) + $(CXX) -o $@ $(OBJ) $(LIBS) $(CPPFLAGS) $(CLOGFLAGS) + +install: hw_xapp_main + install -D hw_xapp_main /usr/local/bin/hw_xapp_main + +clean: + -rm *.o $(ASNSRC)/*.o $(E2APSRC)/*.o $(UTILSRC)/*.o $(E2SMSRC)/*.o $(MSGSRC)/*.o $(SRC)/*.o hw_xapp_main