git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5783 818b1a75-f10b-46b9-bf7c-635c3b92a50f
252 lines
9.8 KiB
Makefile
252 lines
9.8 KiB
Makefile
|
|
# 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
|
|
|
|
ifeq ($(SECU), 1)
|
|
ifeq ($(NETTLE_FOUND), 0)
|
|
@echo "Nettle library >= 2.5 is not installed on your system, nettle-dev lib needed, continuing with security disabled"
|
|
SECU=0
|
|
else
|
|
ifeq ($(OPENSSL_FOUND), 0)
|
|
@echo "openssl library is not installed on your system, openssl lib needed, continuing with security disabled"
|
|
SECU=0
|
|
else
|
|
CFLAGS += -DENABLE_SECURITY
|
|
LIBS += $(OPENSSL_LIBS) $(NETTLE_LIBS)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifdef JF
|
|
CFLAGS += -DJUMBO_FRAME
|
|
endif
|
|
|
|
ifeq ($(ENABLE_RAL), 1)
|
|
CFLAGS += -DENABLE_RAL
|
|
endif
|
|
|
|
ifeq ($(LIBCONFIG_LONG),1)
|
|
CFLAGS += -DLIBCONFIG_LONG
|
|
endif
|
|
|
|
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 += $(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
|
|
|
|
ifdef X2AP
|
|
LIBS += $(X2AP_OBJ_DIR)/libx2ap.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
|
|
else
|
|
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
|
|
endif
|
|
|
|
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) $(COMMON_MME_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
|
|
|