* ufbt: added "dolphin_ext" target (expects "external" subfolder in cwd with dolphin assets); cleaned up unused code * ufbt: codestyle fixes * scripts: fixed style according to ruff linter * scripts: additional cleanup & codestyle fixes * github: pass target hw code when installing local SDK with ufbt * ufbt: added error message for missing folder in dolphin builder * scripts: more linter fixes * sdk: added flipper_format_stream; ufbt: support for --extra-define * fbt: reduced amount of global defines * scripts, fbt: rearranged imports Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
			
				
	
	
		
			47 lines
		
	
	
		
			981 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			981 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import SCons
 | 
						|
from SCons.Action import Action
 | 
						|
from SCons.Builder import Builder
 | 
						|
from SCons.Defaults import Touch
 | 
						|
 | 
						|
__OPENOCD_BIN = "openocd"
 | 
						|
 | 
						|
_oocd_action = Action(
 | 
						|
    "${OPENOCD} ${OPENOCD_OPTS} ${OPENOCD_COMMAND}",
 | 
						|
    "${OPENOCDCOMSTR}",
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
def generate(env):
 | 
						|
    env.SetDefault(
 | 
						|
        OPENOCD=__OPENOCD_BIN,
 | 
						|
        OPENOCD_OPTS="",
 | 
						|
        OPENOCD_COMMAND="",
 | 
						|
        OPENOCDCOM="${OPENOCD} ${OPENOCD_OPTS} ${OPENOCD_COMMAND}",
 | 
						|
        OPENOCDCOMSTR="",
 | 
						|
    )
 | 
						|
 | 
						|
    env.Append(
 | 
						|
        BUILDERS={
 | 
						|
            "OpenOCDFlash": Builder(
 | 
						|
                action=[
 | 
						|
                    _oocd_action,
 | 
						|
                    Touch("${TARGET}"),
 | 
						|
                ],
 | 
						|
                suffix=".flash",
 | 
						|
                src_suffix=".bin",
 | 
						|
            ),
 | 
						|
        }
 | 
						|
    )
 | 
						|
 | 
						|
 | 
						|
def exists(env):
 | 
						|
    try:
 | 
						|
        return env["OPENOCD"]
 | 
						|
    except KeyError:
 | 
						|
        pass
 | 
						|
 | 
						|
    if openocd := env.WhereIs(__OPENOCD_BIN):
 | 
						|
        return openocd
 | 
						|
 | 
						|
    raise SCons.Errors.StopError("Could not detect openocd")
 |