* Add littlefs submodule * Furi: add mutex in logging, fix issues with corrupted printf * ApiHal: disable debug traces in ble glue * App-loader: more logs * Passport: fix invalid DolphinState usage * ApiHal, linker script: flash API is now aware of free space, complete abstraction layer for storage * Internal Storage: littlefs based storage services with key value API. Migrate dolphin state to new storage API.
		
			
				
	
	
		
			312 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			312 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
APP_DIR		= $(PROJECT_ROOT)/applications
 | 
						|
LIB_DIR 	= $(PROJECT_ROOT)/lib
 | 
						|
 | 
						|
CFLAGS		+= -I$(APP_DIR)
 | 
						|
C_SOURCES   += $(shell find $(APP_DIR) -name *.c)
 | 
						|
CPP_SOURCES += $(shell find $(APP_DIR) -name *.cpp)
 | 
						|
 | 
						|
 | 
						|
# Use SRV_* for autostart app
 | 
						|
# Use APP_* for add app to build
 | 
						|
 | 
						|
APP_RELEASE ?= 1
 | 
						|
ifeq ($(APP_RELEASE), 1)
 | 
						|
# Main services
 | 
						|
SRV_MENU = 1
 | 
						|
SRV_POWER = 1
 | 
						|
SRV_BT = 1
 | 
						|
SRV_CLI = 1
 | 
						|
SRV_SD_FILESYSTEM = 1
 | 
						|
SRV_INTERNAL_STORAGE = 1
 | 
						|
SRV_DOLPHIN = 1
 | 
						|
 | 
						|
# Main Apps
 | 
						|
APP_IRDA  = 1
 | 
						|
APP_SUBGHZ = 1
 | 
						|
APP_LF_RFID = 1
 | 
						|
APP_NFC = 1
 | 
						|
APP_GPIO_DEMO = 1
 | 
						|
APP_MUSIC_PLAYER = 1
 | 
						|
APP_FLOOPPER_BLOOPPER = 1
 | 
						|
APP_IBUTTON = 1
 | 
						|
 | 
						|
# Debug and misc
 | 
						|
APP_GUI_TEST = 1
 | 
						|
APP_KEYPAD_TEST = 1
 | 
						|
APP_ACCESSOR = 1
 | 
						|
APP_SD_TEST = 1
 | 
						|
APP_VIBRO_DEMO = 1
 | 
						|
APP_SPEAKER_DEMO = 1
 | 
						|
APP_EXAMPLE_BLINK = 1
 | 
						|
APP_EXAMPLE_UART_WRITE = 1
 | 
						|
APP_EXAMPLE_INPUT_DUMP = 1
 | 
						|
APP_UNIT_TESTS = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_DOLPHIN ?= 0
 | 
						|
ifeq ($(SRV_DOLPHIN), 1)
 | 
						|
SRV_MENU	= 1
 | 
						|
CFLAGS		+= -DSRV_DOLPHIN
 | 
						|
endif
 | 
						|
 | 
						|
SRV_POWER ?= 0
 | 
						|
ifeq ($(SRV_POWER), 1)
 | 
						|
SRV_GUI		= 1
 | 
						|
SRV_CLI		= 1
 | 
						|
CFLAGS		+= -DSRV_POWER
 | 
						|
endif
 | 
						|
 | 
						|
SRV_BT ?= 0
 | 
						|
ifeq ($(SRV_BT), 1)
 | 
						|
SRV_CLI		= 1
 | 
						|
CFLAGS		+= -DSRV_BT
 | 
						|
endif
 | 
						|
 | 
						|
SRV_MENU ?= 0
 | 
						|
ifeq ($(SRV_MENU), 1)
 | 
						|
CFLAGS += -DSRV_MENU
 | 
						|
APP_MENU = 1
 | 
						|
endif
 | 
						|
APP_MENU ?= 0
 | 
						|
ifeq ($(APP_MENU), 1)
 | 
						|
SRV_INPUT	= 1
 | 
						|
SRV_GUI		= 1
 | 
						|
CFLAGS		+= -DAPP_MENU
 | 
						|
endif
 | 
						|
 | 
						|
APP_UNIT_TESTS	?= 0
 | 
						|
ifeq ($(APP_UNIT_TESTS), 1)
 | 
						|
CFLAGS		+= -DAPP_UNIT_TESTS
 | 
						|
endif
 | 
						|
 | 
						|
SRV_EXAMPLE_BLINK ?= 0
 | 
						|
ifeq ($(SRV_EXAMPLE_BLINK), 1)
 | 
						|
CFLAGS		+= -DSRV_EXAMPLE_BLINK
 | 
						|
APP_EXAMPLE_BLINK = 1
 | 
						|
endif
 | 
						|
APP_EXAMPLE_BLINK ?= 0
 | 
						|
ifeq ($(APP_EXAMPLE_BLINK), 1)
 | 
						|
CFLAGS		+= -DAPP_EXAMPLE_BLINK
 | 
						|
SRV_INPUT = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_EXAMPLE_UART_WRITE ?= 0
 | 
						|
ifeq ($(SRV_EXAMPLE_UART_WRITE), 1)
 | 
						|
CFLAGS		+= -DSRV_EXAMPLE_UART_WRITE
 | 
						|
APP_EXAMPLE_UART_WRITE = 1
 | 
						|
endif
 | 
						|
APP_EXAMPLE_UART_WRITE ?= 0
 | 
						|
ifeq ($(APP_EXAMPLE_UART_WRITE), 1)
 | 
						|
CFLAGS		+= -DAPP_EXAMPLE_UART_WRITE
 | 
						|
endif
 | 
						|
 | 
						|
SRV_EXAMPLE_IPC ?= 0
 | 
						|
ifeq ($(SRV_EXAMPLE_IPC), 1)
 | 
						|
CFLAGS		+= -DSRV_EXAMPLE_IPC
 | 
						|
APP_EXAMPLE_IPC = 1
 | 
						|
endif
 | 
						|
APP_EXAMPLE_IPC ?= 0
 | 
						|
ifeq ($(APP_EXAMPLE_IPC), 1)
 | 
						|
CFLAGS		+= -DAPP_EXAMPLE_IPC
 | 
						|
endif
 | 
						|
 | 
						|
SRV_EXAMPLE_INPUT_DUMP ?= 0
 | 
						|
ifeq ($(SRV_EXAMPLE_INPUT_DUMP), 1)
 | 
						|
CFLAGS		+= -DSRV_EXAMPLE_INPUT_DUMP
 | 
						|
APP_EXAMPLE_INPUT_DUMP = 1
 | 
						|
endif
 | 
						|
APP_EXAMPLE_INPUT_DUMP ?= 0
 | 
						|
ifeq ($(APP_EXAMPLE_INPUT_DUMP), 1)
 | 
						|
CFLAGS		+= -DAPP_EXAMPLE_INPUT_DUMP
 | 
						|
SRV_INPUT = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_EXAMPLE_QRCODE ?= 0
 | 
						|
ifeq ($(SRV_EXAMPLE_QRCODE), 1)
 | 
						|
CFLAGS		+= -DSRV_EXAMPLE_QRCODE
 | 
						|
APP_EXAMPLE_QRCODE = 1
 | 
						|
endif
 | 
						|
APP_EXAMPLE_QRCODE ?= 0
 | 
						|
ifeq ($(APP_EXAMPLE_QRCODE), 1)
 | 
						|
CFLAGS		+= -DAPP_EXAMPLE_QRCODE
 | 
						|
endif
 | 
						|
 | 
						|
ifeq ($(APP_SUBGHZ), 1)
 | 
						|
CFLAGS		+= -DAPP_SUBGHZ
 | 
						|
SRV_INPUT = 1
 | 
						|
SRV_GUI = 1
 | 
						|
SRV_CLI = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_LF_RFID ?= 0
 | 
						|
ifeq ($(SRV_LF_RFID), 1)
 | 
						|
CFLAGS		+= -DSRV_LF_RFID
 | 
						|
APP_LF_RFID = 1
 | 
						|
endif
 | 
						|
APP_LF_RFID ?= 0
 | 
						|
ifeq ($(APP_LF_RFID), 1)
 | 
						|
CFLAGS		+= -DAPP_LF_RFID
 | 
						|
SRV_INPUT = 1
 | 
						|
SRV_GUI = 1
 | 
						|
endif
 | 
						|
 | 
						|
APP_NFC ?= 0
 | 
						|
ifeq ($(APP_NFC), 1)
 | 
						|
CFLAGS		+= -DAPP_NFC
 | 
						|
SRV_MENU = 1
 | 
						|
SRV_INPUT = 1
 | 
						|
SRV_GUI = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_IRDA ?= 0
 | 
						|
ifeq ($(SRV_IRDA), 1)
 | 
						|
CFLAGS		+= -DSRV_IRDA
 | 
						|
APP_IRDA = 1
 | 
						|
endif
 | 
						|
APP_IRDA ?= 0
 | 
						|
ifeq ($(APP_IRDA), 1)
 | 
						|
CFLAGS		+= -DAPP_IRDA
 | 
						|
SRV_INPUT = 1
 | 
						|
SRV_GUI = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_SD_TEST ?= 0
 | 
						|
ifeq ($(SRV_SD_TEST), 1)
 | 
						|
CFLAGS		+= -DSRV_SD_TEST
 | 
						|
APP_SD_TEST = 1
 | 
						|
endif
 | 
						|
APP_SD_TEST ?= 0
 | 
						|
ifeq ($(APP_SD_TEST), 1)
 | 
						|
CFLAGS		+= -DAPP_SD_TEST
 | 
						|
SRV_INPUT = 1
 | 
						|
SRV_GUI = 1
 | 
						|
SRV_SD_FILESYSTEM = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_SPEAKER_DEMO ?= 0
 | 
						|
ifeq ($(SRV_SPEAKER_DEMO), 1)
 | 
						|
CFLAGS		+= -DSRV_SPEAKER_DEMO
 | 
						|
APP_SPEAKER_DEMO = 1
 | 
						|
endif
 | 
						|
APP_SPEAKER_DEMO ?= 0
 | 
						|
ifeq ($(APP_SPEAKER_DEMO), 1)
 | 
						|
CFLAGS		+= -DAPP_SPEAKER_DEMO
 | 
						|
SRV_INPUT = 1
 | 
						|
SRV_GUI = 1
 | 
						|
endif
 | 
						|
 | 
						|
APP_VIBRO_DEMO ?= 0
 | 
						|
ifeq ($(APP_VIBRO_DEMO), 1)
 | 
						|
CFLAGS		+= -DAPP_VIBRO_DEMO
 | 
						|
SRV_INPUT = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_KEYPAD_TEST ?= 0
 | 
						|
ifeq ($(SRV_KEYPAD_TEST), 1)
 | 
						|
CFLAGS		+= -DSRV_KEYPAD_TEST
 | 
						|
APP_KEYPAD_TEST = 1
 | 
						|
endif
 | 
						|
APP_KEYPAD_TEST ?= 0
 | 
						|
ifeq ($(APP_KEYPAD_TEST), 1)
 | 
						|
CFLAGS		+= -DAPP_KEYPAD_TEST
 | 
						|
APP_KEYPAD_TEST = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_ACCESSOR ?= 0
 | 
						|
ifeq ($(SRV_ACCESSOR), 1)
 | 
						|
CFLAGS		+= -DSRV_ACCESSOR
 | 
						|
APP_ACCESSOR = 1
 | 
						|
endif
 | 
						|
APP_ACCESSOR ?= 0
 | 
						|
ifeq ($(APP_ACCESSOR), 1)
 | 
						|
CFLAGS		+= -DAPP_ACCESSOR
 | 
						|
APP_ACCESSOR = 1
 | 
						|
endif
 | 
						|
 | 
						|
SRV_GPIO_DEMO ?= 0
 | 
						|
ifeq ($(SRV_GPIO_DEMO), 1)
 | 
						|
CFLAGS		+= -DSRV_GPIO_DEMO
 | 
						|
APP_GPIO_DEMO = 1
 | 
						|
endif
 | 
						|
APP_GPIO_DEMO ?= 0
 | 
						|
ifeq ($(APP_GPIO_DEMO), 1)
 | 
						|
CFLAGS		+= -DAPP_GPIO_DEMO
 | 
						|
endif
 | 
						|
 | 
						|
SRV_MUSIC_PLAYER ?= 0
 | 
						|
ifeq ($(SRV_MUSIC_PLAYER), 1)
 | 
						|
CFLAGS		+= -DSRV_MUSIC_PLAYER
 | 
						|
APP_MUSIC_PLAYER = 1
 | 
						|
endif
 | 
						|
APP_MUSIC_PLAYER ?= 0
 | 
						|
ifeq ($(APP_MUSIC_PLAYER), 1)
 | 
						|
CFLAGS		+= -DAPP_MUSIC_PLAYER
 | 
						|
endif
 | 
						|
 | 
						|
SRV_FLOOPPER_BLOOPPER ?= 0
 | 
						|
ifeq ($(SRV_FLOOPPER_BLOOPPER), 1)
 | 
						|
CFLAGS		+= -DSRV_FLOOPPER_BLOOPPER
 | 
						|
APP_FLOOPPER_BLOOPPER = 1
 | 
						|
endif
 | 
						|
APP_FLOOPPER_BLOOPPER ?= 0
 | 
						|
ifeq ($(APP_FLOOPPER_BLOOPPER), 1)
 | 
						|
CFLAGS		+= -DAPP_FLOOPPER_BLOOPPER
 | 
						|
endif
 | 
						|
 | 
						|
SRV_IBUTTON ?= 0
 | 
						|
ifeq ($(SRV_IBUTTON), 1)
 | 
						|
CFLAGS		+= -DSRV_IBUTTON
 | 
						|
APP_IBUTTON = 1
 | 
						|
endif
 | 
						|
APP_IBUTTON ?= 0
 | 
						|
ifeq ($(APP_IBUTTON), 1)
 | 
						|
CFLAGS		+= -DAPP_IBUTTON
 | 
						|
endif
 | 
						|
 | 
						|
SRV_GUI_TEST ?= 0
 | 
						|
ifeq ($(SRV_GUI_TEST), 1)
 | 
						|
CFLAGS		+= -DSRV_GUI_TEST
 | 
						|
APP_GUI_TEST = 1
 | 
						|
endif
 | 
						|
APP_GUI_TEST ?= 0
 | 
						|
ifeq ($(APP_GUI_TEST), 1)
 | 
						|
CFLAGS		+= -DAPP_GUI_TEST
 | 
						|
endif
 | 
						|
 | 
						|
SRV_SDNFC ?= 0
 | 
						|
ifeq ($(SRV_SDNFC), 1)
 | 
						|
CFLAGS		+= -DSRV_SDNFC
 | 
						|
APP_SDNFC = 1
 | 
						|
endif
 | 
						|
APP_SDNFC ?= 0
 | 
						|
ifeq ($(APP_SDNFC), 1)
 | 
						|
CFLAGS		+= -DAPP_SDNFC
 | 
						|
endif
 | 
						|
# device drivers
 | 
						|
 | 
						|
SRV_GUI	?= 0
 | 
						|
ifeq ($(SRV_GUI), 1)
 | 
						|
CFLAGS		+= -DSRV_GUI
 | 
						|
endif
 | 
						|
 | 
						|
SRV_SD_FILESYSTEM ?= 0
 | 
						|
ifeq ($(SRV_SD_FILESYSTEM), 1)
 | 
						|
CFLAGS		+= -DSRV_SD_FILESYSTEM
 | 
						|
endif
 | 
						|
 | 
						|
SRV_INTERNAL_STORAGE ?= 0
 | 
						|
ifeq ($(SRV_INTERNAL_STORAGE), 1)
 | 
						|
CFLAGS		+= -DSRV_INTERNAL_STORAGE
 | 
						|
endif
 | 
						|
 | 
						|
SRV_INPUT	?= 0
 | 
						|
ifeq ($(SRV_INPUT), 1)
 | 
						|
CFLAGS		+= -DSRV_INPUT
 | 
						|
endif
 | 
						|
 | 
						|
SRV_CLI ?= 0
 | 
						|
ifeq ($(SRV_CLI), 1)
 | 
						|
SRV_GUI		= 1
 | 
						|
CFLAGS		+= -DSRV_CLI
 | 
						|
endif
 |