mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-29 14:57:05 +00:00
44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
#
|
|
# STM32F1_create_variant.py
|
|
#
|
|
import pioutil
|
|
if pioutil.is_pio_build():
|
|
from pathlib import Path
|
|
|
|
source_root_str = "buildroot/share/PlatformIO/variants"
|
|
source_root = Path(source_root_str)
|
|
assert source_root.is_dir()
|
|
|
|
env = pioutil.env
|
|
board = env.BoardConfig()
|
|
variant = board.get("build.variant")
|
|
|
|
source_dir = source_root / variant
|
|
assert source_dir.is_dir()
|
|
|
|
if True:
|
|
# Copying to the platform folder is still needed by STM32F1 (Maple).
|
|
# The alternative code below comes close. See if you can solve it!
|
|
platform = env.PioPlatform()
|
|
FRAMEWORK_DIR = Path(platform.get_package_dir("framework-arduinoststm32-maple"))
|
|
assert FRAMEWORK_DIR.is_dir()
|
|
|
|
variant_dir = FRAMEWORK_DIR / "STM32F1/variants" / variant
|
|
|
|
if variant_dir.is_dir():
|
|
import shutil
|
|
shutil.rmtree(variant_dir)
|
|
|
|
if not variant_dir.is_dir():
|
|
variant_dir.mkdir()
|
|
|
|
import marlin
|
|
marlin.copytree(source_dir, variant_dir)
|
|
|
|
else:
|
|
|
|
# The following almost works, but __start__ (from wirish/start.S) is not seen by common.inc
|
|
board.update("build.variants_dir", source_root_str);
|
|
src = str(source_dir)
|
|
env.Append(BUILD_FLAGS=[f"-I{src}", f"-L{src}/ld"]) # Add include path for variant
|