logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

build_layout.mk (1259B)


  1. LAYOUTS_PATH := layouts
  2. LAYOUTS_REPOS := $(patsubst %/,%,$(sort $(dir $(wildcard $(LAYOUTS_PATH)/*/))))
  3. ifneq ($(QMK_USERSPACE),)
  4. LAYOUTS_REPOS += $(patsubst %/,%,$(QMK_USERSPACE)/$(LAYOUTS_PATH))
  5. endif
  6. define SEARCH_LAYOUTS_REPO
  7. LAYOUT_KEYMAP_PATH := $$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP)
  8. LAYOUT_KEYMAP_JSON := $$(LAYOUT_KEYMAP_PATH)/keymap.json
  9. LAYOUT_KEYMAP_C := $$(LAYOUT_KEYMAP_PATH)/keymap.c
  10. ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_JSON))","")
  11. -include $$(LAYOUT_KEYMAP_PATH)/rules.mk
  12. KEYMAP_JSON := $$(LAYOUT_KEYMAP_JSON)
  13. KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
  14. else ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_C))","")
  15. -include $$(LAYOUT_KEYMAP_PATH)/rules.mk
  16. KEYMAP_C := $$(LAYOUT_KEYMAP_C)
  17. KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
  18. endif
  19. endef
  20. define SEARCH_LAYOUTS
  21. $$(foreach LAYOUTS_REPO,$$(LAYOUTS_REPOS),$$(eval $$(call SEARCH_LAYOUTS_REPO)))
  22. endef
  23. ifneq ($(FORCE_LAYOUT),)
  24. ifneq (,$(findstring $(FORCE_LAYOUT),$(LAYOUTS)))
  25. $(info Forcing layout: $(FORCE_LAYOUT))
  26. LAYOUTS := $(FORCE_LAYOUT)
  27. else
  28. $(call CATASTROPHIC_ERROR,Invalid layout,Forced layout does not exist)
  29. endif
  30. endif
  31. $(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS)))