applications.mk 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  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_BATTERY_TEST ?= 0
  134. ifeq ($(APP_BATTERY_TEST), 1)
  135. CFLAGS += -DAPP_BATTERY_TEST
  136. SRV_GUI = 1
  137. endif
  138. APP_USB_MOUSE ?= 0
  139. ifeq ($(APP_USB_MOUSE), 1)
  140. CFLAGS += -DAPP_USB_MOUSE
  141. SRV_GUI = 1
  142. endif
  143. APP_BAD_USB ?= 0
  144. ifeq ($(APP_BAD_USB), 1)
  145. CFLAGS += -DAPP_BAD_USB
  146. SRV_GUI = 1
  147. endif
  148. APP_U2F ?= 0
  149. ifeq ($(APP_U2F), 1)
  150. CFLAGS += -DAPP_U2F
  151. SRV_GUI = 1
  152. endif
  153. APP_BLE_HID ?=0
  154. ifeq ($(APP_BLE_HID), 1)
  155. CFLAGS += -DAPP_BLE_HID
  156. SRV_GUI = 1
  157. endif
  158. APP_KEYPAD_TEST ?= 0
  159. ifeq ($(APP_KEYPAD_TEST), 1)
  160. CFLAGS += -DAPP_KEYPAD_TEST
  161. SRV_GUI = 1
  162. endif
  163. APP_ACCESSOR ?= 0
  164. ifeq ($(APP_ACCESSOR), 1)
  165. CFLAGS += -DAPP_ACCESSOR
  166. SRV_GUI = 1
  167. endif
  168. APP_GPIO ?= 0
  169. ifeq ($(APP_GPIO), 1)
  170. CFLAGS += -DAPP_GPIO
  171. SRV_GUI = 1
  172. endif
  173. APP_MUSIC_PLAYER ?= 0
  174. ifeq ($(APP_MUSIC_PLAYER), 1)
  175. CFLAGS += -DAPP_MUSIC_PLAYER
  176. SRV_GUI = 1
  177. endif
  178. APP_SNAKE_GAME ?= 0
  179. ifeq ($(APP_SNAKE_GAME), 1)
  180. CFLAGS += -DAPP_SNAKE_GAME
  181. SRV_GUI = 1
  182. endif
  183. APP_IBUTTON ?= 0
  184. ifeq ($(APP_IBUTTON), 1)
  185. CFLAGS += -DAPP_IBUTTON
  186. SRV_GUI = 1
  187. endif
  188. APP_UPDATER ?= 0
  189. ifeq ($(APP_UPDATER), 1)
  190. CFLAGS += -DAPP_UPDATER
  191. SRV_GUI = 1
  192. SRV_STORAGE = 1
  193. SRV_NOTIFICATION = 1
  194. SRV_INPUT = 1
  195. endif
  196. # Services
  197. # that will start with OS
  198. # Prefix with SRV_*
  199. SRV_BT ?= 0
  200. ifeq ($(SRV_BT), 1)
  201. CFLAGS += -DSRV_BT
  202. SRV_CLI = 1
  203. endif
  204. SRV_DESKTOP ?= 0
  205. ifeq ($(SRV_DESKTOP), 1)
  206. CFLAGS += -DSRV_DESKTOP
  207. SRV_DOLPHIN = 1
  208. SRV_STORAGE = 1
  209. SRV_GUI = 1
  210. endif
  211. SRV_UPDATER ?= 0
  212. ifeq ($(SRV_UPDATER), 1)
  213. CFLAGS += -DSRV_UPDATER
  214. SRV_STORAGE = 1
  215. SRV_GUI = 1
  216. endif
  217. SRV_DOLPHIN ?= 0
  218. ifeq ($(SRV_DOLPHIN), 1)
  219. CFLAGS += -DSRV_DOLPHIN
  220. SRV_DOLPHIN_STATE_DEBUG ?= 0
  221. ifeq ($(SRV_DOLPHIN_STATE_DEBUG), 1)
  222. CFLAGS += -DSRV_DOLPHIN_STATE_DEBUG
  223. endif
  224. endif
  225. SRV_POWER ?= 0
  226. ifeq ($(SRV_POWER), 1)
  227. CFLAGS += -DSRV_POWER
  228. SRV_GUI = 1
  229. SRV_CLI = 1
  230. endif
  231. SRV_RPC ?= 0
  232. ifeq ($(SRV_RPC), 1)
  233. CFLAGS += -DSRV_RPC
  234. ifeq ($(SRV_RPC_DEBUG), 1)
  235. CFLAGS += -DSRV_RPC_DEBUG
  236. endif
  237. SRV_CLI = 1
  238. endif
  239. SRV_LOADER ?= 0
  240. ifeq ($(SRV_LOADER), 1)
  241. CFLAGS += -DSRV_LOADER
  242. SRV_GUI = 1
  243. # Loader autostart hook
  244. LOADER_AUTOSTART ?= ""
  245. ifneq ($(strip $(LOADER_AUTOSTART)), "")
  246. CFLAGS += -DLOADER_AUTOSTART="\"$(LOADER_AUTOSTART)\""
  247. endif
  248. # Loader autostart hook END
  249. endif
  250. SRV_DIALOGS ?= 0
  251. ifeq ($(SRV_DIALOGS), 1)
  252. CFLAGS += -DSRV_DIALOGS
  253. SRV_GUI = 1
  254. endif
  255. SRV_GUI ?= 0
  256. ifeq ($(SRV_GUI), 1)
  257. CFLAGS += -DSRV_GUI
  258. SRV_INPUT = 1
  259. SRV_NOTIFICATION = 1
  260. endif
  261. SRV_INPUT ?= 0
  262. ifeq ($(SRV_INPUT), 1)
  263. CFLAGS += -DSRV_INPUT
  264. endif
  265. SRV_CLI ?= 0
  266. ifeq ($(SRV_CLI), 1)
  267. CFLAGS += -DSRV_CLI
  268. endif
  269. SRV_NOTIFICATION ?= 0
  270. ifeq ($(SRV_NOTIFICATION), 1)
  271. CFLAGS += -DSRV_NOTIFICATION
  272. endif
  273. SRV_STORAGE ?= 0
  274. ifeq ($(SRV_STORAGE), 1)
  275. CFLAGS += -DSRV_STORAGE
  276. endif