How to add my files to linux framebuffer example project?

makefile of this example is quite complicated for me

#
# Makefile
#


CC=A:/path_to_gcc_cross_compiler_blah_blah_blah/arm-rcm-linux-gnueabihf/bin/arm-rcm-linux-gnueabihf-gcc.exe

LVGL_DIR_NAME ?= lvgl
LVGL_DIR ?= A:/project_folder_path
CFLAGS ?= -O3 -g0 -I$(LVGL_DIR)/ -std=c11 -Wall -Wshadow -Wundef -Wmaybe-uninitialized -Wall -Wextra -Wno-unused-function -Wundef -Wno-error=strict-prototypes -Wpointer-arith -fno-strict-aliasing -Wno-error=cpp -Wuninitialized -Wmaybe-uninitialized -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wno-cast-qual -Wunreachable-code -Wno-switch-default -Wno-switch-enum -Wreturn-type -Wmultichar -Wformat-security -Wno-ignored-qualifiers -Wno-error=pedantic -Wno-sign-compare -Wno-error=missing-prototypes -Wdouble-promotion -Wclobbered -Wdeprecated -Wempty-body -Wtype-limits -Wno-unused-value -Wno-unused-parameter -Wno-missing-field-initializers -Wuninitialized -Wmaybe-uninitialized -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wpointer-arith -Wno-cast-qual -Wunreachable-code -Wno-switch-default -Wreturn-type -Wmultichar -Wformat-security -Wno-ignored-qualifiers -Wno-sign-compare
LDFLAGS ?= -lm
BIN = demo
 

#Collect the files to compile
MAINSRC = ./main.c

include $(LVGL_DIR)/lvgl/lvgl.mk
include $(LVGL_DIR)/lv_drivers/lv_drivers.mk
include $(LVGL_DIR)/lv_examples/lv_examples.mk
#include $(LVGL_DIR)/userspace/user_space.mk

OBJEXT ?= .o

AOBJS = $(ASRCS:.S=$(OBJEXT))
COBJS = $(CSRCS:.c=$(OBJEXT))

MAINOBJ = $(MAINSRC:.c=$(OBJEXT))

SRCS = $(ASRCS) $(CSRCS) $(MAINSRC)
OBJS = $(AOBJS) $(COBJS)

# MAINOBJ -> OBJFILES

all: default

%.o: %.c
	@$(CC)  $(CFLAGS) -c $< -o $@
	@echo "CC $<"
    
default: $(AOBJS) $(COBJS) $(MAINOBJ)
	$(CC) -o $(BIN) $(MAINOBJ) $(AOBJS) $(COBJS) $(LDFLAGS)

clean: 
	rm -f $(BIN) $(AOBJS) $(COBJS) $(MAINOBJ)


also in folder “userspace” i have file user_space.mk
that consists of my tries to make the same as for other lvgl mkfiles

#CSRCS += $(shell find -L userspace -name "*.c")

#CSRCS += $(LVGL_DIR)/userspace/test.c

#DEPPATH += --dep-path $(LVGL_DIR)/userspace
#VPATH += :$(LVGL_DIR)/userspace

#CFLAGS += "-I$(LVGL_DIR)/userspace"

so i need any help to add file for example test.c and compile it with example linux buffer project.
(test.c is separated in “userspace” folder. userspace folder is in project root folder next to lv_example lv_driver and lvgl folders.

Unless I’m missing something the CSRCS lines look correct in user_space.mk; have you tried just using those?

arm-rcm-linux-gnueabihf-gcc.exe: error: lv_group.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_indev.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_disp.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_obj.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_refr.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_style.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_debug.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_hal_disp.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_hal_indev.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_hal_tick.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_arc.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_bar.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_checkbox.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_cpicker.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_dropdown.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_keyboard.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_line.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_msgbox.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_spinner.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_roller.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_table.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_tabview.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_tileview.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_btn.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_calendar.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_chart.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_canvas.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_gauge.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_label.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_list.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_slider.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_textarea.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_spinbox.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_btnmatrix.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_cont.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_img.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_imgbtn.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_led.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_linemeter.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_page.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_switch.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_win.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_objmask.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_fmt_txt.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_12.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_14.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_16.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_18.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_20.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_22.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_24.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_26.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_28.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_30.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_32.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_34.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_36.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_38.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_40.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_42.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_44.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_46.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_48.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_12_subpx.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_montserrat_28_compressed.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_unscii_8.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_font_dejavu_16_persian_hebrew.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_area.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_task.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_fs.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_anim.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_mem.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_ll.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_color.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_txt.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_txt_ap.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_math.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_log.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_gc.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_utils.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_async.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_printf.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_bidi.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_txt_ap.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_theme.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_theme_material.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_theme_mono.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_theme_empty.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_theme_template.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_draw_mask.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_draw_blend.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_draw_rect.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_draw_label.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_draw_line.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_draw_img.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_draw_arc.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_draw_triangle.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_img_decoder.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_img_cache.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_img_buf.o: No such file or directory
arm-rcm-linux-gnueabihf-gcc.exe: error: lv_gpu_stm32_dma2d.o: No such file or directory

now i have this error, btw for example lv_gpu_stm32_dma2d.o exists so i think something wrong with links…

as i see object files are in their directories but there is no links to them so linker cant find them, but if i will copy all the *.o files to project root directory and perform make again - project compiles ok.

maybe there is something in makefile? something wrong with obj file list…

ive deleted all *.o files manually from project dir and subdirs and now it compiles ok with my c file (actually bmp background converted c file)
later i will try to add all nessesary project files and post results here…

ok here`s solution. not 100% ideal but its working
first of all we need to add folder in project root - for example “userspace”.
next we add files - test.c, test.h (as example ive added C converted images for background)

test.c starts from this.

#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
#include "lvgl.h"
#else
#include "ABSOLUTE_PATH_TO_PROJECT_FOLDER/lvgl/lvgl.h" //HERE IVE ADDED ABSOLUTE PATH, because automatically converted file cant link with lvgl (dont know why)
#endif
//..........here is file code.......

next we need to add file for example “user_space.mk” in “projectfolder/userspace/”
and there

#№CSRCS += $(shell find -L lv_examples -name "*.c")
CSRCS +=$(LVGL_DIR)/userspace/test.c

first commented string is not working in windows(msys subsystem) but may work in linux
so i use second.
now project will compile and if we add initialisation strings in main.c we can create background object from converted C file

LV_IMG_DECLARE(test);
lv_obj_t* background_imagepoi = lv_img_create(par, NULL);
lv_img_set_src(background_imagepoi, &test);
lv_obj_set_pos(background_imagepoi, 0, 0);