* fbt: changed cdefines & lib handling for external apps; added extra checks for app manifest fields; moved around AppsC generator * fbt: commandline fixes for spaces in paths * fbt: fixed stringification for FAP_VERSION * fbt: Removed excessive quoting for gdb * docs: update for cdefines; fbt: typo fix * fbt: enforcing at least 2 components in app version= Co-authored-by: あく <alleteam@gmail.com>
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import SCons
 | 
						|
from SCons.Action import Action
 | 
						|
from SCons.Builder import Builder
 | 
						|
from SCons.Defaults import Touch
 | 
						|
 | 
						|
__OPENOCD_BIN = "openocd"
 | 
						|
 | 
						|
# TODO: FL-3663: rework argument passing to lists
 | 
						|
_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")
 |