-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Makefile enhancements to optimize local workflows #363
Conversation
This is a really cool feature! I'd be open to reopening this and merging it into main |
@ReFil while working on this I noticed that there are some deprecation warnings in the build logs. Most are for I don't expect those to go away and therefore break the build but might be good to clean them up sooner than later. |
Yeah that's on my list to sort, it'll be addressed as part of other planned upgrade work |
I have another small update I made for my local process of building and cleaning by splitting the
Let me know if you find this useful and I can include it in this PR prior to merging. |
That looks like another useful addition, yes please |
Is there a benefit in adding the changed/updated I wonder if it would be a good addition to add |
I think that's also a good idea. I couldn't think of a good way to ensure that file remains, but isn't changed as tricks like git assume unchanged dont carry over to other people's repos (and are kind of bad solutions anyway). I dont think there's anything wrong with it being changed but it's definitely not ideal to have it be changed and committed each time. |
What OS have you been testing these changes on BTW? |
CHANGELOG.md
Outdated
@@ -4,6 +4,10 @@ Here's all notable changes and commits to both the configuration repo and the ba | |||
Many thanks to all those who have submitted issues and pull requests to make this firmware better! | |||
## Config repo | |||
|
|||
2/1/2024 - Add targets to makefile to allow for cleaning firmware and docker image separately while maintaining functionality of make clean to run both |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you be able to link the PR in these changelog lines like the other changelog lines?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do. Would you want me to squash all changes into a single commit? I'm considering squashing and changing the commit message to better reflect all makefile changes as it is a bit more than just allowing left side build only by now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Squashing into one would be appreciated
I'm working with macOS Sonoma 14.3 Unfortunately I don't have any Windows machines to verify the changes on myself. |
Brilliant, I can test on Ubuntu and wsl2 but I don't have easy access to a macOS machine so between us we can cover all bases |
Perfect. I will get the changes in later today and get it ready for you to test and verify. |
Commits squashed, PR title updated and I updated the |
- Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes.
Small adjustment to the brew command to install Ready for review and testing on other systems. |
Everything works good on my ubuntu 20.04 system, i think it's ready to merge |
Feel free to tag me on future pull requests/changes if something needs to be tested on macOS specifically. |
* upstream/V3.0: Makefile enhancements to optimize local workflows (KinesisCorporation#363) Update Makefile variables (KinesisCorporation#335) Base ZMK update (KinesisCorporation#326) Prefer `tr` to ${char^^}, which does not work on older bash versions (KinesisCorporation#303) Add version macro (KinesisCorporation#300) Add pull request template (KinesisCorporation#293) Revert "Updated keymap" Revert "Updated keymap" Updated keymap Updated keymap Make get_version use bash from $PATH (KinesisCorporation#287)
* feat: update keymap * Update bluetooth settings in light of user feedback (KinesisCorporation#289) * Make get_version use bash from $PATH (KinesisCorporation#287) * Make get_version use bash from $PATH * Update CHANGELOG.md --------- Co-authored-by: ReFil <31960031+ReFil@users.noreply.github.com> * Updated keymap * Updated keymap * Revert "Updated keymap" This reverts commit 18e664a. * Revert "Updated keymap" This reverts commit 9fc6c62. * Add pull request template (KinesisCorporation#293) * Add pull request template * Update CHANGELOG.md * Add version macro (KinesisCorporation#300) * Prefer `tr` to ${char^^}, which does not work on older bash versions (KinesisCorporation#303) * Prefer `tr` to ${char^^}, which does not work on older bash versions * Update CHANGELOG.md --------- Co-authored-by: ReFil <31960031+ReFil@users.noreply.github.com> * Base ZMK update (KinesisCorporation#326) * Update Makefile variables (KinesisCorporation#335) * Makefile enhancements to optimize local workflows (KinesisCorporation#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes. * feat: add f keys --------- Co-authored-by: ReFil <31960031+ReFil@users.noreply.github.com> Co-authored-by: David Whetstone <humblehacker@users.noreply.github.com> Co-authored-by: adv360proapp[bot] <105741512+adv360proapp[bot]@users.noreply.github.com> Co-authored-by: Jim Jowdy <jjowdy@gmail.com> Co-authored-by: Thomas Huber <113915837+huber-th@users.noreply.github.com>
…#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes.
Makefile enhancements to optimize local workflows (KinesisCorporation#363)
…#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes.
* V3.0: (57 commits) Fix version.dtsi is reset after local firmware build (KinesisCorporation#385) Update build workflows (KinesisCorporation#376) Makefile enhancements to optimize local workflows (KinesisCorporation#363) Update Makefile variables (KinesisCorporation#335) Base ZMK update (KinesisCorporation#326) Prefer `tr` to ${char^^}, which does not work on older bash versions (KinesisCorporation#303) Add version macro (KinesisCorporation#300) Add pull request template (KinesisCorporation#293) Revert "Updated keymap" Revert "Updated keymap" Updated keymap Updated keymap Make get_version use bash from $PATH (KinesisCorporation#287) Update bluetooth settings in light of user feedback (KinesisCorporation#289) Revert "Add version macro to keymap.json (KinesisCorporation#269)" Add version macro to keymap.json (KinesisCorporation#269) Changelog new base ZMK update (KinesisCorporation#268) Version compiled FW with automatic macro (KinesisCorporation#267) Document new NKRO settings (KinesisCorporation#264) Improve documentation based on feedback (KinesisCorporation#260) ...
…#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes.
…#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes.
…#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes.
…#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes.
…#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes.
…#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes.
* V3.0: (40 commits) Changelog update (KinesisCorporation#448) Minor docs update (KinesisCorporation#445) Document new layer colors and modifier color configuration option (KinesisCorporation#431) Zephyr 3.5 Update (KinesisCorporation#426) Fix Makefile errors that prevent builds on macOS (KinesisCorporation#409) Fix version.dtsi is reset after local firmware build (KinesisCorporation#385) Update build workflows (KinesisCorporation#376) Makefile enhancements to optimize local workflows (KinesisCorporation#363) Update Makefile variables (KinesisCorporation#335) Base ZMK update (KinesisCorporation#326) Prefer `tr` to ${char^^}, which does not work on older bash versions (KinesisCorporation#303) Add version macro (KinesisCorporation#300) Add pull request template (KinesisCorporation#293) Revert "Updated keymap" Revert "Updated keymap" Updated keymap Updated keymap Make get_version use bash from $PATH (KinesisCorporation#287) Update bluetooth settings in light of user feedback (KinesisCorporation#289) Revert "Add version macro to keymap.json (KinesisCorporation#269)" ...
Advantage 360 Pro PR template
What's changed:
Enhance the Makefile to enable firmware building exclusively for the left side.
Why has this change been implemented:
To modify the keymap, flashing only the left side's firmware suffices.
This change facilitates the creation of firmware for the left side only, thereby expediting the build process when running locally via make.
What (if any) actions must a user take after this change:
Usage:
make left
to build the left hand side firmware onlyThis update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. GitHub Actions also keeps building firmware for both halves on changes to the repo.