S1AP_DIR = $(OPENAIR3_DIR)/OPENAIRMME/S1AP S1AP_OBJDIR = $(OPENAIR3_DIR)/OPENAIRMME/S1AP/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_OBJDIR)/s1ap_encoder.o \ $(S1AP_OBJDIR)/s1ap_decoder.o \ $(S1AP_OBJDIR)/s1ap_xer_print.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)) # pull in dependency info for *existing* .o files -include .*.d # -include .*.d CFLAGS = \ -I./MESSAGES \ -I$(S1AP_OBJDIR) \ -I../GTPV1-U \ -I../GTPV1-U/nw-gtpv1u/shared \ -I../GTPV1-U/nw-gtpv1u/include \ -I../SCTP \ -I../UDP \ -I../UTILS \ -I../UTILS/HASHTABLE \ -I$(OPENAIR2_DIR)/COMMON \ -I$(S1AP_DIR) \ -I$(OPENAIR2_DIR) \ -I$(OPENAIR2_DIR)/UTIL \ $(ADD_CFLAGS) \ -DENB_MODE \ -DENABLE_USE_MME \ -DEMIT_ASN_DEBUG_EXTERN \ -DUSER_MODE \ -g \ -O2 \ -Wall \ -Werror=implicit-function-declaration $(libs1ap_OBJECTS): %.o : %.c @echo "Compiling $<" @$(CC) -c $(CFLAGS) -o $@ $< @$(CC) -MM $(CFLAGS) $*.c > .$(notdir $*).d @mv -f .$(notdir $*).d .$(notdir $*).d.tmp @sed -e 's|.*:|$*.o:|' < .$(notdir $*).d.tmp > .$(notdir $*).d @sed -e 's/.*://' -e 's/\\$$//' < .$(notdir $*).d.tmp | fmt -1 | \ sed -e 's/^ *//' -e 's/$$/:/' >> .$(notdir $*).d @rm -f .$(notdir $*).tmp $(S1AP_OBJDIR)/s1ap_ieregen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/S1AP-PDU-Contents.asn $(ASN1DIR)/asn1tostruct.py mkdir -p $(S1AP_OBJDIR) python $(ASN1DIR)/asn1tostruct.py -f$< -o$(S1AP_OBJDIR) echo Timestamp > $@ $(S1AP_OBJDIR)/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 > $@ libs1ap.a: $(S1AP_OBJDIR)/s1ap_ieregen.stamp $(S1AP_OBJDIR)/s1ap_asn1regen.stamp $(libs1ap_OBJECTS) @echo Creating S1AP archive @$(AR) rcs $@ $(libs1ap_OBJECTS) clean: rm -f $(libs1ap_OBJECTS) rm -f $(libs1ap_OBJECTS:.o=.d) rm -f libs1ap.a rm -f $(S1AP_OBJDIR)/s1ap_asn1regen.stamp rm -f $(S1AP_OBJDIR)/s1ap_ieregen.stamp rm -f $(S1AP_OBJDIR)/s1ap_decoder.c $(S1AP_OBJDIR)/s1ap_encoder.c rm -f $(S1AP_OBJDIR)/s1ap_xer_print.c $(S1AP_OBJDIR)/s1ap_ies_defs.h