qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

build_layout.mk (1220B)


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