Front Haul Interface Library first seed code contribution
[o-du/phy.git] / fhi_lib / lib / Makefile
diff --git a/fhi_lib/lib/Makefile b/fhi_lib/lib/Makefile
new file mode 100644 (file)
index 0000000..d65eef1
--- /dev/null
@@ -0,0 +1,87 @@
+#/******************************************************************************
+#*
+#*   Copyright (c) 2019 Intel.
+#*
+#*   Licensed under the Apache License, Version 2.0 (the "License");
+#*   you may not use this file except in compliance with the License.
+#*   You may obtain a copy of the License at
+#*
+#*       http://www.apache.org/licenses/LICENSE-2.0
+#*
+#*   Unless required by applicable law or agreed to in writing, software
+#*   distributed under the License is distributed on an "AS IS" BASIS,
+#*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#*   See the License for the specific language governing permissions and
+#*   limitations under the License.
+#*
+#*******************************************************************************/
+CC := icc
+AR := xiar
+
+ifeq ($(RTE_SDK),)
+    $(error "Please define RTE_SDK environment variable")
+endif
+
+RTE_TARGET := x86_64-native-linuxapp-icc
+RTE_INC := $(RTE_SDK)/$(RTE_TARGET)/include
+#include $(RTE_SDK)/mk/rte.vars.mk
+API_DIR := $(PWD)/api
+SRC_DIR := $(PWD)/src
+ETH_DIR := $(PWD)/ethernet
+
+
+ifeq ($(MLOG_DIR),)
+    MLOG_DIR=$(XRAN_DIR)/../mlog
+endif
+
+CFLAGS += -std=gnu11 -Wall -wd9 -Wno-deprecated-declarations -Wextra -Werror -qopt-report-phase:all -qopt-zmm-usage=high \
+       -fdata-sections \
+       -ffunction-sections \
+       -restrict \
+       -g \
+       -Wall \
+       -Wimplicit-function-declaration \
+       -Werror \
+       -Wextra \
+       -no-inline-max-total-size \
+       -no-inline-max-size \
+        -I$(API_DIR) -I$(ETH_DIR) -I$(MLOG_DIR)/source -I$(RTE_INC) -g -O3
+
+ifeq ($(ME),1)
+    CFLAGS += -DMLOG_ENABLED
+endif
+SRC = $(ETH_DIR)/ethdi.c \
+       $(ETH_DIR)/ethernet.c \
+       $(SRC_DIR)/xran_up_api.c \
+       $(SRC_DIR)/xran_sync_api.c \
+       $(SRC_DIR)/xran_timer.c \
+       $(SRC_DIR)/xran_cp_api.c        \
+       $(SRC_DIR)/xran_transport.c  \
+       $(SRC_DIR)/xran_common.c        \
+       $(SRC_DIR)/xran_ul_tables.c     \
+       $(SRC_DIR)/xran_main.c 
+
+FLEX_C_CRAN_LIB = libxran.a
+
+OBJ = $(foreach file,$(SRC),$(file:.c=.o))
+
+
+all: flex_lib install
+
+$(OBJ): %.o: %.c
+       $(CC) $(CFLAGS) -I$(API_DIR) -c $< -o $@ 
+
+
+flex_lib:$(FLEX_C_CRAN_LIB)
+
+$(FLEX_C_CRAN_LIB): $(OBJ)
+       $(AR) rsu $@ $^
+
+install: $(FLEX_C_CRAN_LIB)
+       mkdir -p bin
+       @mv $(FLEX_C_CRAN_LIB) ./bin
+
+clean:
+       @rm -rf $(FLEX_C_CRAN_LIB) $(OBJ) ./bin/$(FLEX_C_CRAN_LIB)
+
+#include $(RTE_SDK)/mk/rte.extlib.mk