|
| 1 | + |
| 2 | +################################################################################ |
| 3 | +# LVGL unix optional libraries |
| 4 | +# Update CFLAGS_EXTMOD and LDFLAGS_EXTMOD for LVGL extenral library, |
| 5 | +# but do that only on the unix port, for unix specific dependencies |
| 6 | + |
| 7 | +ifneq ($(UNAME_S),Darwin) |
| 8 | +CFLAGS_EXTMOD += -DMICROPY_FB=1 |
| 9 | +endif |
| 10 | + |
| 11 | +SDL_CFLAGS_EXTMOD := $(shell pkg-config --silence-errors --cflags sdl2) |
| 12 | +SDL_LDFLAGS_EXTMOD := $(shell pkg-config --silence-errors --libs sdl2) |
| 13 | +ifneq ($(SDL_LDFLAGS_EXTMOD),) |
| 14 | +CFLAGS_EXTMOD += $(SDL_CFLAGS_EXTMOD) -DMICROPY_SDL=1 |
| 15 | +LDFLAGS_EXTMOD += $(SDL_LDFLAGS_EXTMOD) |
| 16 | +endif |
| 17 | + |
| 18 | +RLOTTIE_CFLAGS_EXTMOD := $(shell pkg-config --silence-errors --cflags rlottie) |
| 19 | +RLOTTIE_LDFLAGS_EXTMOD := $(shell pkg-config --silence-errors --libs rlottie) |
| 20 | +ifneq ($(RLOTTIE_LDFLAGS_EXTMOD),) |
| 21 | +CFLAGS_EXTMOD += $(RLOTTIE_CFLAGS_EXTMOD) -DMICROPY_RLOTTIE=1 |
| 22 | +LDFLAGS_EXTMOD += $(RLOTTIE_LDFLAGS_EXTMOD) |
| 23 | +endif |
| 24 | + |
| 25 | +FREETYPE_CFLAGS_EXTMOD := $(shell pkg-config --silence-errors --cflags freetype2) |
| 26 | +FREETYPE_LDFLAGS_EXTMOD := $(shell pkg-config --silence-errors --libs freetype2) |
| 27 | +ifneq ($(FREETYPE_LDFLAGS_EXTMOD),) |
| 28 | +CFLAGS_EXTMOD += $(FREETYPE_CFLAGS_EXTMOD) -DMICROPY_FREETYPE=1 |
| 29 | +LDFLAGS_EXTMOD += $(FREETYPE_LDFLAGS_EXTMOD) |
| 30 | +endif |
| 31 | + |
| 32 | +FFMPEG_LIBS := libavformat libavcodec libswscale libavutil |
| 33 | +FFMPEG_CFLAGS_EXTMOD := $(shell pkg-config --silence-errors --cflags $(FFMPEG_LIBS)) |
| 34 | +FFMPEG_LDFLAGS_EXTMOD := $(shell pkg-config --silence-errors --libs $(FFMPEG_LIBS)) |
| 35 | +ifneq ($(FFMPEG_LDFLAGS_EXTMOD),) |
| 36 | +CFLAGS_EXTMOD += $(FFMPEG_CFLAGS_EXTMOD) -DMICROPY_FFMPEG=1 |
| 37 | +LDFLAGS_EXTMOD += $(FFMPEG_LDFLAGS_EXTMOD) |
| 38 | +endif |
| 39 | + |
| 40 | +################################################################################ |
| 41 | + |
| 42 | +# LVGL build rules |
| 43 | + |
| 44 | + |
| 45 | +LVGL_BINDING_DIR := $(USERMOD_DIR) |
| 46 | + |
| 47 | +LVGL_DIR = $(LVGL_BINDING_DIR)/lvgl |
| 48 | +LVGL_GENERIC_DRV_DIR = $(LVGL_BINDING_DIR)/driver/generic |
| 49 | +INC += -I$(LVGL_BINDING_DIR) |
| 50 | +ALL_LVGL_SRC = $(shell find $(LVGL_DIR) -type f -name '*.h') $(LVGL_BINDING_DIR)/lv_conf.h |
| 51 | +LVGL_PP = $(BUILD)/lvgl/lvgl.pp.c |
| 52 | +LVGL_MPY = $(BUILD)/lvgl/lv_mpy.c |
| 53 | +LVGL_MPY_METADATA = $(BUILD)/lvgl/lv_mpy.json |
| 54 | +CFLAGS_EXTMOD += $(LV_CFLAGS) |
| 55 | + |
| 56 | +$(LVGL_MPY): $(ALL_LVGL_SRC) $(LVGL_BINDING_DIR)/gen/gen_mpy.py |
| 57 | + $(ECHO) "LVGL-GEN $@" |
| 58 | + $(Q)mkdir -p $(dir $@) |
| 59 | + $(Q)$(CPP) $(CFLAGS_EXTMOD) -DPYCPARSER -x c -I $(LVGL_BINDING_DIR)/pycparser/utils/fake_libc_include $(INC) $(LVGL_DIR)/lvgl.h > $(LVGL_PP) |
| 60 | + $(Q)$(PYTHON) $(LVGL_BINDING_DIR)/gen/gen_mpy.py -M lvgl -MP lv -MD $(LVGL_MPY_METADATA) -E $(LVGL_PP) $(LVGL_DIR)/lvgl.h > $@ |
| 61 | + |
| 62 | +.PHONY: LVGL_MPY |
| 63 | +LVGL_MPY: $(LVGL_MPY) |
| 64 | + |
| 65 | +CFLAGS_EXTMOD += -Wno-unused-function |
| 66 | +CFLAGS_EXTRA += -Wno-unused-function |
| 67 | +SRC_THIRDPARTY_C += $(subst $(TOP)/,,$(shell find $(LVGL_DIR)/src $(LVGL_DIR)/examples $(LVGL_GENERIC_DRV_DIR) -type f -name "*.c")) |
| 68 | +SRC_EXTMOD_C += $(LVGL_MPY) |
0 commit comments