Files
qmk-kbs/justfile

41 lines
1.4 KiB
Makefile

[private]
default:
@just --list
# compile moonlander matej keymap (artifact lands in firmware/)
moonlander:
make -C qmk_upstream zsa/moonlander:matej QMK_USERSPACE={{justfile_directory()}}
mkdir -p firmware
mv -f zsa_moonlander_matej.bin firmware/
rm -f qmk_upstream/zsa_moonlander_matej.bin
# compile + flash moonlander (polls until keyboard is in DFU mode; -d filter avoids the Cambridge DAC VID:PID collision)
flash-moonlander: moonlander
until dfu-util -a 0 -d 0483:df11 -s 0x08000000:leave -D firmware/zsa_moonlander_matej.bin >/dev/null 2>&1; do sleep 0.5; done
@echo "flashed"
# generate compile_commands.json for clangd / LSP
compdb:
cd qmk_upstream && QMK_USERSPACE={{justfile_directory()}} qmk compile --compiledb -kb zsa/moonlander -km matej
# format C/H files in place
fmt:
git ls-files '*.c' '*.h' | xargs --no-run-if-empty clang-format -i
# bump submodule(s) to latest tag
bump-qmk submodule="":
#!/usr/bin/env bash
set -e
if [ -z "{{submodule}}" ]; then
targets="qmk_upstream qmk_framework"
else
targets="{{submodule}}"
fi
for sm in $targets; do
old=$(git -C $sm describe --tags --exact-match HEAD 2>/dev/null || git -C $sm rev-parse --short HEAD)
git -C $sm fetch --tags --quiet
new=$(git -C $sm tag --sort=-creatordate | head -1)
git -C $sm checkout --quiet "$new"
echo "bumped $sm from $old to $new"
done