applications.mk 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. APP_DIR = $(PROJECT_ROOT)/applications
  2. LIB_DIR = $(PROJECT_ROOT)/lib
  3. CFLAGS += -I$(APP_DIR)
  4. # Use APP_* for autostart app
  5. # Use BUILD_* for add app to build
  6. APP_RELEASE ?= 0
  7. ifeq ($(APP_RELEASE), 1)
  8. APP_MENU = 1
  9. APP_NFC = 1
  10. BUILD_IRDA = 1
  11. BUILD_EXAMPLE_BLINK = 1
  12. BUILD_EXAMPLE_UART_WRITE = 1
  13. BUILD_EXAMPLE_INPUT_DUMP = 1
  14. BUILD_CC1101 = 1
  15. endif
  16. APP_NFC ?= 0
  17. ifeq ($(APP_NFC), 1)
  18. APP_MENU = 1
  19. CFLAGS += -DAPP_NFC
  20. C_SOURCES += $(wildcard $(APP_DIR)/nfc/*.c)
  21. endif
  22. APP_MENU ?= 0
  23. ifeq ($(APP_MENU), 1)
  24. CFLAGS += -DAPP_MENU
  25. BUILD_MENU = 1
  26. endif
  27. BUILD_MENU ?= 0
  28. ifeq ($(BUILD_MENU), 1)
  29. APP_INPUT = 1
  30. APP_GUI = 1
  31. CFLAGS += -DBUILD_MENU
  32. C_SOURCES += $(wildcard $(APP_DIR)/menu/*.c)
  33. C_SOURCES += $(wildcard $(APP_DIR)/app-loader/*.c)
  34. endif
  35. APP_TEST ?= 0
  36. ifeq ($(APP_TEST), 1)
  37. CFLAGS += -DAPP_TEST
  38. C_SOURCES += $(APP_DIR)/tests/furiac_test.c
  39. C_SOURCES += $(APP_DIR)/tests/furi_record_test.c
  40. C_SOURCES += $(APP_DIR)/tests/test_index.c
  41. C_SOURCES += $(APP_DIR)/tests/minunit_test.c
  42. C_SOURCES += $(APP_DIR)/tests/furi_valuemutex_test.c
  43. C_SOURCES += $(APP_DIR)/tests/furi_pubsub_test.c
  44. C_SOURCES += $(APP_DIR)/tests/furi_memmgr_test.c
  45. endif
  46. APP_EXAMPLE_BLINK ?= 0
  47. ifeq ($(APP_EXAMPLE_BLINK), 1)
  48. CFLAGS += -DAPP_EXAMPLE_BLINK
  49. BUILD_EXAMPLE_BLINK = 1
  50. endif
  51. BUILD_EXAMPLE_BLINK ?= 0
  52. ifeq ($(BUILD_EXAMPLE_BLINK), 1)
  53. CFLAGS += -DBUILD_EXAMPLE_BLINK
  54. C_SOURCES += $(APP_DIR)/examples/blink.c
  55. endif
  56. APP_EXAMPLE_UART_WRITE ?= 0
  57. ifeq ($(APP_EXAMPLE_UART_WRITE), 1)
  58. CFLAGS += -DAPP_EXAMPLE_UART_WRITE
  59. BUILD_EXAMPLE_UART_WRITE = 1
  60. endif
  61. BUILD_EXAMPLE_UART_WRITE ?= 0
  62. ifeq ($(BUILD_EXAMPLE_UART_WRITE), 1)
  63. CFLAGS += -DBUILD_EXAMPLE_UART_WRITE
  64. C_SOURCES += $(APP_DIR)/examples/uart_write.c
  65. endif
  66. APP_EXAMPLE_IPC ?= 0
  67. ifeq ($(APP_EXAMPLE_IPC), 1)
  68. CFLAGS += -DAPP_EXAMPLE_IPC
  69. BUILD_EXAMPLE_IPC = 1
  70. endif
  71. BUILD_EXAMPLE_IPC ?= 0
  72. ifeq ($(BUILD_EXAMPLE_IPC), 1)
  73. CFLAGS += -DBUILD_EXAMPLE_IPC
  74. C_SOURCES += $(APP_DIR)/examples/ipc.c
  75. endif
  76. APP_EXAMPLE_INPUT_DUMP ?= 0
  77. ifeq ($(APP_EXAMPLE_INPUT_DUMP), 1)
  78. CFLAGS += -DAPP_EXAMPLE_INPUT_DUMP
  79. BUILD_EXAMPLE_INPUT_DUMP = 1
  80. endif
  81. BUILD_EXAMPLE_INPUT_DUMP ?= 0
  82. ifeq ($(BUILD_EXAMPLE_INPUT_DUMP), 1)
  83. CFLAGS += -DBUILD_EXAMPLE_INPUT_DUMP
  84. C_SOURCES += $(APP_DIR)/examples/input_dump.c
  85. APP_INPUT = 1
  86. endif
  87. APP_EXAMPLE_QRCODE ?= 0
  88. ifeq ($(APP_EXAMPLE_QRCODE), 1)
  89. CFLAGS += -DAPP_EXAMPLE_QRCODE
  90. BUILD_EXAMPLE_QRCODE = 1
  91. endif
  92. BUILD_EXAMPLE_QRCODE ?= 0
  93. ifeq ($(BUILD_EXAMPLE_QRCODE), 1)
  94. CFLAGS += -DBUILD_EXAMPLE_QRCODE
  95. C_SOURCES += $(APP_DIR)/examples/u8g2_qrcode.c
  96. C_SOURCES += $(LIB_DIR)/qrcode/qrcode.c
  97. APP_DISPLAY = 1
  98. endif
  99. # deprecated
  100. APP_EXAMPLE_DISPLAY ?= 0
  101. ifeq ($(APP_EXAMPLE_DISPLAY), 1)
  102. CFLAGS += -DAPP_EXAMPLE_DISPLAY
  103. C_SOURCES += $(APP_DIR)/examples/u8g2_example.c
  104. APP_DISPLAY = 1
  105. endif
  106. APP_EXAMPLE_FATFS ?= 0
  107. ifeq ($(APP_EXAMPLE_FATFS), 1)
  108. CFLAGS += -DAPP_EXAMPLE_FATFS
  109. BUILD_EXAMPLE_FATFS = 1
  110. endif
  111. BUILD_EXAMPLE_FATFS ?= 0
  112. ifeq ($(BUILD_EXAMPLE_FATFS), 1)
  113. CFLAGS += -DBUILD_EXAMPLE_FATFS
  114. C_SOURCES += $(APP_DIR)/examples/fatfs_list.c
  115. APP_INPUT = 1
  116. APP_DISPLAY = 1
  117. endif
  118. APP_CC1101 ?= 0
  119. ifeq ($(APP_CC1101), 1)
  120. CFLAGS += -DAPP_CC1101
  121. BUILD_CC1101 = 1
  122. endif
  123. BUILD_CC1101 ?= 0
  124. ifeq ($(BUILD_CC1101), 1)
  125. CFLAGS += -DBUILD_CC1101
  126. C_SOURCES += $(wildcard $(APP_DIR)/cc1101-workaround/*.c)
  127. CPP_SOURCES += $(wildcard $(APP_DIR)/cc1101-workaround/*.cpp)
  128. APP_INPUT = 1
  129. APP_GUI = 1
  130. endif
  131. APP_IRDA?= 0
  132. ifeq ($(APP_IRDA), 1)
  133. CFLAGS += -DAPP_IRDA
  134. BUILD_IRDA = 1
  135. endif
  136. BUILD_IRDA ?= 0
  137. ifeq ($(BUILD_IRDA), 1)
  138. CFLAGS += -DBUILD_IRDA
  139. C_SOURCES += $(wildcard $(APP_DIR)/irda/*.c)
  140. APP_INPUT = 1
  141. APP_GUI = 1
  142. endif
  143. # device drivers
  144. APP_GUI ?= 0
  145. ifeq ($(APP_GUI), 1)
  146. CFLAGS += -DAPP_GUI
  147. C_SOURCES += $(wildcard $(APP_DIR)/gui/*.c)
  148. C_SOURCES += $(wildcard $(APP_DIR)/backlight-control/*.c)
  149. endif
  150. # deprecated
  151. ifeq ($(APP_DISPLAY), 1)
  152. CFLAGS += -DAPP_DISPLAY
  153. C_SOURCES += $(APP_DIR)/display-u8g2/display-u8g2.c
  154. endif
  155. APP_INPUT ?= 0
  156. ifeq ($(APP_INPUT), 1)
  157. CFLAGS += -DAPP_INPUT
  158. C_SOURCES += $(APP_DIR)/input/input.c
  159. endif