summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2024-04-02Fix Makefile errors that prevent builds on macOS (#409)David Whetstone
2024-02-20Fix version.dtsi is reset after local firmware build (#385)Thomas Huber
In #376 a new step was introduced for local builds to undo changes to the version.dtsi file after a build in order to reduce noise to the repo. Unfortunately the way used to execute the step causes the version.dtsi file to be reset too early and therefore causes an incorrect version number to be used for the version macro when run locally. This went unfortunately undiscovered as the checked in version.dtsi was the same on the day the change in #376 was tested and was not noticed until I build a new change to my keymap locally a few days ago. The git command introduced in #376 is wrapped into a shell function. However what was missed is that commands run by the shell function are run when the function calls are expanded by make. This causes the version.dtsi file to be reset before the firmware build process is even started which resultes in the version.dtsi currently checked in to the repo to be used for local builds instead of the newly generated file when make starts. This change updates how the git command to reset the version.dtsi is being called. It is no longer called within a shell function to ensure it does run in the order it is defined after the firmware build is complete. Builds run through GitHub actions are not impacted and always used the correct version.dtsi For more information and context see: - https://www.gnu.org/software/make/manual/html_node/Shell-Function.html - https://www.gnu.org/software/make/manual/html_node/Reading-Makefiles.html
2024-02-05Makefile enhancements to optimize local workflows (#363)Thomas Huber
- 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.
2024-01-16Update Makefile variables (#335)ReFil
2023-11-16Version compiled FW with automatic macro (#267)ReFil
* Version compiled FW with hash Auto generates a macro to type out version info, local and github compilation now includes commit hash and timestamp in final uf2 files * Fix local builds makefile doesn't like the script returning the macro, directed to null for local builds as version.dtsi file accessible
2023-01-13use $(strip to remove whitespaceReFil
2023-01-12Disable SELinux support on OS XReFil
2022-11-16Makefile: allow volumes to work on selinuxJason Ish
Volumes need the "z" option to work on selinux enabled systems. This has no affect on systems that are not selinux enabled.
2022-11-01Makefile: simplify; clean removes imagesAllan Wind
The target all was previous running setup followed by build. As both setup and build are phony targets they run in sequence and because the firmware contain the timestamp they always run (dependencies doesn't do anything). all now does exactly what it says on the tin without introducing non-standard targets. clean now removes the images that created during build which is what you expect from that target. See: https://www.gnu.org/software/make/manual/html_node/Standard-Targets.html#Standard-Targets
2022-10-30Merge pull request #36 from craftyguy/V2.0-make-clean-no-failReFil
makefile: ignore errors during clean
2022-10-24makefile: ignore errors during cleanClayton Craft
The file(s) being removed may not exist, but make shouldn't fail because of it: $ make clean rm ./firmware/*.uf2 rm: cannot remove './firmware/*.uf2': No such file or directory make: *** [Makefile:10: clean] Error 1 $ echo $? 2 this also removes leading ./ from path in clean, and assumes that `make clean` is being run from the top level repo dir
2022-10-24Use podman, fall back to docker if unavailableClayton Craft
2022-10-13timestamp doesn't need to be a targetJosh French
2022-10-12Specify setup prereqsJosh French
Co-authored-by: Ed Flanagan <ed@flanagan.xyz>
2022-10-11Use makefile for a reusable docker imageJosh French