From b538964069abc545f4d44195e8e3cd050226b39c Mon Sep 17 00:00:00 2001 From: amak Date: Mon, 7 Apr 2025 20:53:06 +1000 Subject: [PATCH] build: Add python shebang to elf scripts --- CMakeLists.txt | 8 ++++---- scripts/calculate_usage.py | 2 ++ scripts/compress_rom.py | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) mode change 100644 => 100755 scripts/compress_rom.py diff --git a/CMakeLists.txt b/CMakeLists.txt index b8b33ee..6118ebc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,14 +75,14 @@ target_link_libraries(${OUTPUT_NAME} PRIVATE c arith64 freertos_kernel pc xbox t # Create a binary from the elf add_custom_command(TARGET ${OUTPUT_NAME} POST_BUILD - COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scripts/calculate_usage.py ${CMAKE_BINARY_DIR}/${OUTPUT_NAME} + COMMAND ${CMAKE_CURRENT_LIST_DIR}/scripts/calculate_usage.py ${CMAKE_BINARY_DIR}/${OUTPUT_NAME} # Copy the original elf for debugging COMMAND cp ${CMAKE_BINARY_DIR}/${OUTPUT_NAME} ${CMAKE_BINARY_DIR}/original.elf COMMAND echo "Compressing ROM..." - COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scripts/compress_rom.py - ${CMAKE_BINARY_DIR}/${OUTPUT_NAME} ${CMAKE_BINARY_DIR}/compressed.bin + COMMAND ${CMAKE_CURRENT_LIST_DIR}/scripts/compress_rom.py + ${CMAKE_BINARY_DIR}/${OUTPUT_NAME} ${CMAKE_BINARY_DIR}/compressed.bin # Push the compressed blob back into the elf COMMAND ${CMAKE_OBJCOPY} --update-section .compressed=${CMAKE_BINARY_DIR}/compressed.bin ${OUTPUT_NAME} @@ -91,7 +91,7 @@ add_custom_command(TARGET ${OUTPUT_NAME} POST_BUILD COMMAND ${CMAKE_OBJCOPY} --remove-section=.text --remove-section=.data --remove-section=.rodata ${OUTPUT_NAME} # Calculate the final size ROM usage - COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scripts/calculate_usage.py ${CMAKE_BINARY_DIR}/${OUTPUT_NAME} + COMMAND ${CMAKE_CURRENT_LIST_DIR}/scripts/calculate_usage.py ${CMAKE_BINARY_DIR}/${OUTPUT_NAME} # Convert the elf to a binary 0x100000000 is 256kB from ROM base which makes 256Kb output size COMMAND ${CMAKE_OBJCOPY} -O binary --pad-to 0x100000000 --gap-fill 0xFF ${OUTPUT_NAME} ${CMAKE_BINARY_DIR}/rom.bin diff --git a/scripts/calculate_usage.py b/scripts/calculate_usage.py index 67b69e7..4470efd 100755 --- a/scripts/calculate_usage.py +++ b/scripts/calculate_usage.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + import argparse from elftools.elf.elffile import ELFFile diff --git a/scripts/compress_rom.py b/scripts/compress_rom.py old mode 100644 new mode 100755 index 274d09f..3c018b3 --- a/scripts/compress_rom.py +++ b/scripts/compress_rom.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + from elftools.elf.elffile import ELFFile import lz4.block import struct