diff --git a/openair2/X2AP/Makefile.inc b/openair2/X2AP/Makefile.inc new file mode 100755 index 0000000000000000000000000000000000000000..a5831be707794c76c5cd78450d2321cdd05bd29f --- /dev/null +++ b/openair2/X2AP/Makefile.inc @@ -0,0 +1,103 @@ + +ASN1MESSAGESDIR=$(X2AP_DIR)/MESSAGES +ASN1DIR=$(ASN1MESSAGESDIR)/ASN1 + +#//ifeq ($(USE_MME), R10) +#// ASN1RELDIR=R10.7 +#//else +#//ASN1RELDIR=R11.2 +#//endif + +# TEMP +ASN1RELDIR=R11.2 + + +include $(ASN1DIR)/$(ASN1RELDIR)/Makefile.inc + +libx2ap_OBJECTS = \ + x2ap.o \ + x2ap_common.o \ + $(addprefix MESSAGES/ASN1/$(ASN1RELDIR)/, $(ASN_MODULE_SOURCES)) + + + +# 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. \ + -I./MESSAGES/ASN1/$(ASN1RELDIR) \ + -I$(OUTDIR) \ + -I../UTILS \ + $(ADD_CFLAGS) \ + $(X2AP_CFLAGS) \ + -Wuninitialized \ + -Werror=implicit-function-declaration + +X2AP_GENERATED = \ + $(OUTDIR)/x2ap_encoder.o \ + $(OUTDIR)/x2ap_decoder.o \ + $(OUTDIR)/x2ap_xer_print.o + +$(OUTDIR)/%.o : %.c + @echo "Compiling $<" + @echo "Compiling $< with CFLAGS= $(CFLAGS)" + @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 + +$(X2AP_GENERATED): %.o : %.c + @echo "Compiling $<" + @echo "Compiling $< with CFLAGS= $(CFLAGS)" + @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)/x2ap_ieregen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/X2AP-PDU-Contents.asn $(ASN1DIR)/asn1tostruct.py + @if [ ! -d $(OUTDIR) ]; then mkdir -p $(OUTDIR); fi; + @python $(ASN1DIR)/asn1tostruct.py -f$< -o$(OUTDIR) + @echo Timestamp > $@ + + +$(OUTDIR)/x2ap_asn1regen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/X2AP-CommonDataTypes.asn \ + $(ASN1DIR)/$(ASN1RELDIR)/X2AP-Constants.asn $(ASN1DIR)/$(ASN1RELDIR)/X2AP-IEs.asn $(ASN1DIR)/$(ASN1RELDIR)/X2AP-PDU.asn + (cd $(ASN1DIR)/$(ASN1RELDIR) && asn1c -fhave_native64 -gen-PER $^) + @echo Timestamp > $@ + +$(OUTDIR)/libx2ap.a: $(OUTDIR)/x2ap_ieregen.stamp $(OUTDIR)/x2ap_asn1regen.stamp $(X2AP_GENERATED) $(addprefix $(OUTDIR)/,$(libx2ap_OBJECTS)) + @echo Creating X2AP archive + @echo libx2ap_OBJECTS $(libx2ap_OBJECTS) + @$(AR) rcs $@ $(X2AP_GENERATED) $(addprefix $(OUTDIR)/,$(libx2ap_OBJECTS)) + +clean: + @$(RM_F_V) $(OUTDIR)/*.o + @$(RM_F_V) $(OUTDIR)/*.d + @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/ASN1/$(ASN1RELDIR), $(ASN_MODULE_SOURCES)) + @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/ASN1/$(ASN1RELDIR), $(ASN_MODULE_SOURCES:.o=.d)) + @$(RM_F_V) $(OUTDIR)/libx2ap.a + @$(RM_F_V) $(OUTDIR)/x2ap_asn1regen.stamp + @$(RM_F_V) $(OUTDIR)/x2ap_ieregen.stamp + @$(RM_F_V) $(OUTDIR)/x2ap_decoder.c $(OUTDIR)/x2ap_encoder.c + @$(RM_F_V) $(OUTDIR)/x2ap_xer_print.c $(OUTDIR)/x2ap_ies_defs.h + +cleanall: clean + @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/ASN1/$(ASN1RELDIR), $(ASN_MODULE_SOURCES:.o=.c)) + @$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/ASN1/$(ASN1RELDIR), $(ASN_MODULE_SOURCES:.o=.h)) + +showcflags: + @echo x2ap cflags: $(CFLAGS)