applications.mk 5.0 KB

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