forked from forks/qmk_firmware
Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
commit
525be128c9
73
Makefile
73
Makefile
|
@ -68,37 +68,8 @@ PATH_ELEMENTS := $(subst /, ,$(STARTING_DIR))
|
||||||
# Initialize the path elements list for further processing
|
# Initialize the path elements list for further processing
|
||||||
$(eval $(call NEXT_PATH_ELEMENT))
|
$(eval $(call NEXT_PATH_ELEMENT))
|
||||||
|
|
||||||
# This function sets the KEYBOARD; KEYMAP and SUBPROJECT to the correct
|
|
||||||
# variables depending on which directory you stand in.
|
|
||||||
# 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)
|
|
||||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
|
||||||
# KEYBOARD := $(CURRENT_PATH_ELEMENT)
|
|
||||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
|
||||||
# # If we are in a subfolder of keymaps, or in other words in a keymap
|
|
||||||
# # folder
|
|
||||||
# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
|
|
||||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
|
||||||
# KEYMAP := $(CURRENT_PATH_ELEMENT)
|
|
||||||
# # else if we are not in the keyboard folder itself
|
|
||||||
# else ifneq ($(CURRENT_PATH_ELEMENT),)
|
|
||||||
# # the we can assume it's a subproject, as no other folders
|
|
||||||
# # should have make files in them
|
|
||||||
# SUBPROJECT := $(CURRENT_PATH_ELEMENT)
|
|
||||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
|
||||||
# # if we are inside a keymap folder of a subproject
|
|
||||||
# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
|
|
||||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
|
||||||
# KEYMAP := $(CURRENT_PATH_ELEMENT)
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
|
# Phony targets to enable a few simple make commands outside the main processing below.
|
||||||
.PHONY: list-keyboards
|
.PHONY: list-keyboards
|
||||||
list-keyboards:
|
list-keyboards:
|
||||||
util/list_keyboards.sh | sort -u | tr '\n' ' '
|
util/list_keyboards.sh | sort -u | tr '\n' ' '
|
||||||
|
@ -131,7 +102,6 @@ endif
|
||||||
# Uncomment these for debugging
|
# Uncomment these for debugging
|
||||||
# $(info Keyboard: $(KEYBOARD))
|
# $(info Keyboard: $(KEYBOARD))
|
||||||
# $(info Keymap: $(KEYMAP))
|
# $(info Keymap: $(KEYMAP))
|
||||||
# $(info Subproject: $(SUBPROJECT))
|
|
||||||
|
|
||||||
|
|
||||||
# Set the default goal depending on where we are running make from
|
# Set the default goal depending on where we are running make from
|
||||||
|
@ -189,7 +159,6 @@ endef
|
||||||
# A recursive helper function for finding the longest match
|
# A recursive helper function for finding the longest match
|
||||||
# $1 The list to be checked
|
# $1 The list to be checked
|
||||||
# It works by always removing the currently matched item from the list
|
# It works by always removing the currently matched item from the list
|
||||||
# and call itself recursively, until a match is found
|
|
||||||
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2
|
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2
|
||||||
# Stop the recursion when the list is empty
|
# Stop the recursion when the list is empty
|
||||||
ifneq ($1,)
|
ifneq ($1,)
|
||||||
|
@ -386,23 +355,6 @@ define PARSE_ALL_KEYBOARDS
|
||||||
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell util/list_keyboards.sh noci | sort -u)))
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell util/list_keyboards.sh noci | sort -u)))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# $1 Subproject
|
|
||||||
# When entering this, the keyboard and subproject are known, so now we need
|
|
||||||
# to determine which keymaps are going to get compiled
|
|
||||||
# define PARSE_SUBPROJECT
|
|
||||||
|
|
||||||
# endef
|
|
||||||
|
|
||||||
# If we want to parse all subprojects, but the keyboard doesn't have any,
|
|
||||||
# then use defaultsp instead
|
|
||||||
# define PARSE_ALL_SUBPROJECTS
|
|
||||||
# ifeq ($$(SUBPROJECTS),)
|
|
||||||
# $$(eval $$(call PARSE_SUBPROJECT,defaultsp))
|
|
||||||
# else
|
|
||||||
# $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS)))
|
|
||||||
# endif
|
|
||||||
# endef
|
|
||||||
|
|
||||||
# Prints a list of all known keymaps for the given keyboard
|
# Prints a list of all known keymaps for the given keyboard
|
||||||
define LIST_ALL_KEYMAPS
|
define LIST_ALL_KEYMAPS
|
||||||
COMMAND_true_LIST_KEYMAPS := \
|
COMMAND_true_LIST_KEYMAPS := \
|
||||||
|
@ -544,12 +496,12 @@ if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Let's match everything, we handle all the rule parsing ourselves
|
# Catch everything and parse the command line ourselves.
|
||||||
.PHONY: %
|
.PHONY: %
|
||||||
%:
|
%:
|
||||||
# Check if we have the CMP tool installed
|
# Check if we have the CMP tool installed
|
||||||
cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
|
cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
|
||||||
# Ensure that bin/qmk works. This will be a failing check after the next develop merge on 2020 Aug 29.
|
# Ensure that bin/qmk works. This will be a failing check after the next develop merge
|
||||||
if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
|
if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
|
||||||
# Check if the submodules are dirty, and display a warning if they are
|
# Check if the submodules are dirty, and display a warning if they are
|
||||||
ifndef SKIP_GIT
|
ifndef SKIP_GIT
|
||||||
|
@ -580,25 +532,6 @@ endif
|
||||||
$(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
|
$(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
|
||||||
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
|
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
|
||||||
|
|
||||||
# These no longer work because of the colon system
|
|
||||||
|
|
||||||
# All should compile everything
|
|
||||||
# .PHONY: all
|
|
||||||
# all: all-keyboards test-all
|
|
||||||
|
|
||||||
# Define some shortcuts, mostly for compatibility with the old syntax
|
|
||||||
# .PHONY: all-keyboards
|
|
||||||
# all-keyboards: all\:all\:all
|
|
||||||
|
|
||||||
# .PHONY: all-keyboards-defaults
|
|
||||||
# all-keyboards-defaults: all\:default
|
|
||||||
|
|
||||||
# .PHONY: test
|
|
||||||
# test: test-all
|
|
||||||
|
|
||||||
# .PHONY: test-clean
|
|
||||||
# test-clean: test-all-clean
|
|
||||||
|
|
||||||
lib/%:
|
lib/%:
|
||||||
git submodule sync $?
|
git submodule sync $?
|
||||||
git submodule update --init $?
|
git submodule update --init $?
|
||||||
|
|
Loading…
Reference in a new issue