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