starting_makefile := $(abspath $(firstword $(MAKEFILE_LIST)))
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
-tmk_root := $(patsubst %/,%,$(dir $(mkfile_path)))
+abs_tmk_root := $(patsubst %/,%,$(dir $(mkfile_path)))
ifneq (,$(findstring /keyboard/,$(starting_makefile)))
- possible_keyboard:=$(patsubst %/,%,$(dir $(patsubst $(tmk_root)/keyboard/%,%,$(starting_makefile))))
+ possible_keyboard:=$(patsubst %/,%,$(dir $(patsubst $(abs_tmk_root)/keyboard/%,%,$(starting_makefile))))
ifneq (,$(findstring /keymaps/,$(possible_keyboard)))
KEYBOARD_DIR:=$(firstword $(subst /keymaps/, ,$(possible_keyboard)))
KEYMAP_DIR:=$(lastword $(subst /keymaps/, ,$(possible_keyboard)))
+ tmk_root = ../../../..
else
KEYBOARD_DIR:=$(possible_keyboard)
KEYMAP_DIR:=default
+ tmk_root = ../..
endif
+else
+ tmk_root = .
endif
-
# $(info $(KEYBOARD_DIR))
# $(info $(KEYMAP_DIR))
include $(TMK_PATH)/protocol/lufa.mk
include $(TMK_PATH)/common.mk
-include $(TMK_PATH)/rules.mk
\ No newline at end of file
+include $(TMK_PATH)/rules.mk
+
+GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d")
+
+OPT_DEFS += -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\"
+OPT_DEFS += -DQMK_VERSION=\"$(GIT_VERSION)\"