# This file gathers compilation directive shared between lte-softmodem and oaisim COMMON_UTILS_DIR = $(OPENAIR_HOME)/common/utils UE_NAS_DIR = $(OPENAIR_HOME)/openair-cn/NAS S1AP_DIR = $(OPENAIR_HOME)/openair-cn/S1AP X2AP_DIR = $(OPENAIR_HOME)/openair2/X2AP SCTP_DIR = $(OPENAIR_HOME)/openair-cn/SCTP UDP_DIR = $(OPENAIR_HOME)/openair-cn/UDP GTPV1U_DIR = $(OPENAIR_HOME)/openair-cn/GTPV1-U SECU_DIR = $(OPENAIR_HOME)/openair-cn/SECU UE_NAS_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(UE_NAS_DIR)) SECU_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(SECU_DIR)) S1AP_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(S1AP_DIR)) X2AP_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(X2AP_DIR)) SCTP_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(SCTP_DIR)) UDP_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(UDP_DIR)) GTPV1U_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(GTPV1U_DIR)) export COMMON_UTILS_DIR export UE_NAS_DIR export S1AP_DIR export X2AP_DIR export SCTP_DIR export UDP_DIR export GTPV1U_DIR export SECU_DIR #Export common cflags (between softmodem and oaisim) COMMON_CFLAGS = \ -D'FIRMWARE_VERSION="$(SVN_REV) - $(DATE_REV)"' \ -Wall \ -fno-strict-aliasing \ -O2 \ -Werror=implicit-function-declaration ITTI_MESSAGES_H = messages_xml.h ITTI_MESSAGES_XML = messages.xml ITTI_MESSAGES_FILE = $(ITTI_DIR)/intertask_interface_types.h include $(COMMON_UTILS_DIR)/Makefile.inc include $(OPENAIR_TARGETS)/COMMON/Makefile.inc include $(OPENAIR2_DIR)/NAS/Makefile.inc COMMON_CFLAGS += -DMAX_NUM_CCs=1 ifdef USE_MME COMMON_CFLAGS += -DENABLE_USE_MME ENABLE_ITTI = 1 ifdef LINK_PDCP_TO_GTPV1U COMMON_CFLAGS += -DLINK_PDCP_TO_GTPV1U # COMMON_CFLAGS += -I$(UDP_DIR) # COMMON_CFLAGS += -I$(GTPV1U_DIR) # COMMON_CFLAGS += -I$(GTPV1U_DIR)/nw-gtpv1u/shared endif endif ifdef ENABLE_ITTI COMMON_CFLAGS += -DENABLE_ITTI COMMON_CFLAGS += -DUSER_MODE COMMON_CFLAGS += -I$(OPENAIR1_DIR) COMMON_CFLAGS += -I$(OPENAIR2_DIR)/NAS COMMON_CFLAGS += $(L2_incl) COMMON_CFLAGS += $(UTILS_incl) SHARED_DEPENDENCIES += $(ITTI_MESSAGES_H) endif ifdef USE_MME #LIBS += $(X2AP_OBJ_DIR)/libx2ap.a LIBS += $(UE_NAS_OBJ_DIR)/libuenas.a $(SECU_OBJ_DIR)/libsecu.a LIBS += $(S1AP_OBJ_DIR)/libs1ap.a $(SCTP_OBJ_DIR)/libsctp.a -lsctp -lcrypt LIBS += $(UDP_OBJ_DIR)/libudp.a $(GTPV1U_OBJ_DIR)/libgtpv1u.a #SHARED_DEPENDENCIES += $(UE_NAS_OBJ_DIR)/libuenas.a $(SECU_OBJ_DIR)/libsecu.a $(X2AP_OBJ_DIR)/libx2ap.a $(S1AP_OBJ_DIR)/libs1ap.a $(SCTP_OBJ_DIR)/libsctp.a $(UDP_OBJ_DIR)/libudp.a $(GTPV1U_OBJ_DIR)/libgtpv1u.a SHARED_DEPENDENCIES += $(UE_NAS_OBJ_DIR)/libuenas.a $(SECU_OBJ_DIR)/libsecu.a $(S1AP_OBJ_DIR)/libs1ap.a $(SCTP_OBJ_DIR)/libsctp.a $(UDP_OBJ_DIR)/libudp.a $(GTPV1U_OBJ_DIR)/libgtpv1u.a COMMON_CFLAGS += -DLOG_NO_THREAD #-DEMIT_ASN_DEBUG openair_cn_available = $(shell if [ -d "$(UE_NAS_DIR)" ]; then echo "0" ; else echo "1" ; fi ) ifeq ($(openair_cn_available), 0) COMMON_CFLAGS += -DENABLE_NAS_UE_LOGGING COMMON_CFLAGS += -I$(OPENAIR_HOME)/openair-cn/NAS/EURECOM-NAS/src/api/network COMMON_CFLAGS += -I$(OPENAIR_HOME)/openair-cn/NAS/EURECOM-NAS/src/include COMMON_CFLAGS += -I$(OPENAIR_HOME)/openair-cn/NAS/EURECOM-NAS/src/ies COMMON_CFLAGS += -I$(OPENAIR_HOME)/openair-cn/NAS/EURECOM-NAS/src/emm/msg COMMON_CFLAGS += -I$(OPENAIR_HOME)/openair-cn/NAS/EURECOM-NAS/src/esm/msg COMMON_CFLAGS += -I$(OPENAIR_HOME)/openair-cn/NAS/EURECOM-NAS/src/util endif UENAS_CFLAGS = $(COMMON_CFLAGS) UENAS_CFLAGS += -I$(SECU_DIR) export UENAS_CFLAGS SECU_CFLAGS = $(COMMON_CFLAGS) SECU_CFLAGS += -I$(OPENAIR_HOME)/openair-cn/COMMON SECU_CFLAGS += -I$(OPENAIR_HOME)/openair-cn/UTILS SECU_CFLAGS += -I$(SECU_DIR) export SECU_CFLAGS COMMON_MME_CFLAGS = -I$(SECU_DIR) COMMON_MME_CFLAGS += -I$(SCTP_DIR) COMMON_MME_CFLAGS += -I$(X2AP_DIR) COMMON_MME_CFLAGS += -I$(S1AP_DIR) COMMON_MME_CFLAGS += -I$(UDP_DIR) COMMON_MME_CFLAGS += -I$(GTPV1U_DIR) S1AP_CFLAGS = $(COMMON_CFLAGS) $(COMMON_MME_CFLAGS) S1AP_CFLAGS += -DENB_MODE S1AP_CFLAGS += -I$(TOP_DIR) S1AP_CFLAGS += $(UTIL_incl) export S1AP_CFLAGS X2AP_CFLAGS = $(COMMON_CFLAGS) X2AP_CFLAGS += -DENB_MODE X2AP_CFLAGS += -I$(TOP_DIR) X2AP_CFLAGS += $(UTIL_incl) export X2AP_CFLAGS UDP_CFLAGS = $(COMMON_CFLAGS) $(COMMON_MME_CFLAGS) UDP_CFLAGS += -DENB_MODE UDP_CFLAGS += -I$(TOP_DIR) UDP_CFLAGS += $(UTIL_incl) UDP_CFLAGS += -I$(OPENAIR_HOME)/openair2/ENB_APP export UDP_CFLAGS GTPV1U_CFLAGS = $(COMMON_CFLAGS) $(COMMON_MME_CFLAGS) GTPV1U_CFLAGS += -DENB_MODE GTPV1U_CFLAGS += -I$(TOP_DIR) GTPV1U_CFLAGS += -I$(GTPV1U_DIR)/nw-gtpv1u/include GTPV1U_CFLAGS += -I$(GTPV1U_DIR)/nw-gtpv1u/shared GTPV1U_CFLAGS += -I$(OPENAIR_HOME)/openair2/ENB_APP GTPV1U_CFLAGS += $(UTIL_incl) -I$(OPENAIRCN_DIR)/UTILS export GTPV1U_CFLAGS GTPV1U_ENB_CFLAGS = $(COMMON_CFLAGS) GTPV1U_ENB_CFLAGS += $(OPENAIR_HOME)/openair2/COMMON GTPV1U_ENB_CFLAGS += -I$(X2AP_DIR) GTPV1U_ENB_CFLAGS += -I$(S1AP_DIR) GTPV1U_ENB_CFLAGS += -I$(UDP_DIR) GTPV1U_ENB_CFLAGS += -I$(GTPV1U_DIR) GTPV1U_ENB_CFLAGS += -DENB_MODE GTPV1U_ENB_CFLAGS += -I$(TOP_DIR) GTPV1U_ENB_CFLAGS += -I$(GTPV1U_DIR)/nw-gtpv1u/include GTPV1U_ENB_CFLAGS += -I$(GTPV1U_DIR)/nw-gtpv1u/shared GTPV1U_ENB_CFLAGS += -I$(OPENAIR_HOME)/openair2/ENB_APP GTPV1U_ENB_CFLAGS += $(UTIL_incl) -I$(OPENAIRCN_DIR)/UTILS export GTPV1U_ENB_CFLAGS $(UE_NAS_OBJ_DIR)/libuenas.a: force_look @$(MAKE) -C $(UE_NAS_DIR) -f Makefile.UE $(UE_NAS_OBJ_DIR)/libuenas.a OUTDIR=$(UE_NAS_OBJ_DIR) $(SECU_OBJ_DIR)/libsecu.a: force_look @$(MAKE) -C $(SECU_DIR) -f Makefile.eNB $(SECU_OBJ_DIR)/libsecu.a OUTDIR=$(SECU_OBJ_DIR) $(X2AP_OBJ_DIR)/libx2ap.a: force_look @$(MAKE) -C $(X2AP_DIR) -f Makefile.inc $(X2AP_OBJ_DIR)/libx2ap.a OUTDIR=$(X2AP_OBJ_DIR) $(S1AP_OBJ_DIR)/libs1ap.a: force_look @$(MAKE) -C $(S1AP_DIR) -f Makefile.eNB $(S1AP_OBJ_DIR)/libs1ap.a OUTDIR=$(S1AP_OBJ_DIR) $(SCTP_OBJ_DIR)/libsctp.a: force_look @$(MAKE) -C $(SCTP_DIR) -f Makefile.eNB $(SCTP_OBJ_DIR)/libsctp.a OUTDIR=$(SCTP_OBJ_DIR) $(UDP_OBJ_DIR)/libudp.a: force_look @$(MAKE) -C $(UDP_DIR) -f Makefile.eNB $(UDP_OBJ_DIR)/libudp.a OUTDIR=$(UDP_OBJ_DIR) $(GTPV1U_OBJ_DIR)/libgtpv1u.a: force_look @$(MAKE) -C $(GTPV1U_DIR) -f Makefile.eNB $(GTPV1U_OBJ_DIR)/libgtpv1u.a OUTDIR=$(GTPV1U_OBJ_DIR) OBJ = $(NAS_UE_OBJS) $(SECU_OBJS) endif export COMMON_CFLAGS ifdef ENABLE_ITTI CFLAGS += $(COMMON_CFLAGS) $(COMMON_MME_CFLAGS) $(TARGETS_COMMON_incl) OBJ += $(TARGETS_COMMON_OBJS) endif ifdef ENABLE_ITTI gccxml_available = $(shell if [ `gccxml --version | grep GCC-XML -c` = "0" ]; then echo "0" ; else echo "1" ; fi ) ifeq ($(gccxml_available), 0) $(error gccxml is missing, please install) endif CFLAGS += -I$(OPENAIR2_DIR)/COMMON -DENABLE_ITTI $(UTILS_incl) endif $(ITTI_MESSAGES_XML): $(ITTI_MESSAGES_FILE) @echo "Generating messages.xml ..." @gccxml $(COMMON_CFLAGS) $< -fxml=$@ @$(CC) -MM $(COMMON_CFLAGS) $< > $(basename $@).d @mv -f $(basename $@).d $(basename $@).d.tmp @sed -e 's|.*:|$@:|' < $(basename $@).d.tmp > $(basename $@).d @sed -e 's/.*://' -e 's/\\$$//' < $(basename $@).d.tmp | fmt -1 | \ sed -e 's/^ *//' -e 's/$$/:/' >> $(basename $@).d @rm -f $(basename $@).d.tmp $(ITTI_MESSAGES_H): $(ITTI_MESSAGES_XML) @echo "Generating messages_xml.h ..." @sed -e 's/[ ]*//' -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' $< > $@ force_look: @true common-clean: @$(RM_F_V) $(ITTI_MESSAGES_H) $(ITTI_MESSAGES_XML) $(ITTI_MESSAGES_XML:.xml=.d) @$(MAKE) -C $(LFDS_DIR) -f makefile.linux clean OUTDIR=$(LFDS_OBJ_DIR) @if [ -d $(UE_NAS_OBJ_DIR) ]; then $(MAKE) -C $(UE_NAS_DIR) -f Makefile.UE clean OUTDIR=$(UE_NAS_OBJ_DIR); fi @if [ -d $(SECU_OBJ_DIR) ]; then $(MAKE) -C $(SECU_DIR) -f Makefile.eNB clean OUTDIR=$(SECU_OBJ_DIR); fi @if [ -d $(X2AP_OBJ_DIR) ]; then $(MAKE) -C $(X2AP_DIR) -f Makefile.inc clean OUTDIR=$(X2AP_OBJ_DIR); fi @if [ -d $(S1AP_OBJ_DIR) ]; then $(MAKE) -C $(S1AP_DIR) -f Makefile.eNB clean OUTDIR=$(S1AP_OBJ_DIR); fi @if [ -d $(SCTP_OBJ_DIR) ]; then $(MAKE) -C $(SCTP_DIR) -f Makefile.eNB clean OUTDIR=$(SCTP_OBJ_DIR); fi @if [ -d $(UDP_OBJ_DIR) ]; then $(MAKE) -C $(UDP_DIR) -f Makefile.eNB clean OUTDIR=$(UDP_OBJ_DIR); fi @if [ -d $(GTPV1U_OBJ_DIR) ]; then $(MAKE) -C $(GTPV1U_DIR) -f Makefile.eNB clean OUTDIR=$(GTPV1U_OBJ_DIR); fi common-cleanall: @if [ -d $(UE_NAS_OBJ_DIR) ]; then $(MAKE) -C $(UE_NAS_DIR) -f Makefile.UE cleanall OUTDIR=$(UE_NAS_OBJ_DIR); fi @if [ -d $(SECU_OBJ_DIR) ]; then $(MAKE) -C $(SECU_DIR) -f Makefile.eNB cleanall OUTDIR=$(SECU_OBJ_DIR); fi @if [ -d $(X2AP_OBJ_DIR) ]; then $(MAKE) -C $(X2AP_DIR) -f Makefile.inc cleanall OUTDIR=$(X2AP_OBJ_DIR); fi @if [ -d $(S1AP_OBJ_DIR) ]; then $(MAKE) -C $(S1AP_DIR) -f Makefile.eNB cleanall OUTDIR=$(S1AP_OBJ_DIR); fi @if [ -d $(SCTP_OBJ_DIR) ]; then $(MAKE) -C $(SCTP_DIR) -f Makefile.eNB cleanall OUTDIR=$(SCTP_OBJ_DIR); fi @if [ -d $(UDP_OBJ_DIR) ]; then $(MAKE) -C $(UDP_DIR) -f Makefile.eNB cleanall OUTDIR=$(UDP_OBJ_DIR); fi @if [ -d $(GTPV1U_OBJ_DIR) ]; then $(MAKE) -C $(GTPV1U_DIR) -f Makefile.eNB cleanall OUTDIR=$(GTPV1U_OBJ_DIR); fi