LIB_DIR = $(PROJECT_ROOT)/lib # TODO: some places use lib/header.h includes, is it ok? CFLAGS += -I$(LIB_DIR) # Mlib containers CFLAGS += -I$(LIB_DIR)/mlib # U8G2 display library U8G2_DIR = $(LIB_DIR)/u8g2 CFLAGS += -I$(U8G2_DIR) C_SOURCES += $(U8G2_DIR)/u8x8_d_st7565.c C_SOURCES += $(U8G2_DIR)/u8g2_d_setup.c C_SOURCES += $(U8G2_DIR)/u8g2_intersection.c C_SOURCES += $(U8G2_DIR)/u8g2_setup.c C_SOURCES += $(U8G2_DIR)/u8g2_d_memory.c C_SOURCES += $(U8G2_DIR)/u8x8_cad.c C_SOURCES += $(U8G2_DIR)/u8x8_byte.c C_SOURCES += $(U8G2_DIR)/u8x8_gpio.c C_SOURCES += $(U8G2_DIR)/u8x8_display.c C_SOURCES += $(U8G2_DIR)/u8x8_setup.c C_SOURCES += $(U8G2_DIR)/u8g2_hvline.c C_SOURCES += $(U8G2_DIR)/u8g2_line.c C_SOURCES += $(U8G2_DIR)/u8g2_ll_hvline.c C_SOURCES += $(U8G2_DIR)/u8g2_circle.c C_SOURCES += $(U8G2_DIR)/u8g2_box.c C_SOURCES += $(U8G2_DIR)/u8g2_buffer.c C_SOURCES += $(U8G2_DIR)/u8g2_font.c C_SOURCES += $(U8G2_DIR)/u8g2_fonts.c C_SOURCES += $(U8G2_DIR)/u8x8_8x8.c C_SOURCES += $(U8G2_DIR)/u8g2_bitmap.c FATFS_DIR = $(LIB_DIR)/fatfs C_SOURCES += $(FATFS_DIR)/ff.c C_SOURCES += $(FATFS_DIR)/ff_gen_drv.c C_SOURCES += $(FATFS_DIR)/diskio.c C_SOURCES += $(FATFS_DIR)/option/unicode.c ifeq ($(SRV_INTERNAL_STORAGE), 1) LITTLEFS_DIR = $(LIB_DIR)/littlefs CFLAGS += -I$(LITTLEFS_DIR) C_SOURCES += $(LITTLEFS_DIR)/lfs.c C_SOURCES += $(LITTLEFS_DIR)/lfs_util.c endif ifeq ($(APP_NFC), 1) ST25RFAL002_DIR = $(LIB_DIR)/ST25RFAL002 CFLAGS += -I$(ST25RFAL002_DIR) CFLAGS += -I$(ST25RFAL002_DIR)/include CFLAGS += -I$(ST25RFAL002_DIR)/source/st25r3916 C_SOURCES += $(wildcard $(ST25RFAL002_DIR)/*.c) C_SOURCES += $(wildcard $(ST25RFAL002_DIR)/source/*.c) C_SOURCES += $(wildcard $(ST25RFAL002_DIR)/source/st25r3916/*.c) CFLAGS += -I$(LIB_DIR)/nfc_protocols C_SOURCES += $(wildcard $(LIB_DIR)/nfc_protocols/*.c) endif # callback connector (C to CPP) library CFLAGS += -I$(LIB_DIR)/callback-connector # app template library CFLAGS += -I$(LIB_DIR)/app-template # fnv1a hash library CFLAGS += -I$(LIB_DIR)/fnv1a-hash C_SOURCES += $(LIB_DIR)/fnv1a-hash/fnv1a-hash.c # build onewire/cyfral library only if # we build iButton application ifeq ($(APP_IBUTTON), 1) # onewire library APP_ONEWIRE = 1 endif APP_ONEWIRE ?= 0 ifeq ($(APP_ONEWIRE), 1) # onewire library ONEWIRE_DIR = $(LIB_DIR)/onewire CFLAGS += -I$(ONEWIRE_DIR) CPP_SOURCES += $(wildcard $(ONEWIRE_DIR)/*.cpp) # cyfral library CYFRAL_DIR = $(LIB_DIR)/cyfral CFLAGS += -I$(CYFRAL_DIR) CPP_SOURCES += $(wildcard $(CYFRAL_DIR)/*.cpp) endif # common apps api CFLAGS += -I$(LIB_DIR)/common-api # drivers CFLAGS += -I$(LIB_DIR)/drivers C_SOURCES += $(wildcard $(LIB_DIR)/drivers/*.c) #version CFLAGS += -I$(LIB_DIR)/version C_SOURCES += $(LIB_DIR)/version/version.c #irda lib CFLAGS += -I$(LIB_DIR)/irda C_SOURCES += $(wildcard $(LIB_DIR)/irda/*.c) C_SOURCES += $(wildcard $(LIB_DIR)/irda/*/*.c)