magiclantern_simplified
magiclantern_simplified copied to clipboard
Simplify the build system
No current devs really understand the build system. I'm not a make expert, but it seems overly complicated to me for the small number of use cases in active use.
The "minimal subdir" builds have been the source of multiple difficult bugs, and getting platform builds to clean them is hard, due to the bizarre way they try to build; it's easy to hit infinite recursion.
Build objects should go in a subdir of the source being built; this limits the chance of racey edits / removes of files and makes cleanup trivial.
Unused build rules should be removed (the stub auto-formatting stuff, the install targets, etc).
Try to reduce the amount of includes, complex functions, general magic.
Just a List making a list of things I'd be interested in doing:
- [ ] Replace all 100+ character long awk/grep/sed/perl/ abominations
- [ ] Convert all python2 to python3 (mainly modules/)
- [ ] Remove obsolete build related files and scripts
- [ ] Rewrite the ML documentation (already attempted this a while ago)