# 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}