47 lines
1.7 KiB
Makefile
47 lines
1.7 KiB
Makefile
# Set QMK_HOME in your environment variables to adjust the path of the firmware
|
|
QMK_HOME ?= ${HOME}/qmk_firmware
|
|
|
|
# Directories for QMK keyboard files (author, keyboard, revision)
|
|
QMK_KEYBOARD_AUTHOR_DIR := binarydiv
|
|
QMK_KEYBOARD_BASE_DIR := ${QMK_KEYBOARD_AUTHOR_DIR}/eepypad
|
|
QMK_KEYBOARD_REV_DIR := ${QMK_KEYBOARD_BASE_DIR}/v1
|
|
|
|
# Keymap to use when compiling QMK firmware
|
|
QMK_KEYMAP := default
|
|
|
|
|
|
# -- QMK commands
|
|
|
|
# Prerequisite: Check if QMK is installed
|
|
.PHONY: _qmk-check-firmware-installed
|
|
_qmk-check-firmware-installed:
|
|
@test -d "${QMK_HOME}" || { \
|
|
echo "QMK firmware not found! (QMK_HOME=${QMK_HOME})"; \
|
|
echo "Please install QMK using 'qmk setup' first or set QMK_HOME in environment."; \
|
|
exit 1; \
|
|
}
|
|
|
|
# Create symlink in QMK firmware directory to the keyboard files in qmk_keyboards/
|
|
.PHONY: _qmk-create-symlink
|
|
_qmk-create-symlink: _qmk-check-firmware-installed ${QMK_HOME}/keyboards/${QMK_KEYBOARD_BASE_DIR}
|
|
|
|
# Only create symlink if it doesn't exist already
|
|
${QMK_HOME}/keyboards/${QMK_KEYBOARD_BASE_DIR}:
|
|
mkdir -p "${QMK_HOME}/keyboards/${QMK_KEYBOARD_AUTHOR_DIR}"
|
|
ln -s "$$(realpath qmk_keyboards/${QMK_KEYBOARD_BASE_DIR})" "${QMK_HOME}/keyboards/${QMK_KEYBOARD_BASE_DIR}"
|
|
|
|
# Compile QMK firmware
|
|
.PHONY: qmk-compile
|
|
qmk-compile: _qmk-create-symlink
|
|
qmk compile -kb ${QMK_KEYBOARD_REV_DIR} -km ${QMK_KEYMAP}
|
|
|
|
# Compile and flash QMK firmware to keyboard
|
|
.PHONY: qmk-flash
|
|
qmk-flash: _qmk-create-symlink
|
|
qmk flash -kb ${QMK_KEYBOARD_REV_DIR} -km ${QMK_KEYMAP}
|
|
|
|
# Run "qmk config" to set this keyboard as the default (to simplify running qmk commands manually)
|
|
.PHONY: qmk-activate
|
|
qmk-activate: _qmk-create-symlink
|
|
qmk config user.keyboard=${QMK_KEYBOARD_REV_DIR} user.keymap=${QMK_KEYMAP}
|