From a7dfea0d2f5b09ed5d5f7bb2eca5474f8bd46b29 Mon Sep 17 00:00:00 2001 From: Navid Nikaein <navid.nikaein@eurecom.fr> Date: Wed, 27 Aug 2014 16:51:50 +0000 Subject: [PATCH] fix the issue in RT makefile git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5759 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- targets/RT/USER/Makefile | 805 +++++++++++++++++++-------------------- 1 file changed, 402 insertions(+), 403 deletions(-) diff --git a/targets/RT/USER/Makefile b/targets/RT/USER/Makefile index e7826ac425..5ba7144c5b 100644 --- a/targets/RT/USER/Makefile +++ b/targets/RT/USER/Makefile @@ -1,407 +1,406 @@ -# Include some shared directives -include $(OPENAIR_TARGETS)/Makerules - -default: lte-softmodem -all: lte-softmodem lte-enb - -include $(OPENAIR_TARGETS)/Makefile.common - -GCCVERSION = $(shell gcc --version | grep ^gcc | sed 's/^.* //g') -ifeq "$(GCCVERSION)" "4.4.3" - CFLAGS += -Wno-packed-bitfield-compat -endif -ifeq "$(GCCVERSION)" "4.5.2" - CFLAGS += -Wno-packed-bitfield-compat -endif -ifeq "$(GCCVERSION)" "4.6.1" - CFLAGS += -Wno-packed-bitfield-compat -endif - -ifndef USRP -USRP=0 -endif - -CFLAGS += -O2 -CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/COMMON - -CFLAGS += -DMAX_NUM_CCs=1 - -ifeq ($(USRP),0) - CFLAGS += -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/DEFS -DENABLE_VCD_FIFO -endif - -ifdef DEBUG -CFLAGS += -g -ggdb -endif -SRC = synctest.c condtest.c #lte-softmodem.c +# Include some shared directives +include $(OPENAIR_TARGETS)/Makerules + +default: lte-softmodem +all: lte-softmodem lte-enb + +include $(OPENAIR_TARGETS)/Makefile.common + +GCCVERSION = $(shell gcc --version | grep ^gcc | sed 's/^.* //g') +ifeq "$(GCCVERSION)" "4.4.3" + CFLAGS += -Wno-packed-bitfield-compat +endif +ifeq "$(GCCVERSION)" "4.5.2" + CFLAGS += -Wno-packed-bitfield-compat +endif +ifeq "$(GCCVERSION)" "4.6.1" + CFLAGS += -Wno-packed-bitfield-compat +endif + +ifndef USRP +USRP=0 +endif + +CFLAGS += -O2 +CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/COMMON + +CFLAGS += -DMAX_NUM_CCs=1 + +ifeq ($(USRP),0) + CFLAGS += -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/DEFS -DENABLE_VCD_FIFO +endif + +ifdef DEBUG +CFLAGS += -g -ggdb +endif +SRC = synctest.c condtest.c #lte-softmodem.c ifdef LIBCONFIG_LONG CFLAGS += -DLIBCONFIG_LONG endif - - -ifndef RTAI -RTAI=1 -endif - - - -ifeq ($(ENABLE_RAL), 1) -CFLAGS += -DENABLE_RAL -endif - -ifdef SECU -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 - - -ifeq ($(RTAI),1) -CFLAGS += -DENABLE_RTAI_CLOCK -CFLAGS += -DCONFIG_RTAI_LXRT_INLINE #remend the RTAI warning -RTAI_OBJ = sched_dlsch.o sched_rx_pdsch.o rt_wrapper.o -else #RTAI -CFLAGS += -DENABLE_USE_CPU_EXECUTION_TIME -OBJ += sched_dlsch.o sched_rx_pdsch.o rt_wrapper.o -endif - -OBJ += $(OPENAIR1_DIR)/SIMULATION/TOOLS/taus.o $(OPENAIR_TARGETS)/SIMU/USER/init_lte.o - -ifeq ($(USRP),0) -OBJ += $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.o $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/gain_control.o -CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/DEFS -endif - -CFLAGS += -DENABLE_VCD_FIFO - - -TOP_DIR = $(OPENAIR1_DIR) -include $(OPENAIR1_DIR)/PHY/Makefile.inc -include $(OPENAIR1_DIR)/SCHED/Makefile.inc - -OBJ += $(PHY_OBJS) -ifeq ($(RTAI),1) -RTAI_OBJ += $(SCHED_OBJS) -else -OBJ += $(SCHED_OBJS) -endif - -OPENAIR2_TOP = $(OPENAIR2_DIR) -include $(OPENAIR2_DIR)/LAYER2/Makefile.inc -include $(OPENAIR2_DIR)/UTIL/Makefile.inc -include $(OPENAIR2_DIR)/RRC/NAS/Makefile.inc -include $(OPENAIR2_DIR)/ENB_APP/Makefile.inc -include $(OPENAIR3_DIR)/RAL-LTE/Makefile.inc - -ifeq ($(USRP),1) - -include $(OPENAIR_TARGETS)/ARCH/USRP/USERSPACE/LIB/Makefile.inc -CFLAGS += -I/opt/include/uhd -L/opt/lib -luhd -lpthread -lstdc++ -CFLAGS += -DUSRP -LDFLAGS += -L/opt/lib -luhd -lpthread -lstdc++ -endif - -OBJ += $(ENB_APP_OBJS) - -ifeq ($(RTAI),1) -CFLAGS += -I/usr/realtime/include -I/usr/realtime/include/asm -LOG_OBJS= -RTAI_OBJ+=$(LOG_DIR)/vcd_signal_dumper.o -RTAI_OBJ+=$(LOG_DIR)/log.o -endif - -include $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/Makefile.inc - -OBJ += $(LOG_OBJS) - -ifndef OPENAIR2 -OPENAIR2=1 -endif -ifeq ($(OPENAIR2),1) -ASN1_MSG_OBJS1=$(addprefix $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/, $(ASN1_MSG_OBJS)) -OBJ += $(L2_OBJS) $(LIST_OBJ) $(TIMER_OBJ) $(MEM_OBJ) $(OTG_OBJS) $(MATH_OBJS) $(OSA_OBJS) -OBJ += $(OPENAIR1_DIR)/SIMULATION/ETH_TRANSPORT/netlink_init.o -#OBJ += $(PDCP_DIR)/pdcp_thread.o -CFLAGS += -DOPENAIR2 -DNO_RRM -DPUCCH -DMAC_CONTEXT=1 -endif - -#RTAI_ -OBJ += $(UTILS_OBJS) - - - -#ifdef ENABLE_ITTI -CFLAGS += -DEXMIMO_IOT -#endif - -ifdef MSG_PRINT -CFLAGS += -DRRC_MSG_PRINT -CFLAGS += -DPDCP_MSG_PRINT -endif - -CFLAGS += $(L2_incl) $(ENB_APP_incl) $(UTIL_incl) $(UTILS_incl) - -CFLAGS += -I$(OPENAIR1_DIR) -I$(OPENAIR2_DIR)/RRC/LITE/MESSAGES #-I$(OPENAIR3_DIR)/MESH -I$(OPENAIR3_DIR)/MESH/RRM - -CFLAGS += -DNEW_FFT -DLOG_NO_THREAD - -ifeq ($(XFORMS),1) -CFLAGS += -DXFORMS -I/usr/include/X11 -LDFLAGS += -lforms -OBJ += $(OPENAIR1_DIR)/PHY/TOOLS/lte_phy_scope.o -OBJ += stats.o -endif - -OBJ_SYNC = $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.o rt_wrapper.o $(OPENAIR2_DIR)/UTIL/LOG/log.o $(OPENAIR2_DIR)/UTIL/LOG/vcd_signal_dumper.o - -ifdef SMBV -CFLAGS += -DSMBV -endif - -#CPUFLAGS = -mmmx -msse -msse2 -m32 -mssse3 -msse4.1 -CPUFLAGS = -mmmx -msse -msse2 -mssse3 -msse4.1 -#CFLAGS += -fno-common -mpreferred-stack-boundary=4 -CFLAGS += -Wall -fno-strict-aliasing -DPHYSIM -DUSER_MODE -DPC_TARGET -DPC_DSP -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TXRX=2 -DNB_ANTENNAS_TX=2 -DPHY_CONTEXT=1 -rdynamic $(CPUFLAGS) # -Wno-packed-bitfield-compat -CFLAGS += -DOPENAIR_LTE -DENABLE_FXP -DOPENAIR1 -DDLSCH_THREAD #-DULSCH_THREAD - - -ifeq ($(USRP),0) -CFLAGS += -DEXMIMO -#CFLAGS += -DEXMIMO -DTIMING_ADVANCE_HW=138 #this is for ExpressMIMO 1 -#CFLAGS += -DEXMIMO -DTIMING_ADVANCE_HW=45 #this is for ExpressMIMO 2 -endif - -ifeq ($(HARD_RT),1) -CFLAGS += -DHARD_RT -endif - -ifeq ($(EMOS),1) -CFLAGS += -D_FILE_OFFSET_BITS=64 -DEMOS #-DEMOS_CHANNEL -LDFLAGS += -lgps -endif - -ifeq ($(NAS),1) -CFLAGS += -DNAS_NETLINK -DLINUX -OBJ += $(NAS_OBJS) -endif - -LDFLAGS += -lpthread -lm -lforms -lconfig -lrt -ifeq ($(RTAI),1) -RTAI_CFLAGS += $(shell rtai-config --lxrt-cflags) -DRTAI -LDFLAGS += $(shell rtai-config --lxrt-ldflags) -endif - -#ifeq ($(USRP),1) -#CFLAGS += -I/opt/uhd/include -L/opt/uhd/lib -luhd -lpthread -lstdc++ -#CFLAGS += -DUSRP -#endif -#CFLAGS += -I/usr/include/c++/4.6 -I/usr/include/c++/4.6/x86_64-linux-gnu -I/usr/include/rtai/ - -LFDS_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(LFDS_DIR)) -LFDS_LIB = $(LFDS_OBJ_DIR)/bin/liblfds611.a -LIBS += $(LFDS_LIB) -SHARED_DEPENDENCIES += $(LFDS_LIB) - --include $(OBJ:.o=.d) --include $(ASN1_MSG_OBJS1:.o=.d) --include $(RTAI_OBJ:.o=.d) --include lte-softmodem.d --include lte-enb.d - -$(LFDS_LIB): - @if [ ! -d $(LFDS_OBJ_DIR)/bin ]; then mkdir -p $(LFDS_OBJ_DIR)/bin; fi; - @if [ ! -d $(LFDS_OBJ_DIR)/obj ]; then mkdir -p $(LFDS_OBJ_DIR)/obj; fi; - $(MAKE) -C $(LFDS_DIR) -f makefile.linux OUTDIR=$(LFDS_OBJ_DIR) - -ifeq ($(USRP),1) -$(USRP_OBJ):$(USRP_FILE_OBJ) - @echo Compiling $< - @$(CXX) -c $(USRP_CFLAGS) $(USRP_FILE_OBJ) -o $(USRP_OBJ) -endif - -ifeq ($(RTAI),1) -$(RTAI_OBJ) lte-softmodem.o: %.o : %.c -else -$(RTAI_OBJ): %.o : %.c -endif - @echo Compiling $< ... - @$(CC) -c $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) -o $@ $< - @$(CC) -MM $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) $< > $*.d - @mv -f $*.d $*.d.tmp - @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d - @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | \ - sed -e 's/^ *//' -e 's/$$/:/' >> $*.d - @rm -f $*.d.tmp - -ifdef ENABLE_ITTI -$(OBJ) $(RTAI_OBJ): $(ITTI_MESSAGES_H) -endif - -ifeq ($(RTAI),1) -$(OBJ) $(ASN1_MSG_OBJS1): %.o : %.c -else -$(OBJ) $(ASN1_MSG_OBJS1) lte-softmodem.o: %.o : %.c -endif - - @echo Compiling $< ... - @$(CC) -c $(CFLAGS) $(EXTRA_CFLAGS) -o $@ $< - @$(CC) -MM $(CFLAGS) $(EXTRA_CFLAGS) $< > $*.d - @mv -f $*.d $*.d.tmp - @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d - @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | \ - sed -e 's/^ *//' -e 's/$$/:/' >> $*.d - @rm -f $*.d.tmp - -OBJ_EMOS = $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.o $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/gain_control.o rt_wrapper.o $(OPENAIR2_DIR)/UTIL/LOG/log.o $(OPENAIR2_DIR)/UTIL/LOG/vcd_signal_dumper.o $(OPENAIR1_DIR)/PHY/TOOLS/signal_energy.o $(OPENAIR1_DIR)/PHY/TOOLS/dB_routines.o -ifeq ($(XFORMS),1) -OBJ_EMOS+=lte_scope.o -endif - -condtest: condtest.c - $(CC) $(CFLAGS) $(LDFLAGS) condtest.c -o condtest - -synctest: $(OBJ_SYNC) $(SHARED_DEPENDENCIES) synctest.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) $(OBJ_SYNC) -o synctest synctest.c $(LDFLAGS) $(LIBS) - -sleeptest: rt_wrapper.o sleeptest.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) rt_wrapper.o -o sleeptest sleeptest.c $(LDFLAGS) - -lte-softmodem: $(OBJ) $(USRP_OBJ) $(ASN1_MSG_OBJS1) $(RTAI_OBJ) lte-softmodem.o $(SHARED_DEPENDENCIES) - @echo Linking $@ - @$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(OBJ) $(USRP_OBJ) $(RTAI_OBJ) $(ASN1_MSG_OBJS1) lte-softmodem.o -o lte-softmodem $(LDFLAGS) $(LIBS) - -emos-raw: $(SHARED_DEPENDENCIES) $(OBJ_EMOS) emos-raw.c - @$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) $(OBJ_EMOS) -o emos-raw emos-raw.c $(LDFLAGS) $(LIBS) - - -synctest_eNB: synctest - cp synctest synctest_eNB - -synctest_UE: synctest - cp synctest synctest_UE - -drivers: - cd $(OPENAIR2_DIR) && make clean && make nasmesh_netlink.ko - cd $(OPENAIR2_DIR)/NAS/DRIVER/MESH/RB_TOOL && make clean && make - cd $(OPENAIR_TARGETS)/ARCH/EXMIMO/DRIVER/eurecom && make clean && make - cd $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT && make clean && make - -run: condtest - rtai-load condtest --verbose - -run_eNB_test: - rtai-load eNB_test --verbose - -run_eNB: - rtai-load eNB --verbose - -run_UE: - rtai-load UE --verbose - -run_UE0: - rtai-load UE0 --verbose - -run_UE0_smbv: - rtai-load UE0_smbv --verbose - -run_UE850: - rtai-load UE850 --verbose - -run_eNB850: - rtai-load eNB850 --verbose - -run_UE0prach: - rtai-load UE0prach --verbose - -run_UE1prach: - rtai-load UE1prach --verbose - -run_UE2prach: - rtai-load UE2prach --verbose - -run_UE0noL2: - rtai-load UE0noL2 -- verbose - -run_UE1noL2: - rtai-load UE1noL2 --verbose - -run_UE2noL2: - rtai-load UE2noL2 --verbose - -run_UE0calib: - rtai-load UE0calib --verbose - -run_UE0calibmed: - rtai-load UE0calibmed --verbose - -run_UE0calibbyp: - rtai-load UE0calibbyp --verbose - -run_UE1: - rtai-load UE1 --verbose - -run_UE2: - rtai-load UE2 --verbose - -run_eNB0: - rtai-load eNB0 --verbose - -run_eNB1: - rtai-load eNB1 --verbose - -run_eNB2: - rtai-load eNB2 --verbose - -clean: common-clean - @$(RM_F_V) $(OBJ) $(RTAI_OBJ) $(OBJ_EMOS) $(OBJ_SYNC) $(USRP_OBJ) - @$(RM_F_V) $(OBJ:.o=.d) $(RTAI_OBJ:.o=.d) $(OBJ_EMOS:.o=.d) $(OBJ_SYNC:.o=.d) - @$(RM_F_V) $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/asn1_msg.o $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/asn1_msg.d - @$(RM_F_V) lte-enb.o lte-enb.d lte-softmodem.o lte-softmodem.d - @$(RM_F_V) lte-enb.o lte-softmodem.o - -cleanasn1: - rm -f $(ASN1_MSG_OBJS1) - $(shell cd $(OPENAIR2_DIR)/RRC/LITE/MESSAGES ; rm -f $(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS) *.o *.d ) - rm -f $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/Makefile.am.sample - rm -f $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/Makefile.inc.generated - rm -f $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/asn1c/ASN1_files/.lock-rel8 - rm -f $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/asn1c/ASN1_files/.lock-rel10 - -cleancell: - rm -f $(OPENAIR2_DIR)/RRC/CELLULAR/*.o - rm -f $(OPENAIR2_DIR)/RRC/CELLULAR/*.d - rm -f $(OPENAIR2_DIR)/RRC/L2_INTERFACE/*.o - rm -f $(OPENAIR2_DIR)/RRC/L2_INTERFACE/*.d - rm -f $(OPENAIR2_DIR)/NAS/SIMU_CELLULAR/*.o - rm -f $(OPENAIR2_DIR)/NAS/SIMU_CELLULAR/*.d - -cleanalmostall: clean - rm -f $(ASN1_MSG_OBJS1) - rm -rf condtest synctest lte-softmodem - rm -rf synctest_eNB synctest_UE - -cleanall: common-cleanall clean cleanasn1 - rm -rf condtest synctest lte-softmodem lte-softmodem-usrp - rm -rf synctest_eNB synctest_UE - -show: - @echo $(CFLAGS) - @echo $(EXTRA_CFLAGS) - @echo $(OBJ) $(RTAI_OBJ) - @echo $(USRP_OBJ) - @echo IS_REL8 is $(IS_REL8) - @echo IS_REL10 is $(IS_REL10) - @echo openssl $(OPENSSL_FOUND) - @echo nettle $(NETTLE_FOUND) -beautiful: - astyle --style=gnu -s2 $(SRC) + + +ifndef RTAI +RTAI=1 +endif + + + +ifeq ($(ENABLE_RAL), 1) +CFLAGS += -DENABLE_RAL +endif + +ifdef SECU +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 + + +ifeq ($(RTAI),1) +CFLAGS += -DENABLE_RTAI_CLOCK +CFLAGS += -DCONFIG_RTAI_LXRT_INLINE #remend the RTAI warning +RTAI_OBJ = sched_dlsch.o sched_rx_pdsch.o rt_wrapper.o +else #RTAI +CFLAGS += -DENABLE_USE_CPU_EXECUTION_TIME +OBJ += sched_dlsch.o sched_rx_pdsch.o rt_wrapper.o +endif + +OBJ += $(OPENAIR1_DIR)/SIMULATION/TOOLS/taus.o $(OPENAIR_TARGETS)/SIMU/USER/init_lte.o + +ifeq ($(USRP),0) +OBJ += $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.o $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/gain_control.o +CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/DEFS +endif + +CFLAGS += -DENABLE_VCD_FIFO + + +TOP_DIR = $(OPENAIR1_DIR) +include $(OPENAIR1_DIR)/PHY/Makefile.inc +include $(OPENAIR1_DIR)/SCHED/Makefile.inc + +OBJ += $(PHY_OBJS) +ifeq ($(RTAI),1) +RTAI_OBJ += $(SCHED_OBJS) +else +OBJ += $(SCHED_OBJS) +endif + +OPENAIR2_TOP = $(OPENAIR2_DIR) +include $(OPENAIR2_DIR)/LAYER2/Makefile.inc +include $(OPENAIR2_DIR)/UTIL/Makefile.inc +include $(OPENAIR2_DIR)/RRC/NAS/Makefile.inc +include $(OPENAIR2_DIR)/ENB_APP/Makefile.inc +include $(OPENAIR3_DIR)/RAL-LTE/Makefile.inc + +ifeq ($(USRP),1) + +include $(OPENAIR_TARGETS)/ARCH/USRP/USERSPACE/LIB/Makefile.inc +CFLAGS += -I/opt/include/uhd -L/opt/lib -luhd -lpthread -lstdc++ +CFLAGS += -DUSRP +LDFLAGS += -L/opt/lib -luhd -lpthread -lstdc++ +endif + +OBJ += $(ENB_APP_OBJS) + +ifeq ($(RTAI),1) +CFLAGS += -I/usr/realtime/include -I/usr/realtime/include/asm +LOG_OBJS= +RTAI_OBJ+=$(LOG_DIR)/vcd_signal_dumper.o +RTAI_OBJ+=$(LOG_DIR)/log.o +endif + +include $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/Makefile.inc + +OBJ += $(LOG_OBJS) + +ifndef OPENAIR2 +OPENAIR2=1 +endif +ifeq ($(OPENAIR2),1) +ASN1_MSG_OBJS1=$(addprefix $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/, $(ASN1_MSG_OBJS)) +OBJ += $(L2_OBJS) $(LIST_OBJ) $(TIMER_OBJ) $(MEM_OBJ) $(OTG_OBJS) $(MATH_OBJS) $(OSA_OBJS) +OBJ += $(OPENAIR1_DIR)/SIMULATION/ETH_TRANSPORT/netlink_init.o +#OBJ += $(PDCP_DIR)/pdcp_thread.o +CFLAGS += -DOPENAIR2 -DNO_RRM -DPUCCH -DMAC_CONTEXT=1 +endif + +RTAI_OBJ += $(UTILS_OBJS) + + + +#ifdef ENABLE_ITTI +CFLAGS += -DEXMIMO_IOT +#endif + +ifdef MSG_PRINT +CFLAGS += -DRRC_MSG_PRINT +CFLAGS += -DPDCP_MSG_PRINT +endif + +CFLAGS += $(L2_incl) $(ENB_APP_incl) $(UTIL_incl) $(UTILS_incl) + +CFLAGS += -I$(OPENAIR1_DIR) -I$(OPENAIR2_DIR)/RRC/LITE/MESSAGES #-I$(OPENAIR3_DIR)/MESH -I$(OPENAIR3_DIR)/MESH/RRM + +CFLAGS += -DNEW_FFT -DLOG_NO_THREAD + +ifeq ($(XFORMS),1) +CFLAGS += -DXFORMS -I/usr/include/X11 +LDFLAGS += -lforms +OBJ += $(OPENAIR1_DIR)/PHY/TOOLS/lte_phy_scope.o +OBJ += stats.o +endif + +OBJ_SYNC = $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.o rt_wrapper.o $(OPENAIR2_DIR)/UTIL/LOG/log.o $(OPENAIR2_DIR)/UTIL/LOG/vcd_signal_dumper.o + +ifdef SMBV +CFLAGS += -DSMBV +endif + +#CPUFLAGS = -mmmx -msse -msse2 -m32 -mssse3 -msse4.1 +CPUFLAGS = -mmmx -msse -msse2 -mssse3 -msse4.1 +#CFLAGS += -fno-common -mpreferred-stack-boundary=4 +CFLAGS += -Wall -fno-strict-aliasing -DPHYSIM -DUSER_MODE -DPC_TARGET -DPC_DSP -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TXRX=2 -DNB_ANTENNAS_TX=2 -DPHY_CONTEXT=1 -rdynamic $(CPUFLAGS) # -Wno-packed-bitfield-compat +CFLAGS += -DOPENAIR_LTE -DENABLE_FXP -DOPENAIR1 -DDLSCH_THREAD #-DULSCH_THREAD + + +ifeq ($(USRP),0) +CFLAGS += -DEXMIMO +#CFLAGS += -DEXMIMO -DTIMING_ADVANCE_HW=138 #this is for ExpressMIMO 1 +#CFLAGS += -DEXMIMO -DTIMING_ADVANCE_HW=45 #this is for ExpressMIMO 2 +endif + +ifeq ($(HARD_RT),1) +CFLAGS += -DHARD_RT +endif + +ifeq ($(EMOS),1) +CFLAGS += -D_FILE_OFFSET_BITS=64 -DEMOS #-DEMOS_CHANNEL +LDFLAGS += -lgps +endif + +ifeq ($(NAS),1) +CFLAGS += -DNAS_NETLINK -DLINUX +OBJ += $(NAS_OBJS) +endif + +LDFLAGS += -lpthread -lm -lforms -lconfig -lrt +ifeq ($(RTAI),1) +RTAI_CFLAGS += $(shell rtai-config --lxrt-cflags) -DRTAI +LDFLAGS += $(shell rtai-config --lxrt-ldflags) +endif + +#ifeq ($(USRP),1) +#CFLAGS += -I/opt/uhd/include -L/opt/uhd/lib -luhd -lpthread -lstdc++ +#CFLAGS += -DUSRP +#endif +#CFLAGS += -I/usr/include/c++/4.6 -I/usr/include/c++/4.6/x86_64-linux-gnu -I/usr/include/rtai/ + +LFDS_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(LFDS_DIR)) +LFDS_LIB = $(LFDS_OBJ_DIR)/bin/liblfds611.a +LIBS += $(LFDS_LIB) +SHARED_DEPENDENCIES += $(LFDS_LIB) + +-include $(OBJ:.o=.d) +-include $(ASN1_MSG_OBJS1:.o=.d) +-include $(RTAI_OBJ:.o=.d) +-include lte-softmodem.d +-include lte-enb.d + +$(LFDS_LIB): + @if [ ! -d $(LFDS_OBJ_DIR)/bin ]; then mkdir -p $(LFDS_OBJ_DIR)/bin; fi; + @if [ ! -d $(LFDS_OBJ_DIR)/obj ]; then mkdir -p $(LFDS_OBJ_DIR)/obj; fi; + $(MAKE) -C $(LFDS_DIR) -f makefile.linux OUTDIR=$(LFDS_OBJ_DIR) + +ifeq ($(USRP),1) +$(USRP_OBJ):$(USRP_FILE_OBJ) + @echo Compiling $< + @$(CXX) -c $(USRP_CFLAGS) $(USRP_FILE_OBJ) -o $(USRP_OBJ) +endif + +ifeq ($(RTAI),1) +$(RTAI_OBJ) lte-softmodem.o: %.o : %.c +else +$(RTAI_OBJ): %.o : %.c +endif + @echo Compiling $< ... + @$(CC) -c $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) -o $@ $< + @$(CC) -MM $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) $< > $*.d + @mv -f $*.d $*.d.tmp + @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d + @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | \ + sed -e 's/^ *//' -e 's/$$/:/' >> $*.d + @rm -f $*.d.tmp + +ifdef ENABLE_ITTI +$(OBJ) $(RTAI_OBJ): $(ITTI_MESSAGES_H) +endif + +ifeq ($(RTAI),1) +$(OBJ) $(ASN1_MSG_OBJS1): %.o : %.c +else +$(OBJ) $(ASN1_MSG_OBJS1) lte-softmodem.o: %.o : %.c +endif + + @echo Compiling $< ... + @$(CC) -c $(CFLAGS) $(EXTRA_CFLAGS) -o $@ $< + @$(CC) -MM $(CFLAGS) $(EXTRA_CFLAGS) $< > $*.d + @mv -f $*.d $*.d.tmp + @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d + @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | \ + sed -e 's/^ *//' -e 's/$$/:/' >> $*.d + @rm -f $*.d.tmp + +OBJ_EMOS = $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.o $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/gain_control.o rt_wrapper.o $(OPENAIR2_DIR)/UTIL/LOG/log.o $(OPENAIR2_DIR)/UTIL/LOG/vcd_signal_dumper.o $(OPENAIR1_DIR)/PHY/TOOLS/signal_energy.o $(OPENAIR1_DIR)/PHY/TOOLS/dB_routines.o +ifeq ($(XFORMS),1) +OBJ_EMOS+=lte_scope.o +endif + +condtest: condtest.c + $(CC) $(CFLAGS) $(LDFLAGS) condtest.c -o condtest + +synctest: $(OBJ_SYNC) $(SHARED_DEPENDENCIES) synctest.c + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) $(OBJ_SYNC) -o synctest synctest.c $(LDFLAGS) $(LIBS) + +sleeptest: rt_wrapper.o sleeptest.c + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) rt_wrapper.o -o sleeptest sleeptest.c $(LDFLAGS) + +lte-softmodem: $(OBJ) $(USRP_OBJ) $(ASN1_MSG_OBJS1) $(RTAI_OBJ) lte-softmodem.o $(SHARED_DEPENDENCIES) + @echo Linking $@ + @$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(OBJ) $(USRP_OBJ) $(RTAI_OBJ) $(ASN1_MSG_OBJS1) lte-softmodem.o -o lte-softmodem $(LDFLAGS) $(LIBS) + +emos-raw: $(SHARED_DEPENDENCIES) $(OBJ_EMOS) emos-raw.c + @$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) $(OBJ_EMOS) -o emos-raw emos-raw.c $(LDFLAGS) $(LIBS) + + +synctest_eNB: synctest + cp synctest synctest_eNB + +synctest_UE: synctest + cp synctest synctest_UE + +drivers: + cd $(OPENAIR2_DIR) && make clean && make nasmesh_netlink.ko + cd $(OPENAIR2_DIR)/NAS/DRIVER/MESH/RB_TOOL && make clean && make + cd $(OPENAIR_TARGETS)/ARCH/EXMIMO/DRIVER/eurecom && make clean && make + cd $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT && make clean && make + +run: condtest + rtai-load condtest --verbose + +run_eNB_test: + rtai-load eNB_test --verbose + +run_eNB: + rtai-load eNB --verbose + +run_UE: + rtai-load UE --verbose + +run_UE0: + rtai-load UE0 --verbose + +run_UE0_smbv: + rtai-load UE0_smbv --verbose + +run_UE850: + rtai-load UE850 --verbose + +run_eNB850: + rtai-load eNB850 --verbose + +run_UE0prach: + rtai-load UE0prach --verbose + +run_UE1prach: + rtai-load UE1prach --verbose + +run_UE2prach: + rtai-load UE2prach --verbose + +run_UE0noL2: + rtai-load UE0noL2 -- verbose + +run_UE1noL2: + rtai-load UE1noL2 --verbose + +run_UE2noL2: + rtai-load UE2noL2 --verbose + +run_UE0calib: + rtai-load UE0calib --verbose + +run_UE0calibmed: + rtai-load UE0calibmed --verbose + +run_UE0calibbyp: + rtai-load UE0calibbyp --verbose + +run_UE1: + rtai-load UE1 --verbose + +run_UE2: + rtai-load UE2 --verbose + +run_eNB0: + rtai-load eNB0 --verbose + +run_eNB1: + rtai-load eNB1 --verbose + +run_eNB2: + rtai-load eNB2 --verbose + +clean: common-clean + @$(RM_F_V) $(OBJ) $(RTAI_OBJ) $(OBJ_EMOS) $(OBJ_SYNC) $(USRP_OBJ) + @$(RM_F_V) $(OBJ:.o=.d) $(RTAI_OBJ:.o=.d) $(OBJ_EMOS:.o=.d) $(OBJ_SYNC:.o=.d) + @$(RM_F_V) $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/asn1_msg.o $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/asn1_msg.d + @$(RM_F_V) lte-enb.o lte-enb.d lte-softmodem.o lte-softmodem.d + @$(RM_F_V) lte-enb.o lte-softmodem.o + +cleanasn1: + rm -f $(ASN1_MSG_OBJS1) + $(shell cd $(OPENAIR2_DIR)/RRC/LITE/MESSAGES ; rm -f $(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS) *.o *.d ) + rm -f $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/Makefile.am.sample + rm -f $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/Makefile.inc.generated + rm -f $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/asn1c/ASN1_files/.lock-rel8 + rm -f $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/asn1c/ASN1_files/.lock-rel10 + +cleancell: + rm -f $(OPENAIR2_DIR)/RRC/CELLULAR/*.o + rm -f $(OPENAIR2_DIR)/RRC/CELLULAR/*.d + rm -f $(OPENAIR2_DIR)/RRC/L2_INTERFACE/*.o + rm -f $(OPENAIR2_DIR)/RRC/L2_INTERFACE/*.d + rm -f $(OPENAIR2_DIR)/NAS/SIMU_CELLULAR/*.o + rm -f $(OPENAIR2_DIR)/NAS/SIMU_CELLULAR/*.d + +cleanalmostall: clean + rm -f $(ASN1_MSG_OBJS1) + rm -rf condtest synctest lte-softmodem + rm -rf synctest_eNB synctest_UE + +cleanall: common-cleanall clean cleanasn1 + rm -rf condtest synctest lte-softmodem lte-softmodem-usrp + rm -rf synctest_eNB synctest_UE + +show: + @echo $(CFLAGS) + @echo $(EXTRA_CFLAGS) + @echo $(OBJ) $(RTAI_OBJ) + @echo $(USRP_OBJ) + @echo IS_REL8 is $(IS_REL8) + @echo IS_REL10 is $(IS_REL10) + @echo openssl $(OPENSSL_FOUND) + @echo nettle $(NETTLE_FOUND) +beautiful: + astyle --style=gnu -s2 $(SRC) -- 2.26.2