 98d5718ec9
			
		
	
	
		98d5718ec9
		
			
		
	
	
	
	
		
			
			* 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")
 |