Skip to content

tools: scripts: remove Make build system#3216

Open
buha wants to merge 1 commit into
mainfrom
remove-make
Open

tools: scripts: remove Make build system#3216
buha wants to merge 1 commit into
mainfrom
remove-make

Conversation

@buha

@buha buha commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

no-OS builds are now driven by the unified CMake/Kconfig system (no_os_build.py + CMakePresets + per-project CMakeLists). Purge the legacy per-project Make stack and every artifact tied to it, keeping only the CMake tooling and standalone utilities.

Deleted:

  • All tools/scripts/.mk (generic, generic_variables, src_model, the per-platform makefiles maxim/stm32/xilinx/altera/lattice/linux/mac/ win, and the feature includes libraries/examples/freertos/lwip/lvgl/ ftd2xx/esh/iio_srcs/mqtt_srcs/azure_sdk_for_c/vsc_).
  • Platform .mk fragments: platform/altera/bsp.mk and platform/lattice/{bitstream,sys_env_parse}.mk.
  • Make-only tooling and IDE generation: download_files.py (scanned only builds.json), git-bash.sh and git-bash-paths.sh (Make-on-Windows helpers), platform/{mac,win,linux}/config_build.py and their .vscode templates, platform/template_*.json, and the Make-only Xilinx TCL build_project.tcl/create_fsbl_project.tcl/generate_vitis_launch.py.
  • Orphaned altera/lattice env and template files.
  • Library build glue libraries/{fatfs,mqtt,tmc}/Makefile.

Rewrote build_projects.py to drop the "make -C" path: removed the BuildConfig class, get_hardware, re_run_stm32, the cloudsmith hardware download and the builds.json legacy loop, leaving a CMake-only driver.

Fixed stale comments in iio/CMakeLists.txt and
cmake/stm32/stm32_patch_cubemx.cmake that pointed at deleted .mk files.

Kept the CMake tooling (no_os_build.py, generate_config.py, jlink.py), BSP/debug helpers reused by CMake (aducm3029 startup patch, stm32 exti_script.py, the Xilinx util.tcl/util.py + flash/debug utils) and standalone utilities (config_ftd2xx.py, mcufla.sh).

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • Breaking change (has dependencies in other repos or will cause CI to fail)

PR Checklist

  • I have followed the Coding style guidelines
  • I have complied with the Submission Checklist
  • I have performed a self-review of the changes
  • I have commented my code, at least hard-to-understand parts
  • I have build all projects affected by the changes in this PR
  • I have tested in hardware affected projects, at the relevant boards
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe etc), if applies

@buha

buha commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

@buha
buha marked this pull request as draft July 15, 2026 13:43
@buha

buha commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Converted to draft because i'm not entirely sure about deleting the vsc_* files, they might need to stay

no-OS builds are now driven by the unified CMake/Kconfig system
(no_os_build.py + CMakePresets + per-project CMakeLists). Purge the
legacy per-project Make stack and every artifact tied to it, keeping
only the CMake tooling and standalone utilities.

Deleted:
- All tools/scripts/*.mk (generic, generic_variables, src_model, the
  per-platform makefiles maxim/stm32/xilinx/altera/lattice/linux/mac/
  win, and the feature includes libraries/examples/freertos/lwip/lvgl/
  ftd2xx/esh/iio_srcs/mqtt_srcs/azure_sdk_for_c/vsc_*).
- Platform .mk fragments: platform/altera/bsp.mk and
  platform/lattice/{bitstream,sys_env_parse}.mk.
- Make-only tooling and IDE generation: download_files.py (scanned only
  builds.json), git-bash.sh and git-bash-paths.sh (Make-on-Windows
  helpers), platform/{mac,win,linux}/config_build.py and their .vscode
  templates, platform/template_*.json, and the Make-only Xilinx TCL
  build_project.tcl/create_fsbl_project.tcl/generate_vitis_launch.py.
- Orphaned altera/lattice env and template files.
- Library build glue libraries/{fatfs,mqtt,tmc}/Makefile.

Rewrote build_projects.py to drop the "make -C" path: removed the
BuildConfig class, get_hardware, re_run_stm32, the cloudsmith hardware
download and the builds.json legacy loop, leaving a CMake-only driver.

Fixed stale comments in iio/CMakeLists.txt and
cmake/stm32/stm32_patch_cubemx.cmake that pointed at deleted .mk files.

Kept the CMake tooling (no_os_build.py, generate_config.py, jlink.py),
BSP/debug helpers reused by CMake (aducm3029 startup patch, stm32
exti_script.py, the Xilinx util.tcl/util.py + flash/debug utils) and
standalone utilities (config_ftd2xx.py, mcufla.sh).

Assisted-by: Claude Opus 4.8
Signed-off-by: Darius Berghe <darius.berghe@analog.com>

@amiclaus amiclaus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't we also remove Makefiles includes from projects tools/scripts/generic.mk / generic_variables.mk etc ?

@buha
buha marked this pull request as ready for review July 16, 2026 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants