lib.mk 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. LIB_DIR = $(PROJECT_ROOT)/lib
  2. # TODO: some places use lib/header.h includes, is it ok?
  3. CFLAGS += -I$(LIB_DIR)
  4. # Mlib containers
  5. CFLAGS += -I$(LIB_DIR)/mlib -D'M_MEMORY_FULL(x)=abort()'
  6. # U8G2 display library
  7. U8G2_DIR = $(LIB_DIR)/u8g2
  8. CFLAGS += -I$(U8G2_DIR)
  9. C_SOURCES += $(U8G2_DIR)/u8g2_glue.c
  10. C_SOURCES += $(U8G2_DIR)/u8g2_intersection.c
  11. C_SOURCES += $(U8G2_DIR)/u8g2_setup.c
  12. C_SOURCES += $(U8G2_DIR)/u8g2_d_memory.c
  13. C_SOURCES += $(U8G2_DIR)/u8x8_cad.c
  14. C_SOURCES += $(U8G2_DIR)/u8x8_byte.c
  15. C_SOURCES += $(U8G2_DIR)/u8x8_gpio.c
  16. C_SOURCES += $(U8G2_DIR)/u8x8_display.c
  17. C_SOURCES += $(U8G2_DIR)/u8x8_setup.c
  18. C_SOURCES += $(U8G2_DIR)/u8g2_hvline.c
  19. C_SOURCES += $(U8G2_DIR)/u8g2_line.c
  20. C_SOURCES += $(U8G2_DIR)/u8g2_ll_hvline.c
  21. C_SOURCES += $(U8G2_DIR)/u8g2_circle.c
  22. C_SOURCES += $(U8G2_DIR)/u8g2_box.c
  23. C_SOURCES += $(U8G2_DIR)/u8g2_buffer.c
  24. C_SOURCES += $(U8G2_DIR)/u8g2_font.c
  25. C_SOURCES += $(U8G2_DIR)/u8g2_fonts.c
  26. C_SOURCES += $(U8G2_DIR)/u8x8_8x8.c
  27. C_SOURCES += $(U8G2_DIR)/u8g2_bitmap.c
  28. FATFS_DIR = $(LIB_DIR)/fatfs
  29. C_SOURCES += $(FATFS_DIR)/ff.c
  30. C_SOURCES += $(FATFS_DIR)/ff_gen_drv.c
  31. C_SOURCES += $(FATFS_DIR)/diskio.c
  32. C_SOURCES += $(FATFS_DIR)/option/unicode.c
  33. # Little FS
  34. LITTLEFS_DIR = $(LIB_DIR)/littlefs
  35. CFLAGS += -I$(LITTLEFS_DIR) -DLFS_CONFIG=lfs_config.h
  36. C_SOURCES += $(LITTLEFS_DIR)/lfs.c
  37. C_SOURCES += $(LITTLEFS_DIR)/lfs_util.c
  38. ST25RFAL002_DIR = $(LIB_DIR)/ST25RFAL002
  39. CFLAGS += -I$(ST25RFAL002_DIR)
  40. CFLAGS += -I$(ST25RFAL002_DIR)/include
  41. CFLAGS += -I$(ST25RFAL002_DIR)/source/st25r3916
  42. C_SOURCES += $(wildcard $(ST25RFAL002_DIR)/*.c)
  43. C_SOURCES += $(wildcard $(ST25RFAL002_DIR)/source/*.c)
  44. C_SOURCES += $(wildcard $(ST25RFAL002_DIR)/source/st25r3916/*.c)
  45. CFLAGS += -I$(LIB_DIR)/nfc_protocols
  46. C_SOURCES += $(wildcard $(LIB_DIR)/nfc_protocols/*.c)
  47. # callback connector (C to CPP) library
  48. CFLAGS += -I$(LIB_DIR)/callback-connector
  49. # app template library
  50. CFLAGS += -I$(LIB_DIR)/app-template
  51. # add C scene template
  52. CFLAGS += -I$(LIB_DIR)/app_scene_template
  53. # fnv1a hash library
  54. CFLAGS += -I$(LIB_DIR)/fnv1a-hash
  55. C_SOURCES += $(LIB_DIR)/fnv1a-hash/fnv1a-hash.c
  56. # common apps api
  57. CFLAGS += -I$(LIB_DIR)/common-api
  58. # drivers
  59. CFLAGS += -I$(LIB_DIR)/drivers
  60. C_SOURCES += $(wildcard $(LIB_DIR)/drivers/*.c)
  61. # IR lib
  62. CFLAGS += -I$(LIB_DIR)/infrared/encoder_decoder
  63. CFLAGS += -I$(LIB_DIR)/infrared/worker
  64. C_SOURCES += $(wildcard $(LIB_DIR)/infrared/encoder_decoder/*.c)
  65. C_SOURCES += $(wildcard $(LIB_DIR)/infrared/encoder_decoder/*/*.c)
  66. C_SOURCES += $(wildcard $(LIB_DIR)/infrared/worker/*.c)
  67. # SubGhz
  68. C_SOURCES += $(wildcard $(LIB_DIR)/subghz/*.c)
  69. C_SOURCES += $(wildcard $(LIB_DIR)/subghz/*/*.c)
  70. #scened app template lib
  71. CFLAGS += -I$(LIB_DIR)/app-scened-template
  72. C_SOURCES += $(wildcard $(LIB_DIR)/app-scened-template/*.c)
  73. CPP_SOURCES += $(wildcard $(LIB_DIR)/app-scened-template/*.cpp)
  74. CPP_SOURCES += $(wildcard $(LIB_DIR)/app-scened-template/*/*.cpp)
  75. # Toolbox
  76. C_SOURCES += $(wildcard $(LIB_DIR)/toolbox/*.c)
  77. C_SOURCES += $(wildcard $(LIB_DIR)/toolbox/*/*.c)
  78. CPP_SOURCES += $(wildcard $(LIB_DIR)/toolbox/*.cpp)
  79. CPP_SOURCES += $(wildcard $(LIB_DIR)/toolbox/*/*.cpp)
  80. # Digital signal
  81. CFLAGS += -I$(LIB_DIR)/digital_signal
  82. C_SOURCES += $(wildcard $(LIB_DIR)/digital_signal/*.c)
  83. # USB Stack
  84. CFLAGS += -I$(LIB_DIR)/libusb_stm32/inc
  85. C_SOURCES += $(LIB_DIR)/libusb_stm32/src/usbd_stm32wb55_devfs.c
  86. C_SOURCES += $(LIB_DIR)/libusb_stm32/src/usbd_core.c
  87. # protobuf
  88. CFLAGS += -I$(LIB_DIR)/nanopb
  89. C_SOURCES += $(wildcard $(LIB_DIR)/nanopb/*.c)
  90. # heatshrink
  91. CFLAGS += -I$(LIB_DIR)/heatshrink
  92. C_SOURCES += $(wildcard $(LIB_DIR)/heatshrink/*.c)
  93. # Toolbox
  94. CFLAGS += -I$(LIB_DIR)/flipper_file
  95. C_SOURCES += $(wildcard $(LIB_DIR)/flipper_file/*.c)
  96. # Flipper format
  97. CFLAGS += -I$(LIB_DIR)/flipper_format
  98. C_SOURCES += $(wildcard $(LIB_DIR)/flipper_format/*.c)
  99. # Micro-ECC
  100. CFLAGS += -I$(LIB_DIR)/micro-ecc
  101. C_SOURCES += $(wildcard $(LIB_DIR)/micro-ecc/*.c)
  102. # iButton and OneWire
  103. C_SOURCES += $(wildcard $(LIB_DIR)/one_wire/*.c)
  104. C_SOURCES += $(wildcard $(LIB_DIR)/one_wire/*/*.c)
  105. C_SOURCES += $(wildcard $(LIB_DIR)/one_wire/*/*/*.c)
  106. # microtar
  107. CFLAGS += -I$(LIB_DIR)/microtar/src
  108. C_SOURCES += $(wildcard $(LIB_DIR)/microtar/src/*.c)
  109. # Update-related common code
  110. C_SOURCES += $(wildcard $(LIB_DIR)/update_util/*.c)