git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6314 818b1a75-f10b-46b9-bf7c-635c3b92a50f
164 lines
5.8 KiB
Makefile
164 lines
5.8 KiB
Makefile
################################################################################
|
|
# OpenAirInterface
|
|
# Copyright(c) 1999 - 2014 Eurecom
|
|
#
|
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
#
|
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with OpenAirInterface.The full GNU General Public License is
|
|
# included in this distribution in the file called "COPYING". If not,
|
|
# see <http://www.gnu.org/licenses/>.
|
|
#
|
|
# Contact Information
|
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
|
# OpenAirInterface Dev : openair4g-devel@eurecom.fr
|
|
#
|
|
# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
|
|
#
|
|
################################################################################
|
|
# 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_common.o \
|
|
s1ap_eNB.o \
|
|
s1ap_eNB_context_management_procedures.o \
|
|
s1ap_eNB_decoder.o \
|
|
s1ap_eNB_encoder.o \
|
|
s1ap_eNB_handlers.o \
|
|
s1ap_eNB_itti_messaging.o \
|
|
s1ap_eNB_management_procedures.o \
|
|
s1ap_eNB_nas_procedures.o \
|
|
s1ap_eNB_nnsf.o \
|
|
s1ap_eNB_overload.o \
|
|
s1ap_eNB_trace.o \
|
|
s1ap_eNB_ue_context.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 \
|
|
-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)/%.c : $(OUTDIR)/s1ap_ieregen.stamp $(OUTDIR)/s1ap_asn1regen.stamp
|
|
#@if [ -f $< ] ; then touch $<; else echo "ERROR: " $< "not generated" ; exit 1 ; fi;
|
|
|
|
$(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)
|