Commit c18a7730 authored by Lionel Gauthier's avatar Lionel Gauthier

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6684 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 77034d3e
#/*________________________Makefile________________________
# Authors : Hicham Anouar, Lionel Gauthier, Raymond Knopp
# Company : EURECOM
# Emails : anouar@eurecom.fr, lionel.gauthier@eurecom.fr, knopp@eurecom.fr
#________________________________________________________________*/
include $(OPENAIR_HOME)/common/utils/Makefile.inc
KERNEL_ARCH:=$(shell echo `uname -m`)
SET_X64:=$(shell if [ $(KERNEL_ARCH) = 'x86_64' ]; then echo true ; fi)
ifdef RTAI
# Get the RTAI variables
CCC = $(shell rtai-config --cc)
RTAI_SUBVERSION=$(shell rtai-config --version | sed -e 's/^..\(.\).*$$/\1/')
IS_RTAI_SUBVERSION_LESS_THAN_FIVE=$(shell if [ $(RTAI_SUBVERSION) -lt 5 ] ; then echo true ; fi)
EXTRA_CFLAGS = $(shell rtai-config --module-cflags) -DRTAI_ENABLED -DPC_TARGET -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -I$(KERNEL_DIR)/build/include -I$(KERNEL_DIR)/build/include/asm/mach-default -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TX=2 -DNB_ANTENNAS_TXRX -DMAC_CONTEXT -I/usr/include $(if $(IS_RTAI_SUBVERSION_LESS_THAN_FIVE),-DRTAI_ISNT_POSIX,)
endif
####################################################
# SOURCE FOLDERS
####################################################
COMMON_DIR = ../COMMON
AS_RLC_UM_DIR = RLC/UM_v6.1.0_LITE
AS_RLC_AM_DIR = RLC/AM
AS_RLC_TM_DIR = RLC/TM
AS_RLC_DIR = RLC
AS_PDCP_DIR = PDCP_v10.1.0
AS_MEM_DIR = ../UTIL/MEM
AS_LIST_DIR = ../UTIL/LISTS
AS_FIFO_DIR = ../UTIL/FIFO
AS_MATH_DIR = ../UTIL/MATH
AS_TIMER_DIR = ../UTIL/TIMER
PHY_INTERFACE_DIR = ../PHY_INTERFACE
export AS_RLC_UM_DIR
export AS_RLC_AM_DIR
export AS_RLC_TM_DIR
export AS_RLC_DIR
export AS_PDCP_DIR
export AS_MPLS_DIR
export AS_MEM_DIR
export AS_LIST_DIR
export AS_FIFO_DIR
export AS_MATH_DIR
export AS_TIMER_DIR
export AS_RRM_CONFIG_DIR
obj-m += openair_l2.o
openair_l2-objs += layer2_top.o MAC/layer2_scheduler.o MAC/main.o MAC/nodeb_control_plane_procedures.o MAC/ue_scheduler.o MAC/nodeb_scheduler.o MAC/ue_control_plane_procedures.o MAC/lchan_interface.o MAC/utils.o MAC/openair2_proc.o
openair_l2-objs += register.o
openair_l2-objs += $(AS_LIST_DIR)/list.o
openair_l2-objs += $(AS_LIST_DIR)/list2.o
openair_l2-objs += $(AS_TIMER_DIR)/umts_timer.o
openair_l2-objs += $(AS_PDCP_DIR)/pdcp.o
openair_l2-objs += $(AS_PDCP_DIR)/pdcp_fifo.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_segment.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_fsm.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_mux.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_retrans.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_util.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_mac_status.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_demux.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_receiver.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_reassembly.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_discard_rx.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_control_primitives.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_reset.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_status.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_timers.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_discard_notif.o
openair_l2-objs += $(AS_RLC_AM_DIR)/rlc_am_discard_tx.o
openair_l2-objs += $(AS_RLC_TM_DIR)/rlc_tm.o
openair_l2-objs += $(AS_RLC_TM_DIR)/rlc_tm_control_primitives.o
openair_l2-objs += $(AS_RLC_TM_DIR)/rlc_tm_fsm.o
openair_l2-objs += $(AS_RLC_TM_DIR)/rlc_tm_segment.o
openair_l2-objs += $(AS_RLC_TM_DIR)/rlc_tm_reassembly.o
openair_l2-objs += $(AS_RLC_UM_DIR)/rlc_um.o
openair_l2-objs += $(AS_RLC_UM_DIR)/rlc_um_fsm.o
openair_l2-objs += $(AS_RLC_UM_DIR)/rlc_um_control_primitives.o
openair_l2-objs += $(AS_RLC_UM_DIR)/rlc_um_segment.o
openair_l2-objs += $(AS_RLC_UM_DIR)/rlc_um_reassembly.o
openair_l2-objs += $(AS_RLC_UM_DIR)/rlc_um_receiver.o
openair_l2-objs += $(AS_RLC_DIR)/rlc_mac.o
openair_l2-objs += $(AS_RLC_DIR)/rlc.o
openair_l2-objs += $(AS_RLC_DIR)/rlc_rrc.o
openair_l2-objs += $(AS_RLC_DIR)/rlc_mpls.o
openair_l2-objs += $(AS_MATH_DIR)/random.o
openair_l2-objs += $(AS_MATH_DIR)/crc_byte.o
openair_l2-objs += $(AS_MEM_DIR)/mem_block.o
openair_l2-objs += $(PHY_INTERFACE_DIR)/mac_phy_primitives.o
ifdef MASTER
EXTRA_CFLAGS += -DNODE_RG
else
EXTRA_CFLAGS += -DNODE_MT
endif
ifdef NO_RRM
EXTRA_CFLAGS += -DNO_RRM
else
ifndef USER_MODE
EXTRA_CFLAGS += -DRRC_RRM_FIFOS_XFACE
endif
endif
CCC=gcc
ifdef PHYEMUL
EXTRA_CFLAGS += -DPHY_EMUL
else
EXTRA_CFLAGS += -I$(OPENAIR1_DIR) -DOPENAIR1 -DOPENAIR2
endif
#--------------------------------------------------------
EXTRA_CFLAGS += -DKERNEL$(KERNEL_MAIN_TYPE) -DBIGPHYSAREA #-DNO_RRM -DRRC_RRM_XFACE -DRRC_RRM_FIFOS_XFACE
EXTRA_CFLAGS += -Wall -Wstrict-prototypes $(if $(SET_X64),-DARCH_64,) $(if $(SET_X64),-mcmodel=kernel,) $(if $(SET_X64),-m64,) -fno-common -fno-strict-aliasing -pipe -freg-struct-return -ffreestanding -maccumulate-outgoing-args -funroll-loops -mmmx -msse -msse2 -fomit-frame-pointer -nostdinc -DMODULE -D_LOOSE_KERNEL_NAMES -O2 $(GT2629)
EXTRA_CFLAGS += -I$(OPENAIR2_DIR)/COMMON -I$(OPENAIR2_DIR)/PHY_INTERFACE -I$(OPENAIR2_DIR)/UTIL/TIMER -I$(OPENAIR2_DIR)/UTIL/MATH -I$(OPENAIR2_DIR)/UTIL/LISTS -I$(OPENAIR2_DIR)/UTIL/MEM -I$(OPENAIR2_DIR)/LAYER2/RLC -I$(OPENAIR2_DIR)/LAYER2/RLC/UM_v6.1.0_LITE -I$(OPENAIR2_DIR)/LAYER2/RLC/TM -I$(OPENAIR2_DIR)/LAYER2/RLC/AM -I$(OPENAIR2_DIR)/LAYER2/PDCP -I$(OPENAIR2_DIR) -I$(OPENAIR3_DIR)/MESH -I$(OPENAIR3_DIR)/MESH/RRM
ifeq ($(OPENAIR2),1)
EXTRA_CFLAGS += -DOPENAIR2
endif
EXTRA_CFLAGS += -DASSERT
EXTRA_CFLAGS += -DNO_RRM
COMMON_DIR = $(OPENAIR2_TOP)/COMMON
L2_INTERFACE_DIR = $(OPENAIR2_TOP)/RRC/L2_INTERFACE
RLC_UM_DIR = $(OPENAIR2_TOP)/LAYER2/RLC/UM_v9.3.0
RLC_AM_DIR = $(OPENAIR2_TOP)/LAYER2/RLC/AM_v9.3.0
RLC_TM_DIR = $(OPENAIR2_TOP)/LAYER2/RLC/TM_v9.3.0
RLC_DIR = $(OPENAIR2_TOP)/LAYER2/RLC
PDCP_DIR = $(OPENAIR2_TOP)/LAYER2/PDCP_v10.1.0
PHY_INTERFACE_DIR = $(OPENAIR2_TOP)/PHY_INTERFACE
RRC_DIR = $(OPENAIR2_TOP)/RRC/LITE
L2_INTERFACE_DIR = $(OPENAIR2_TOP)/RRC/L2_INTERFACE
MAC_DIR = $(OPENAIR2_TOP)/LAYER2/MAC
RRC_CELL_DIR = $(OPENAIR2_TOP)/RRC/CELLULAR
SOURCES_L2 += $(OPENAIR2_TOP)/LAYER2/openair2_proc.c
SOURCES_L2 += $(PDCP_DIR)/pdcp.c
SOURCES_L2 += $(PDCP_DIR)/pdcp_fifo.c
SOURCES_L2 += $(PDCP_DIR)/pdcp_sequence_manager.c
SOURCES_L2 += $(PDCP_DIR)/pdcp_primitives.c
SOURCES_L2 += $(PDCP_DIR)/pdcp_util.c
SOURCES_L2 += $(PDCP_DIR)/pdcp_security.c
SOURCES_L2 += $(PDCP_DIR)/pdcp_netlink.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_init.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_timer_poll_retransmit.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_timer_reordering.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_timer_status_prohibit.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_segment.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_segments_holes.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_in_sdu.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_receiver.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_retransmit.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_windows.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_rx_list.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_reassembly.c
SOURCES_L2 += $(RLC_AM_DIR)/rlc_am_status_report.c
SOURCES_L2 += $(RLC_TM_DIR)/rlc_tm.c
SOURCES_L2 += $(RLC_TM_DIR)/rlc_tm_init.c
SOURCES_L2 += $(RLC_UM_DIR)/rlc_um.c
SOURCES_L2 += $(RLC_UM_DIR)/rlc_um_fsm.c
SOURCES_L2 += $(RLC_UM_DIR)/rlc_um_control_primitives.c
SOURCES_L2 += $(RLC_UM_DIR)/rlc_um_segment.c
SOURCES_L2 += $(RLC_UM_DIR)/rlc_um_reassembly.c
SOURCES_L2 += $(RLC_UM_DIR)/rlc_um_receiver.c
SOURCES_L2 += $(RLC_UM_DIR)/rlc_um_dar.c
ifeq ($(OPENAIR_EMU),1)
SOURCES_L2 += $(RLC_UM_DIR)/rlc_um_very_simple_test.c
endif
SOURCES_L2 += $(RLC_DIR)/rlc_mac.c
SOURCES_L2 += $(RLC_DIR)/rlc.c
SOURCES_L2 += $(RLC_DIR)/rlc_rrc.c
SOURCES_L2 += $(RLC_DIR)/rlc_mpls.c
RRC_OBJS = $(RRC_DIR)/rrc_UE.o
ifeq ($(ENABLE_RAL),1)
RRC_OBJS += $(RRC_DIR)/rrc_UE_ral.o
RRC_OBJS += $(RRC_DIR)/rrc_eNB_ral.o
endif
RRC_OBJS += $(RRC_DIR)/rrc_eNB.o
RRC_OBJS += $(RRC_DIR)/rrc_eNB_S1AP.o
ifdef USE_MME
RRC_OBJS += $(RRC_DIR)/rrc_eNB_GTPV1U.o
endif
RRC_OBJS += $(RRC_DIR)/rrc_common.o
RRC_OBJS += $(RRC_DIR)/L2_interface.o
MAC_OBJS = $(MAC_DIR)/lte_transport_init.o
MAC_OBJS += $(MAC_DIR)/main.o
MAC_OBJS += $(MAC_DIR)/ue_procedures.o
MAC_OBJS += $(MAC_DIR)/ra_procedures.o
MAC_OBJS += $(MAC_DIR)/l1_helpers.o
MAC_OBJS += $(MAC_DIR)/rar_tools.o
MAC_OBJS += $(MAC_DIR)/eNB_scheduler.o
MAC_OBJS += $(MAC_DIR)/eNB_scheduler_dlsch.o
MAC_OBJS += $(MAC_DIR)/eNB_scheduler_ulsch.o
MAC_OBJS += $(MAC_DIR)/eNB_scheduler_mch.o
MAC_OBJS += $(MAC_DIR)/eNB_scheduler_bch.o
MAC_OBJS += $(MAC_DIR)/eNB_scheduler_primitives.o
MAC_OBJS += $(MAC_DIR)/eNB_scheduler_RA.o
MAC_OBJS += $(MAC_DIR)/pre_processor.o
MAC_OBJS += $(MAC_DIR)/config.o
L2_INTERFACE_OBJS = $(L2_INTERFACE_DIR)/openair_rrc_L2_interface.o
L2_OBJS=$(addsuffix .o,$(basename $(SOURCES_L2))) $(PHY_INTERFACE_OBJS) $(MAC_OBJS) $(L2_INTERFACE_OBJS)
L2_incl = -I$(OPENAIR2_TOP)
L2_incl += -I$(COMMON_DIR)
L2_incl += -I$(RLC_DIR)
L2_incl += -I$(RLC_AM_DIR)
L2_incl += -I$(RLC_UM_DIR)
L2_incl += -I$(RLC_TM_DIR)
L2_incl += -I$(PDCP_DIR)
L2_incl += -I$(OPENAIR3)/MESH
L2_incl += -I$(OPENAIR2_TOP)/RRC/LITE/MESSAGES
L2_incl += -I$(OPENAIR3)/MESH/RRM
ifeq ($(rrc_cellular),1)
include $(RRC_CELL_DIR)/Makefile.inc
L2_OBJS += $(RRC_CELLULAR_OBJS)
L2_incl += -I$(OPENAIR2_TOP)/RRC/CELLULAR
EXTRA_CFLAGS += -DRRC_CELLULAR -DCELLULAR
else
L2_OBJS += $(RRC_OBJS)
L2_incl += -I$(OPENAIR2_TOP)/RRC/LITE
endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment