# include $(OPENAIR_TARGETS)/SIMU/USER/Makerules OUTDIR = $(S1AP_DIR)/enb_objs ASN1MESSAGESDIR=$(S1AP_DIR)/MESSAGES ASN1DIR=$(ASN1MESSAGESDIR)/ASN1 ifeq ($(USE_MME), R10) ASN1RELDIR=R10.5 UPDATE_RELEASE_9=1 UPDATE_RELEASE_10=1 ADD_CFLAGS=-DUPDATE_RELEASE_9 -DUPDATE_RELEASE_10 else ifeq ($(USE_MME), R9) UPDATE_RELEASE_9=1 ASN1RELDIR=R9.8 ADD_CFLAGS=-DUPDATE_RELEASE_9 else ASN1RELDIR=R8.10 endif endif include $(ASN1MESSAGESDIR)/Makefile.inc libs1ap_OBJECTS = \ s1ap_eNB.o s1ap_common.o \ s1ap_eNB_itti_messaging.o \ s1ap_eNB_decoder.o \ s1ap_eNB_encoder.o \ s1ap_eNB_handlers.o \ s1ap_eNB_nnsf.o s1ap_eNB_ue_context.o \ s1ap_eNB_trace.o s1ap_eNB_overload.o \ s1ap_eNB_nas_procedures.o \ s1ap_eNB_management_procedures.o \ $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES)) ifeq ($(USE_MME), R10) libs1ap_OBJECTS += $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9)) libs1ap_OBJECTS += $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10)) else ifeq ($(USE_MME), R9) libs1ap_OBJECTS += $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9)) endif endif # pull in dependency info for *existing* .o files -include $(OUTDIR)/*.d CFLAGS = \ -Wall \ -DENB_MODE \ -DENABLE_USE_MME \ -DEMIT_ASN_DEBUG=1 \ -DUSER_MODE \ -I./MESSAGES \ -I$(OUTDIR) \ -I../UTILS \ $(ADD_CFLAGS) \ -DENB_MODE \ $(S1AP_CFLAGS) \ -Wuninitialized \ -Werror=implicit-function-declaration S1AP_GENERATED = \ $(OUTDIR)/s1ap_encoder.o \ $(OUTDIR)/s1ap_decoder.o \ $(OUTDIR)/s1ap_xer_print.o $(OUTDIR)/%.o : %.c @echo "Compiling $<" @if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi; @$(CC) -c $(CFLAGS) -o $@ $< @$(CC) -MM $(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 $(S1AP_GENERATED): %.o : %.c @echo "Compiling $<" @if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi; @$(CC) -c $(CFLAGS) -o $@ $< @$(CC) -MM $(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 $(OUTDIR)/s1ap_ieregen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/S1AP-PDU-Contents.asn $(ASN1DIR)/asn1tostruct.py @if [ ! -d $(OUTDIR) ]; then mkdir -p $(OUTDIR); fi; @python $(ASN1DIR)/asn1tostruct.py -f$< -o$(OUTDIR) @echo Timestamp > $@ $(OUTDIR)/s1ap_asn1regen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/S1AP-CommonDataTypes.asn \ $(ASN1DIR)/$(ASN1RELDIR)/S1AP-Constants.asn $(ASN1DIR)/$(ASN1RELDIR)/S1AP-IEs.asn $(ASN1DIR)/$(ASN1RELDIR)/S1AP-PDU.asn (cd $(ASN1MESSAGESDIR) && asn1c -fhave_native64 -gen-PER $^) @echo Timestamp > $@ $(OUTDIR)/libs1ap.a: $(OUTDIR)/s1ap_ieregen.stamp $(OUTDIR)/s1ap_asn1regen.stamp $(S1AP_GENERATED) $(addprefix $(OUTDIR)/,$(libs1ap_OBJECTS)) @echo Creating S1AP archive @$(AR) rcs $@ $(S1AP_GENERATED) $(addprefix $(OUTDIR)/,$(libs1ap_OBJECTS)) clean: @$(RM_F_V) $(OUTDIR)/*.o @$(RM_F_V) $(OUTDIR)/*.d @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES:.o=.d)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9:.o=.d)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10:.o=.d)) @$(RM_F_V) $(OUTDIR)/libs1ap.a @$(RM_F_V) $(OUTDIR)/s1ap_asn1regen.stamp @$(RM_F_V) $(OUTDIR)/s1ap_ieregen.stamp @$(RM_F_V) $(OUTDIR)/s1ap_decoder.c $(OUTDIR)/s1ap_encoder.c @$(RM_F_V) $(OUTDIR)/s1ap_xer_print.c $(OUTDIR)/s1ap_ies_defs.h cleanall: clean @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES:.o=.c)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES:.o=.h)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9:.o=.c)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9:.o=.h)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10:.o=.c)) @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10:.o=.h)) showcflags: @echo s1ap cflags: $(CFLAGS)