Closed jackhumbert closed 7 years ago
It might be a struggle for people used to the current system, but it should make it easier for new people and for future changes.
I think we'll plan on implementing this on 2017-10-01 - if anyone has any ideas or concerns with the concept or implementation, please comment before then!
Looks good. I like that subprojects are better split from other parameters such as keymap and programmer than before. +1 from me :)
We're currently considering revamping the make system a bit to support organising keyboards/projects into folders, and letting those folders share code with each other. This will replace what's known as "subprojects" right now, and would support up to 5 folders in depth. One example might be:
The default keymap for which could be compiled with:
Changing the separator to
:
allows for more clarity, and more easily supports-
in folder/keymap names. Other targets would be separated with:
as well, likemake olkb/planck/rev4:default:dfu
.You would be able to define a default at any point in the folder system, so
olkb/rules.mk
could have:so that whenever
make olkb:default
is run, it defaults to theolkb/planck/rev4
target - this would be required (this is up for debate, but there are some unwanted consequences with building all available folders).The
*.c
files would be included automatically if they exist. For example:would all get included when compiling the target
olkb/planck/rev4
, and each folder would get added to the path.Filenames would convert
/
to_
in the target.Keymaps could be stored at any point in the folder system, allowing for keyboard-specific keymaps, revision-specific keymaps, etc.
I've been messing around with this on make_args_redo but we're welcoming comments on the concept/implementation!