Correct parsing of rules.mk for keyboard revisions
Previously, when looking for rules.mk files, we'd parse the individual folders (A/B/C/D/E) into 5 variables, (A/B/C/D/E, A/B/C/D, A/B/C, A/B, and A). Then, we'd get the final directory names and store _those_ in 5 new variables (A, B, C, D, and E). Then, when looking for the rules.mk, we'd look in root_dir/keyboards/(A|B|C|D|E)/rules.mk, instead of looking in root_dir/keyboards(A|A/B|A/B/C|A/B/C/D|A/B/C/D/E)/rules.mk. This commit changes that logic from the former to the latter.
This commit is contained in:
		
							parent
							
								
									4d4b845cf5
								
							
						
					
					
						commit
						bbecd276d2
					
				
					 1 changed files with 12 additions and 17 deletions
				
			
		
							
								
								
									
										29
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -67,7 +67,7 @@ $(eval $(call NEXT_PATH_ELEMENT))
 | 
			
		|||
# It's really a very simple if else chain, if you squint enough,
 | 
			
		||||
# but the makefile syntax makes it very verbose.
 | 
			
		||||
# If we are in a subfolder of keyboards
 | 
			
		||||
# 
 | 
			
		||||
#
 | 
			
		||||
# *** No longer needed **
 | 
			
		||||
#
 | 
			
		||||
# ifeq ($(CURRENT_PATH_ELEMENT),keyboards)
 | 
			
		||||
| 
						 | 
				
			
			@ -307,11 +307,6 @@ define PARSE_KEYBOARD
 | 
			
		|||
    KEYBOARD_FOLDER_PATH_3 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_2)))
 | 
			
		||||
    KEYBOARD_FOLDER_PATH_4 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_3)))
 | 
			
		||||
    KEYBOARD_FOLDER_PATH_5 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_4)))
 | 
			
		||||
    KEYBOARD_FOLDER_1 := $$(notdir $$(KEYBOARD_FOLDER_PATH_1))
 | 
			
		||||
    KEYBOARD_FOLDER_2 := $$(notdir $$(KEYBOARD_FOLDER_PATH_2))
 | 
			
		||||
    KEYBOARD_FOLDER_3 := $$(notdir $$(KEYBOARD_FOLDER_PATH_3))
 | 
			
		||||
    KEYBOARD_FOLDER_4 := $$(notdir $$(KEYBOARD_FOLDER_PATH_4))
 | 
			
		||||
    KEYBOARD_FOLDER_5 := $$(notdir $$(KEYBOARD_FOLDER_PATH_5))
 | 
			
		||||
 | 
			
		||||
    KEYMAPS :=
 | 
			
		||||
    # get a list of all keymaps
 | 
			
		||||
| 
						 | 
				
			
			@ -325,35 +320,35 @@ define PARSE_KEYBOARD
 | 
			
		|||
        $$(KEYBOARD_FOLDER_3) $$(KEYBOARD_FOLDER_4) $$(KEYBOARD_FOLDER_5), $$(KEYMAPS)))
 | 
			
		||||
 | 
			
		||||
    KEYBOARD_LAYOUTS :=
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_5)/rules.mk)","")
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/rules.mk)","")
 | 
			
		||||
      LAYOUTS :=
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_5)/rules.mk)
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/rules.mk)
 | 
			
		||||
      KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
 | 
			
		||||
    endif
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_4)/rules.mk)","")
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/rules.mk)","")
 | 
			
		||||
      LAYOUTS :=
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_4)/rules.mk)
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/rules.mk)
 | 
			
		||||
      KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
 | 
			
		||||
    endif
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_3)/rules.mk)","")
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/rules.mk)","")
 | 
			
		||||
      LAYOUTS :=
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_3)/rules.mk)
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/rules.mk)
 | 
			
		||||
      KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
 | 
			
		||||
    endif
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_2)/rules.mk)","")
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/rules.mk)","")
 | 
			
		||||
      LAYOUTS :=
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_2)/rules.mk)
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/rules.mk)
 | 
			
		||||
      KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
 | 
			
		||||
    endif
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_1)/rules.mk)","")
 | 
			
		||||
    ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/rules.mk)","")
 | 
			
		||||
      LAYOUTS :=
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_1)/rules.mk)
 | 
			
		||||
      $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/rules.mk)
 | 
			
		||||
      KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
 | 
			
		||||
    endif
 | 
			
		||||
 | 
			
		||||
    LAYOUT_KEYMAPS :=
 | 
			
		||||
    $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.)))))
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    KEYMAPS := $$(sort $$(KEYMAPS) $$(LAYOUT_KEYMAPS))
 | 
			
		||||
 | 
			
		||||
    # if the rule after removing the start of it is empty (we haven't specified a kemap or target)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue