nt9856x/code/hdal/vendor/ai/source/Makefile
2023-03-28 15:07:53 +08:00

104 lines
3.5 KiB
Makefile
Executable File

CUR_PATH := $(shell pwd)
NVT_KDRV_PATH=$(NVT_HDAL_DIR)/drivers/k_driver
NVT_KFLOW_PATH=$(NVT_HDAL_DIR)/drivers/k_flow
NVT_AI_PATH=$(NVT_HDAL_DIR)/vendor/ai
NVT_AI_KDRV_PATH=$(NVT_AI_PATH)/drivers/k_driver
NVT_AI_KFLOW_PATH=$(NVT_AI_PATH)/drivers/k_flow
OUTPUT_DIR = $(NVT_HDAL_DIR)/vendor/output
INCLUDE_PATH += -I$(NVT_VOS_DIR)/drivers/include
INCLUDE_PATH += -I$(NVT_HDAL_DIR)/include
INCLUDE_PATH += -I$(NVT_KDRV_PATH)/include -I$(NVT_KDRV_PATH)/source/include/
INCLUDE_PATH += -I$(NVT_HDAL_DIR)/vendor/include -I$(NVT_AI_PATH)/include -I$(NVT_AI_KDRV_PATH)/include -I$(NVT_AI_KFLOW_PATH)/include -I$(NVT_KFLOW_PATH)/include
INCLUDE_PATH += -I$(NVT_HDAL_DIR)/vendor/ai/source/prebuilt/include
INCLUDE_PATH += -I$(NVT_HDAL_DIR)/vendor/cv/include -I$(NVT_HDAL_DIR)/vendor/isp/include
INCLUDE_PATH += -I$(NVT_HDAL_DIR)/vendor/dsp/include -I$(NVT_HDAL_DIR)/vendor/media/include
#COPS = $(INCLUDE_PATH) -D ARM_ASM -O3 -Wall -Werror -finline-functions -msoft-float -fPIC -Wno-aggressive-loop-optimizations
COPS = $(INCLUDE_PATH) -D ARM_ASM -O3 -Wall -Werror -finline-functions -fPIC -Wno-aggressive-loop-optimizations -D__LINUX_USER__ -D__LINUX -mfpu=neon-fp16
uclibc=$(shell echo $(CROSS_COMPILE)|grep uclib)
ifeq ($(uclibc),)
PREBUILD_LIB=$(NVT_HDAL_DIR)/vendor/ai/source/prebuilt/lib/glibc
else
PREBUILD_LIB=$(NVT_HDAL_DIR)/vendor/ai/source/prebuilt/lib/uclibc
endif
CC=$(CROSS_COMPILE)gcc
AS=$(CROSS_COMPILE)as
AR=$(CROSS_COMPILE)ar
CSRC += \
net_gen_sample/net_gen_sample.c \
net_flow_user_sample/net_flow_user_sample.c \
net_flow_user_sample/net_nvtnn_layer.c \
net_post_sample/net_post_sample_softmax.c \
net_post_sample/net_post_sample_accuracy.c \
net_post_sample/net_post_sample_util.c \
vendor_ai/vendor_ai.c \
vendor_preproc/vendor_preproc.c
HDAL_STATIC_LIB = libvendor_ai.a
HDAL_DYNAMIC_LIB = libvendor_ai.so
COBJS = ${CSRC:%.c=%.o} ${CPPSRC:%.cpp=%.o}
TARGETS := $(HDAL_STATIC_LIB) $(HDAL_DYNAMIC_LIB)
.PHONY: $(TARGETS)
###############################################################################
# Linux Makefile #
###############################################################################
ifeq ($(NVT_PRJCFG_CFG),Linux)
ifeq ("$(wildcard *.c */*.c)","")
all:
@echo "nothing to be done for '$(OUTPUT_NAME)'"
clean:
@echo "nothing to be done for '$(OUTPUT_NAME)'"
codesize:
@echo "nothing to be done for '$(OUTPUT_NAME)'"
else
all:
@echo "nothing to be done for '$(OUTPUT_NAME)'"
clean :
@echo "nothing to be done for '$(OUTPUT_NAME)'"
endif
install:
cp $(PREBUILD_LIB)/*.so $(PREBUILD_LIB)/*.a $(OUTPUT_DIR)
###############################################################################
# rtos Makefile #
###############################################################################
else ifeq ($(NVT_PRJCFG_CFG),rtos)
MODULE_NAME = libvendor_ai
C_CFLAGS = $(PLATFORM_CFLAGS) $(INCLUDE_PATH)
LIB_NAME = $(MODULE_NAME).a
PREBUILD_LIB=$(NVT_HDAL_DIR)/vendor/ai/source/prebuilt/lib
SRC = \
net_flow_user_sample/net_flow_user_sample.c \
net_gen_sample/net_gen_sample.c \
net_post_sample/net_post_sample_util.c \
net_post_sample/net_post_sample_accuracy.c \
vendor_ai/vendor_ai.c \
net_post_sample/net_post_sample_softmax.c \
net_flow_user_sample/net_nvtnn_layer.c \
vendor_preproc/vendor_preproc.c \
OBJ = $(SRC:.c=.o)
all:
@echo "nothing to be done for '$(OUTPUT_NAME)'"
clean:
@echo "nothing to be done for '$(OUTPUT_NAME)'"
install:
@mkdir -p $(OUTPUT_DIR)
@cp -avf prebuilt/lib/rtos/*.a $(OUTPUT_DIR)
endif