{
  "version":"0.1",
  "root_folder":"%filefolder%",
  "run_context":"sub",
  "name":"Shelter compilation",
  "actions":[
    {
      "action":"compile_one_asm",
      "args":{
        "source_variables":false,
        "source":"lib/src/cpu/ap_boot.asm",
        "assembler_variables":true,
        "assembler":"$ASSEMBLER$",
        "pre_arguments_variables":true,
        "pre_arguments":[
          "-f $ASM_OUTPUT_FORMAT$"
        ],
        "post_arguments_variables":true,
        "post_arguments":[
          "-o lib/src/cpu/ap_boot.bin"
        ],
        "output_file_variables":true,
        "output_file":"lib/src/cpu/ap_boot.bin",
        "success_status":[
          0
        ],
        "ignore_success_status":true,
        "cache_authorized":true
      }
    },
    {
      "action":"vyld_compilation",
      "args":{
        "source_files_path_completion":true,
        "source_files_variables":false,
        "source_files":[
          "main.c",
          "lib/src/**"
        ],
        "compiler_variables":true,
        "compiler":"$C_COMPILER$",
        "source_asm_path_completion":true,
        "source_asm_variables":false,
        "source_asm":[
          "lib/src/irq/**"
        ],
        "assembler_variables":true,
        "assembler":"$ASSEMBLER$",
        "linker_variables":true,
        "linker":"$LINKER$",
        "compiler_flags_variables":true,
        "compiler_flags":"$SHELTER_COMPILATION_FLAGS$",
        "output_file_variables":true,
        "output_file":"$SHELTER_BINARY_NAME$",
        "block_if_fail":true,
        "object_files_cache_authorized":true,
        "headers_command_variables":true,
        "headers_command":"gcc -MMD -MF %dfile% -E %sourcefile% -o /dev/null -I%rootcallerfolder%/shelter/lib/include",
        "payloads":[
          {
            "source_file_variables":true,
            "source_file":"%rootcallerfolder%/shelter/lib/src/cpu/ap_boot.bin",
            "is_executable":false,
            "is_writable":true,
            "expected_va":"0x000000000000A000"
          }
        ]
      }
    },
    {
      "action":"ensure_folder_existence",
      "args":{
        "path_variables":true,
        "path":"%rootcallerfolder%/$INITFS_DIR$"
      }
    },
    {
      "action":"move_file",
      "args":{
        "source_file_variables":true,
        "source_file":"$SHELTER_BINARY_NAME$",
        "destination_folder_variables":true,
        "destination_folder":"%rootcallerfolder%/$INITFS_DIR$"
      }
    }
  ]
}
