nt9856x/code/application/source/sf_app/Makefile

152 lines
4.7 KiB
Makefile
Executable File

include $(NVT_PRJCFG_MODEL_CFG)
include ./MakeConfig.mk
#######################################################################################
#--------- INCs FOR C_CFLAGS ---------------------------------------------------------#
#######################################################################################
# DIRs
SYSROOT_DIR = $(shell $(CC) $(PLATFORM_CFLAGS) -print-sysroot)
GCC_LIB_DIR = $(dir $(shell $(CC) $(PLATFORM_CFLAGS) -print-libgcc-file-name))
SYSROOT_LIB_DIR = $(SYSROOT_DIR)/usr/lib
STDC_LIB_DIR = $(dir $(shell $(CC) $(PLATFORM_CFLAGS) -print-file-name=libstdc++.a))
LIBC_LIB_DIR = $(dir $(shell $(CC) $(PLATFORM_CFLAGS) -print-file-name=libc.a))
HDAL_SAMPLE_DIR = $(NVT_HDAL_DIR)/samples
NVT_TOOLS_DIR = $(BUILD_DIR)/nvt-tools
VOS_DRIVER_DIR = $(NVT_VOS_DIR)/drivers
KDRV_DIR = $(NVT_HDAL_DIR)/drivers/k_driver
EXT_DIR = $(NVT_HDAL_DIR)/ext_devices
KFLOW_DIR = $(NVT_HDAL_DIR)/drivers/k_flow
OUTPUT_DIR = ./output
INSTALL_DIR = ../../output
SIFAR_OPEN_SOURCE = yes
AI_LIB_DIR = $(NVT_HDAL_DIR)/vendor/ai2/source
uclibc=$(shell echo $(CROSS_COMPILE)|grep uclib)
ifeq ($(uclibc),)
AI_PREBUILD_LIB=$(NVT_HDAL_DIR)/vendor/ai/source/prebuilt/lib/glibc
else
AI_PREBUILD_LIB=$(NVT_HDAL_DIR)/vendor/ai/source/prebuilt/lib/uclibc
endif
SIFAR_DIR = $(LIBRARY_DIR)/source/sifar/code
SIFAR_APP_DIR = ./code/include
# public includes
EXTRA_INCLUDE += \
-I$(NVT_VOS_DIR)/include \
-I$(NVT_HDAL_DIR)/include \
-I$(NVT_HDAL_DIR)/vendor/isp/include \
-I$(NVT_HDAL_DIR)/vendor/isp/drivers/include \
-I$(LIBRARY_DIR)/include \
-I$(KDRV_DIR)/include/plat \
-I$(KDRV_DIR)/include/comm \
-I$(KDRV_DIR)/include \
-I$(EXT_DIR)/panel/display_panel/include \
-I$(EXT_DIR)/sensor/sen_common \
-I$(EXT_DIR)/audio/aud_common/include \
-I$(KFLOW_DIR)/include \
-I$(NVT_DRIVER_DIR)/include \
-I$(LIBRARY_DIR)/include \
-I$(APP_DIR)/include \
-I$(KDRV_DIR)/source/kdrv_gfx2d/kdrv_affine/include \
-I$(NVT_HDAL_DIR)/vendor/media/include \
-I$(NVT_HDAL_DIR)/vendor/common/include \
-I$(SIFAR_DIR)/include \
-I$(SIFAR_APP_DIR) \
# application local includes
EXTRA_INCLUDE += \
-I$(APP_DIR)/source/cardv/SrcCode \
-I$(APP_DIR)/source/cardv/SrcCode/Startup \
-I$(APP_DIR)/source/cardv/SrcCode/System \
-I$(APP_DIR)/source/cardv/SrcCode/Dx/include \
-I$(APP_DIR)/source/cardv/SrcCode/Gx/include \
-I$(APP_DIR)/source/cardv/SrcCode/Compatible \
-I$(APP_DIR)/source/cardv/SrcCode/Dx/$(MODEL)
ifeq "$(UI_STYLE)" "UI_STYLE_LVGL"
EXTRA_INCLUDE += \
-I$(APP_DIR)/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM \
endif
EXTRA_INCLUDE += \
-I$(NVT_HDAL_DIR)/vendor/ai2/include \
-I$(NVT_HDAL_DIR)/vendor/ai2/source_pub/include \
-I$(NVT_HDAL_DIR)/vendor/ai2/source_pub/vendor_ai_cpu \
-I$(NVT_HDAL_DIR)/vendor/ai2/source_pub/vendor_ai_dsp \
-I$(NVT_HDAL_DIR)/vendor/ai/drivers/k_driver/include \
-I$(NVT_HDAL_DIR)/vendor/ai2/drivers/k_flow/include \
-I$(NVT_HDAL_DIR)/vendor/ai2/drivers/k_flow/source/kflow_ai_net \
-I$(APP_DIR)/source/cardv/SrcCode/UIApp/Alg \
#--------- END OF INCs FOR C_CFLAGS ---------------------------------------------------
# code/lib
EXTRA_LIB += \
-l:libsifar.a \
#######################################################################################
#--------- SOURCEs FOR APPLICATION ---------------------------------------------------#
#######################################################################################
# system
SRC = \
./code/source/app/sf_test.c \
./code/source/app/sf_app.c
#--------- END OF SOURCEs FOR APPLICATION ---------------------------------------------
include $(NVT_PRJCFG_MODEL_CFG)
#--------- ENVIRONMENT SETTING --------------------
INCLUDES = -I$(NVT_HDAL_DIR)/include -I$(LIBRARY_DIR)/include
WARNING = -Wall -Wundef -Wsign-compare -Wno-missing-braces -Wstrict-prototypes
COMPILE_OPTS = $(INCLUDES) -I. -O2 -fPIC -ffunction-sections -fdata-sections
CPPFLAGS =
CFLAGS = $(PLATFORM_CFLAGS) $(PRJCFG_CFLAGS)
C_FLAGS = $(COMPILE_OPTS) $(EXTRA_INCLUDE) $(EXTRA_LIB) $(CPPFLAGS) $(CFLAGS) $(WARNING) $(C_PREDEFINED)
LD_FLAGS = -L$(LIBRARY_DIR)/output/lib -Wl,-rpath-link=$(LIBRARY_DIR)/output/lib -lrt
#--------- END OF ENVIRONMENT SETTING -------------
#--------- Compiling -------------------
BIN = sf_app
HEADER = $(shell find . -name "*.h")
OBJ = $(SRC:.c=.o)
.PHONY: all clean install
ifeq ($(SIFAR_OPEN_SOURCE),no)
all:
@echo ">>> Skip"
clean:
@echo ">>> Skip"
else
all: $(BIN)
$(BIN): $(OBJ)
$(CC) -o $@ $(OBJ) $(LD_FLAGS)
$(NM) -n $@ > $@.sym
$(STRIP) $@
$(OBJCOPY) -R .comment -R .note.ABI-tag -R .gnu.version $@
%.o: %.c $(HEADER)
$(CC) $(C_FLAGS) -c $< -o $@
clean:
rm -vf $(BIN) $(OBJ) $(BIN).sym *.o *.a *.so*
endif
install:
@echo ">>>>>>>>>>>>>>>>>>> $@ >>>>>>>>>>>>>>>>>>>"
@mkdir -p $(APP_DIR)/output
@cp -avf $(BIN) $(APP_DIR)/output
@cp -avf ${BIN} $(ROOTFS_DIR)/rootfs/usr/bin