applications.mk 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. APP_DIR = $(PROJECT_ROOT)/applications
  2. LIB_DIR = $(PROJECT_ROOT)/lib
  3. CFLAGS += -I$(APP_DIR)
  4. C_SOURCES += $(shell find $(APP_DIR) -name "*.c")
  5. CPP_SOURCES += $(shell find $(APP_DIR) -name "*.cpp")
  6. APP_RELEASE ?= 1
  7. ifeq ($(APP_RELEASE), 1)
  8. # Services
  9. SRV_BT = 1
  10. SRV_CLI = 1
  11. SRV_DIALOGS = 1
  12. SRV_DOLPHIN = 1
  13. SRV_GUI = 1
  14. SRV_INPUT = 1
  15. SRV_LOADER = 1
  16. SRV_NOTIFICATION = 1
  17. SRV_POWER = 1
  18. SRV_POWER_OBSERVER = 1
  19. SRV_RPC = 1
  20. SRV_STORAGE = 1
  21. # Apps
  22. SRV_DESKTOP = 1
  23. APP_ARCHIVE = 1
  24. APP_GPIO = 1
  25. APP_IBUTTON = 1
  26. APP_IRDA = 1
  27. APP_LF_RFID = 1
  28. APP_NFC = 1
  29. APP_SUBGHZ = 1
  30. APP_ABOUT = 1
  31. APP_PASSPORT = 1
  32. # Plugins
  33. APP_MUSIC_PLAYER = 1
  34. APP_SNAKE_GAME = 1
  35. # Debug
  36. APP_ACCESSOR = 1
  37. APP_BLINK = 1
  38. APP_IRDA_MONITOR = 1
  39. APP_KEYPAD_TEST = 1
  40. APP_SD_TEST = 1
  41. APP_VIBRO_TEST = 1
  42. APP_USB_TEST = 1
  43. APP_DISPLAY_TEST = 1
  44. APP_BLE_HID = 1
  45. APP_USB_MOUSE = 1
  46. APP_BAD_USB = 1
  47. APP_U2F = 1
  48. APP_UART_ECHO = 1
  49. endif
  50. # Applications
  51. # that will be shown in menu
  52. # Prefix with APP_*
  53. APP_IRDA_MONITOR ?= 0
  54. ifeq ($(APP_IRDA_MONITOR), 1)
  55. CFLAGS += -DAPP_IRDA_MONITOR
  56. SRV_GUI = 1
  57. endif
  58. APP_UNIT_TESTS ?= 0
  59. ifeq ($(APP_UNIT_TESTS), 1)
  60. CFLAGS += -DAPP_UNIT_TESTS
  61. endif
  62. APP_ARCHIVE ?= 0
  63. ifeq ($(APP_ARCHIVE), 1)
  64. CFLAGS += -DAPP_ARCHIVE
  65. SRV_GUI = 1
  66. endif
  67. APP_BLINK ?= 0
  68. ifeq ($(APP_BLINK), 1)
  69. CFLAGS += -DAPP_BLINK
  70. SRV_GUI = 1
  71. endif
  72. APP_SUBGHZ ?= 0
  73. ifeq ($(APP_SUBGHZ), 1)
  74. CFLAGS += -DAPP_SUBGHZ
  75. SRV_GUI = 1
  76. SRV_CLI = 1
  77. endif
  78. APP_ABOUT ?= 0
  79. ifeq ($(APP_ABOUT), 1)
  80. CFLAGS += -DAPP_ABOUT
  81. SRV_GUI = 1
  82. endif
  83. APP_PASSPORT ?= 0
  84. ifeq ($(APP_PASSPORT), 1)
  85. CFLAGS += -DAPP_PASSPORT
  86. SRV_GUI = 1
  87. endif
  88. APP_LF_RFID ?= 0
  89. ifeq ($(APP_LF_RFID), 1)
  90. CFLAGS += -DAPP_LF_RFID
  91. SRV_GUI = 1
  92. endif
  93. APP_NFC ?= 0
  94. ifeq ($(APP_NFC), 1)
  95. CFLAGS += -DAPP_NFC
  96. SRV_GUI = 1
  97. endif
  98. APP_IRDA ?= 0
  99. ifeq ($(APP_IRDA), 1)
  100. CFLAGS += -DAPP_IRDA
  101. SRV_GUI = 1
  102. endif
  103. APP_VIBRO_TEST ?= 0
  104. ifeq ($(APP_VIBRO_TEST), 1)
  105. CFLAGS += -DAPP_VIBRO_TEST
  106. SRV_GUI = 1
  107. endif
  108. APP_USB_TEST ?= 0
  109. ifeq ($(APP_USB_TEST), 1)
  110. CFLAGS += -DAPP_USB_TEST
  111. SRV_GUI = 1
  112. endif
  113. APP_UART_ECHO ?= 0
  114. ifeq ($(APP_UART_ECHO), 1)
  115. CFLAGS += -DAPP_UART_ECHO
  116. SRV_GUI = 1
  117. endif
  118. APP_DISPLAY_TEST ?= 0
  119. ifeq ($(APP_DISPLAY_TEST), 1)
  120. CFLAGS += -DAPP_DISPLAY_TEST
  121. SRV_GUI = 1
  122. endif
  123. APP_USB_MOUSE ?= 0
  124. ifeq ($(APP_USB_MOUSE), 1)
  125. CFLAGS += -DAPP_USB_MOUSE
  126. SRV_GUI = 1
  127. endif
  128. APP_BAD_USB ?= 0
  129. ifeq ($(APP_BAD_USB), 1)
  130. CFLAGS += -DAPP_BAD_USB
  131. SRV_GUI = 1
  132. endif
  133. APP_U2F ?= 0
  134. ifeq ($(APP_U2F), 1)
  135. CFLAGS += -DAPP_U2F
  136. SRV_GUI = 1
  137. endif
  138. APP_BLE_HID ?=0
  139. ifeq ($(APP_BLE_HID), 1)
  140. CFLAGS += -DAPP_BLE_HID
  141. SRV_GUI = 1
  142. endif
  143. APP_KEYPAD_TEST ?= 0
  144. ifeq ($(APP_KEYPAD_TEST), 1)
  145. CFLAGS += -DAPP_KEYPAD_TEST
  146. SRV_GUI = 1
  147. endif
  148. APP_ACCESSOR ?= 0
  149. ifeq ($(APP_ACCESSOR), 1)
  150. CFLAGS += -DAPP_ACCESSOR
  151. SRV_GUI = 1
  152. endif
  153. APP_GPIO ?= 0
  154. ifeq ($(APP_GPIO), 1)
  155. CFLAGS += -DAPP_GPIO
  156. SRV_GUI = 1
  157. endif
  158. APP_MUSIC_PLAYER ?= 0
  159. ifeq ($(APP_MUSIC_PLAYER), 1)
  160. CFLAGS += -DAPP_MUSIC_PLAYER
  161. SRV_GUI = 1
  162. endif
  163. APP_SNAKE_GAME ?= 0
  164. ifeq ($(APP_SNAKE_GAME), 1)
  165. CFLAGS += -DAPP_SNAKE_GAME
  166. SRV_GUI = 1
  167. endif
  168. APP_IBUTTON ?= 0
  169. ifeq ($(APP_IBUTTON), 1)
  170. CFLAGS += -DAPP_IBUTTON
  171. SRV_GUI = 1
  172. endif
  173. # Services
  174. # that will start with OS
  175. # Prefix with SRV_*
  176. SRV_BT ?= 0
  177. ifeq ($(SRV_BT), 1)
  178. CFLAGS += -DSRV_BT
  179. SRV_CLI = 1
  180. endif
  181. SRV_DESKTOP ?= 0
  182. ifeq ($(SRV_DESKTOP), 1)
  183. CFLAGS += -DSRV_DESKTOP
  184. SRV_DOLPHIN = 1
  185. SRV_STORAGE = 1
  186. SRV_GUI = 1
  187. endif
  188. SRV_DOLPHIN ?= 0
  189. ifeq ($(SRV_DOLPHIN), 1)
  190. CFLAGS += -DSRV_DOLPHIN
  191. SRV_DOLPHIN_STATE_DEBUG ?= 0
  192. ifeq ($(SRV_DOLPHIN_STATE_DEBUG), 1)
  193. CFLAGS += -DSRV_DOLPHIN_STATE_DEBUG
  194. endif
  195. endif
  196. SRV_POWER_OBSERVER ?= 0
  197. ifeq ($(SRV_POWER_OBSERVER), 1)
  198. CFLAGS += -DSRV_POWER_OBSERVER
  199. SRV_POWER = 1
  200. endif
  201. SRV_POWER ?= 0
  202. ifeq ($(SRV_POWER), 1)
  203. CFLAGS += -DSRV_POWER
  204. SRV_GUI = 1
  205. SRV_CLI = 1
  206. endif
  207. SRV_RPC ?= 0
  208. ifeq ($(SRV_RPC), 1)
  209. CFLAGS += -DSRV_RPC
  210. ifeq ($(SRV_RPC_DEBUG), 1)
  211. CFLAGS += -DSRV_RPC_DEBUG
  212. endif
  213. SRV_CLI = 1
  214. endif
  215. SRV_LOADER ?= 0
  216. ifeq ($(SRV_LOADER), 1)
  217. CFLAGS += -DSRV_LOADER
  218. SRV_GUI = 1
  219. # Loader autostart hook
  220. LOADER_AUTOSTART ?= ""
  221. ifneq ($(strip $(LOADER_AUTOSTART)), "")
  222. CFLAGS += -DLOADER_AUTOSTART="\"$(LOADER_AUTOSTART)\""
  223. endif
  224. # Loader autostart hook END
  225. endif
  226. SRV_DIALOGS ?= 0
  227. ifeq ($(SRV_DIALOGS), 1)
  228. CFLAGS += -DSRV_DIALOGS
  229. SRV_GUI = 1
  230. endif
  231. SRV_GUI ?= 0
  232. ifeq ($(SRV_GUI), 1)
  233. CFLAGS += -DSRV_GUI
  234. SRV_INPUT = 1
  235. SRV_NOTIFICATION = 1
  236. endif
  237. SRV_INPUT ?= 0
  238. ifeq ($(SRV_INPUT), 1)
  239. CFLAGS += -DSRV_INPUT
  240. endif
  241. SRV_CLI ?= 0
  242. ifeq ($(SRV_CLI), 1)
  243. CFLAGS += -DSRV_CLI
  244. endif
  245. SRV_NOTIFICATION ?= 0
  246. ifeq ($(SRV_NOTIFICATION), 1)
  247. CFLAGS += -DSRV_NOTIFICATION
  248. endif
  249. SRV_STORAGE ?= 0
  250. ifeq ($(SRV_STORAGE), 1)
  251. CFLAGS += -DSRV_STORAGE
  252. endif