applications.mk 5.2 KB

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