Preparing to update the build system, with the goal of making the environment setup as painless as possible, on all major operating systems. I need some help with testing
this PR.
The stuff I've been tweaking lately includes:
- Mac fixes (seems like it's impossible not to break this one, even with apparently minor changes)
- parallel build fixes (make -j8)
- fixing minor quirks
New features from the PR:
- top-level build rules (zip, 5D3_zip, 60D_install_qemu etc)
- compiler autodetection (use any arm-none-eabi-gcc from your executable path, or any gcc-arm-none-eabi from your home directory, without editing the Makefiles)
- Linaro arm-gcc support (experimental, see PR description for details)
- nicer error messages, toolchain suggestions if none is installed
There was good feedback on the PR from veterans around here, but some things have changed and I'm still finding OS-specific issues, so I'd like to encourage more users (newcomers too!) to give it a try. Just compile from the "makefile-updates" branch instead of unified, and let me know how it goes:
hg clone -u makefile-updates https://bitbucket.org/hudson/magic-lantern
cd magic-lantern
make
# follow error messages, install dependencies and so on
In particular, I'm looking for cases where the error message is unclear when some build tool is not found and has to be installed. Or, for the build process not working on some widely used operating system (even if it didn't work before). Or, to suggest better ways of doing things (I'm far from being a Makefile expert - mostly copy/pasting from Stack Overflow).
You should be able to build ML under any recent Linux distro, Mac and Windows (both Cygwin and WSL). Would be nice to know if it works on BSD as well

Just FYI: there were some attempts to automate the environment preparation for various operating systems, but they are beyond the scope of this PR. One such attempt is in
QEMU's install.sh (
Mac demo), others are in various sticky topics on this forum. The former is also waiting to be merged into mainline, so feel free to give it a try as well.